Claude Desktop Γ MCP Gateway¶
Claude Desktop can launch a local stdio process for every chat "backend". By pointing it at mcpgateway.wrapper
you give Claude instant access to every tool, prompt and resource registered in your Gateway.
π Where to edit the config¶
OS | Path |
---|---|
macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
Windows | %APPDATA%\Claude\claude_desktop_config.json |
Linux (Flatpak / AppImage) | $HOME/.config/Claude/claude_desktop_config.json |
βοΈ Minimal JSON block¶
{
"mcpServers": {
"mcpgateway-wrapper": {
"command": "python3",
"args": ["-m", "mcpgateway.wrapper"],
"env": {
"MCP_SERVER_URL": "http://localhost:4444/servers/UUID_OF_SERVER_1",
"MCP_AUTH": "<YOUR_JWT_TOKEN>",
"MCP_TOOL_CALL_TIMEOUT": "120"
}
}
}
}
Use the real server ID instead of
1
and paste your bearer token.
π³ Docker alternative¶
{
"command": "docker",
"args": [
"run", "--rm", "--network=host", "-i",
"-e", "MCP_SERVER_URL=http://localhost:4444/servers/UUID_OF_SERVER_1",
"-e", "MCP_AUTH=<YOUR_JWT_TOKEN>",
"ghcr.io/ibm/mcp-context-forge:0.6.0",
"python3", "-m", "mcpgateway.wrapper"
]
}
(Mac / Windows users should replace localhost
with host.docker.internal
.)
β‘ pipx / uvx one-liner (wrapper already installed)¶
If you installed the package globally:
{
"command": "pipx",
"args": ["run", "python3", "-m", "mcpgateway.wrapper"],
"env": {
"MCP_SERVER_URL": "http://localhost:4444/servers/UUID_OF_SERVER_1",
"MCP_AUTH": "<YOUR_JWT_TOKEN>"
}
}
π§ͺ Smoke-test inside Claude¶
- Restart Claude Desktop (quit from system-tray).
- Select "mcpgateway-wrapper" in the chat dropdown.
- Type:
If tools don't appear, open File βΈ Settings βΈ Developer βΈ View Logs to see wrapper output.
π Environment variables recap¶
Var | Purpose |
---|---|
MCP_SERVER_URL | One or more /servers/{id} endpoints (comma-sep) |
MCP_AUTH | JWT bearer for Gateway auth |
MCP_TOOL_CALL_TIMEOUT | Per-tool timeout (seconds, optional) |
MCP_WRAPPER_LOG_LEVEL | DEBUG , INFO , OFF (optional) |
You can place them:
- under
"env"
in the mcpServers block (preferred) - in your user/environment shell before launching Claude.