MCP Setup
DockPod runs a Model Context Protocol server so Claude, Cursor, or any other MCP-compatible AI client can inspect and manage your containers directly from a conversation.
Why a Separate Port
The MCP server listens on its own port (--mcp-addr, default :8090), separate from the main web UI/API port. This isn't incidental — MCP's SSE transport needs a connection that stays open and streams chunks as they're produced, and Fiber's fasthttp-based Flush() is a no-op under the hood, which silently buffers everything until the handler returns. Running MCP on a dedicated net/http.Server avoids that entirely.
1. Generate an API Key
Go to Settings → API Keys → Generate key, give it a name (e.g. "Claude Desktop"), and copy the key immediately — it's shown only once, in the form dp_mcp_xxxxxxxxxxxxxxxxxxxx.
2. Configure Your MCP Client
For an internet-facing server, first configure Settings → General → Domain → MCP Domain with a dedicated hostname such as mcp.example.com. This gives you a TLS-protected endpoint at https://mcp.example.com/sse without exposing a non-standard port through Cloudflare. The examples below use that recommended endpoint.
Claude Code (the CLI) supports remote SSE servers natively:
claude mcp add --transport sse DockPod https://mcp.example.com/sse \
-H "Authorization: Bearer dp_mcp_xxxxxxxxxxxxxxxxxxxx"Claude Desktop does not support a bare url/headers entry in claude_desktop_config.json — its config schema only accepts stdio servers (command/args/env). Bridge it with mcp-remote:
{
"mcpServers": {
"DockPod": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.example.com/sse",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer dp_mcp_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}Replace mcp.example.com with the MCP Domain configured in DockPod. Fully quit and reopen Claude Desktop after editing the config for it to take effect.
For local development, or when no MCP Domain has been configured yet, the original direct endpoints remain available:
http://localhost:8090/ssewhen the MCP client runs on the DockPod host.http://server-ip:8090/ssefor direct remote access (unencrypted; avoid sending a production API key over the public internet).
Changing --mcp-addr changes the fallback port and the internal target used by the HTTPS route.
3. Try It
In your AI client's conversation:
"List all my running containers" "Show logs for nginx" "Deploy my-app"
See Available Tools for the full list and which tier each requires.