Your existing config, unchanged
/config/mcp.json is exactly Claude Code's mcpServers format. Copy entries over 1:1 — stdio commands, environment variables and native http/sse upstreams all work.
Configuration reference
Serve many stdio MCP servers over one HTTPS endpoint for ChatGPT, Claude, Le Chat, Cursor and any other MCP client — with the Claude Code config format you already have, path-based routing, a context-friendly aggregate endpoint, OAuth 2.1 and API tokens.
/config/mcp.json is exactly Claude Code's mcpServers format. Copy entries over 1:1 — stdio commands, environment variables and native http/sse upstreams all work.
Configuration reference
Every server gets its own Streamable HTTP endpoint at /«name»/mcp. Register the servers you use most as individual connectors, with no extra container per server.
Endpoint reference
A single connector that exposes every server through four meta-tools — so your model's context holds 4 tool schemas instead of N×tools.
Meta-tool reference
Dynamic client registration, PKCE, one password, explicit per-client approval, 15-minute access tokens and rotating refresh tokens with reuse detection.
Security model
Children are spawned at boot, pinged every 60 s and restarted with exponential backoff. A dead server answers 503 on its path — never silence.
How it works
One Node process, no database — state is one JSON file plus a JWT key on a volume — and a stateless transport that cannot leak processes. Multi-arch images (amd64/arm64) run comfortably on a single-board computer.
Architecture
mkdir -p data && sudo chown -R 1000:1000 data # the container runs as uid 1000
docker run -d --name mcp-hub \
-p 127.0.0.1:7690:80 \
-e EXTERNAL_URL="https://mcp.example.net" \
-e PASSWORD_HASH="$(htpasswd -bnBC 10 '' 'yourpassword' | tr -d ':\n')" \
-e TRUSTED_PROXIES="192.168.1.0/24" \
-v "$PWD/mcp.json:/config/mcp.json:ro" \
-v "$PWD/data:/data" \
ghcr.io/ni-c/mcp-hub:0.6.0Point a reverse proxy with a TLS certificate at 127.0.0.1:7690, then add https://mcp.example.net/hub as a custom connector in your MCP client — ChatGPT, Claude, Le Chat, Cursor and friends — and log in once with the password.
| If you want to… | Read |
|---|---|
| understand the problem it solves | What is mcp-hub? |
| get a working deployment | Getting started · Deployment |
write your mcp.json | Configuration |
| connect ChatGPT, Claude, Cursor, an API… | Connecting clients · Client compatibility |
| run it safely on the public internet | Security |
| know what happens inside | Architecture |
| fix something that is misbehaving | FAQ & troubleshooting |