Deploying MCP Servers
Deploy a custom MCP server by providing a Docker image that implements the MCP Streamable HTTP Transport protocol.
From the UI
Section titled “From the UI”- Navigate to MCP Servers in the sidebar
- Click New Server
- Fill in the form:
| Field | Required | Description |
|---|---|---|
| Name | Yes | Unique identifier (lowercase, alphanumeric, hyphens) |
| Image | Yes | Docker image to deploy (e.g., myregistry/my-mcp-server:latest) |
| Port | No | Container port (default: 8080) |
| CPU Request | No | CPU cores to request |
| Memory Request | No | Memory to request |
- Click Deploy
Server URL
Section titled “Server URL”The MCP server is accessible at:
https://<domain>/mcp/<name>/The platform configures a Traefik ingress rule to proxy requests to the server.
Protocol Requirements
Section titled “Protocol Requirements”Your MCP server must implement the MCP Streamable HTTP Transport specification:
- Accept
POSTrequests at/mcp(or your configured path) - Handle JSON-RPC 2.0 messages
- Support the MCP
initialize,tools/list, andtools/callmethods
From the Admin Chat
Section titled “From the Admin Chat”Use the Admin Chat assistant to deploy servers via natural language:
Deploy a new MCP server called "weather-tools" using image weather-mcp:latestEnvironment Variables
Section titled “Environment Variables”To pass environment variables (API keys, config) to your MCP server, edit the Deployment after creation:
kubectl set env deployment/<server-name> \ API_KEY=your-key \ -n appsHealth Checks
Section titled “Health Checks”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.
Deleting an MCP Server
Section titled “Deleting an MCP Server”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).