Skip to content

Deploying MCP Servers

Deploy a custom MCP server by providing a Docker image that implements the MCP Streamable HTTP Transport protocol.

  1. Navigate to MCP Servers in the sidebar
  2. Click New Server
  3. Fill in the form:
FieldRequiredDescription
NameYesUnique identifier (lowercase, alphanumeric, hyphens)
ImageYesDocker image to deploy (e.g., myregistry/my-mcp-server:latest)
PortNoContainer port (default: 8080)
CPU RequestNoCPU cores to request
Memory RequestNoMemory to request
  1. Click Deploy

The MCP server is accessible at:

https://<domain>/mcp/<name>/

The platform configures a Traefik ingress rule to proxy requests to the server.

Your MCP server must implement the MCP Streamable HTTP Transport specification:

  • Accept POST requests at /mcp (or your configured path)
  • Handle JSON-RPC 2.0 messages
  • Support the MCP initialize, tools/list, and tools/call methods

Use the Admin Chat assistant to deploy servers via natural language:

Deploy a new MCP server called "weather-tools" using image weather-mcp:latest

To pass environment variables (API keys, config) to your MCP server, edit the Deployment after creation:

Terminal window
kubectl set env deployment/<server-name> \
API_KEY=your-key \
-n apps

The platform configures a liveness probe on the server’s HTTP endpoint. If the probe fails repeatedly, Kubernetes restarts the pod and the status changes to Starting.

Click the Delete button in the server row. This removes the Deployment, Service, and Ingress rule. No persistent data is deleted (MCP servers are stateless by default).