Skip to main content

DIAL Deployment Manager MCP proxy configuration

The MCP proxy bridges Streamable HTTP requests to a stdio MCP server inside a managed container. Deployment Manager uses the MCP proxy artifact images during image builds; there is no separate proxy deployment or proxy URL on Admin Frontend. This reference is for platform engineers who configure DIAL Deployment Manager Backend.

What is in the images​

The Alpine Dockerfile and Debian Dockerfile build a standalone executable with PyInstaller from Python package mcp-proxy==0.10.0. The final artifact image contains that executable at /mcp_proxy.

Deployment Manager analyzes the MCP server's base image to choose the Alpine or Debian executable. Other distributions are not supported: for them, the backend stops with Unsupported distro id and builds no wrapper. Its wrapper Dockerfile copies it into the server image at /usr/local/bin/mcp-proxy and uses it as the entrypoint. The original server command becomes the subprocess command after --.

Backend image settings​

These environment variables are set on Deployment Manager Backend:

VariableSpring propertyDefault
MCP_PROXY_EXECUTABLE_IMAGE_ALPINEapp.build.mcp-proxy.images.alpineghcr.io/epam/ai-dial-deployment-manager-mcp-proxy:0.1.0-alpine
MCP_PROXY_EXECUTABLE_IMAGE_DEBIANapp.build.mcp-proxy.images.debianghcr.io/epam/ai-dial-deployment-manager-mcp-proxy:0.1.0-debian

Defaults come from the backend's 0.22.0 application configuration. For a mirrored registry, replace both references with the corresponding artifact images containing /mcp_proxy. The upstream MCP proxy configuration documents the same properties.

Runtime behavior​

The backend's wrapper starts the executable with these options:

mcp-proxy --port 8080 --host 0.0.0.0 --pass-environment --transport streamablehttp --stateless -- <original server command>
  • The HTTP listener binds to all container interfaces on port 8080.
  • --pass-environment passes the container's environment to the stdio server. Application-specific environment variables and secrets are configured on the managed MCP container, not on the artifact image.
  • --stateless selects the wrapper's stateless transport mode; it does not make the server's own application state stateless.
  • The executable is added at image-build time. Changing the backend's image variables affects subsequent wrapper builds; it does not replace the executable in an image already built.

The 0.1.0 artifact Dockerfiles use x86_64 Python build images. They are not evidence of ARM support for the wrapped executable, even though the backend itself publishes ARM64 images. Verify the artifact and workload architecture together before scheduling stdio wrappers on ARM nodes.

For the container creation workflow, see MCP containers. An HTTP-native MCP server does not require these executable images.

Further reading​