How to run a shared MCP gateway for your team
언제 쓸까: You've found 5+ MCPs that everyone on the team should use, and re-explaining the stdio config to each hire is eating your week.
사전 조건
- A VM or container host reachable by every team member — Any small EC2/Fly/Hetzner box; 512MB RAM is plenty
- Docker installed on that host — curl -fsSL https://get.docker.com | sh
흐름
-
Write a config.json listing every upstream MCP the team needsDraft a mcp-proxy config.json that aggregates github, sentry, postgres (read-only replica), and filesystem (scoped to /data). Give each a unique namespace.✓ 복사됨→ Valid config with namespaced server entries
-
Run mcp-proxy in Docker on the shared hostWrite the docker run command to launch ghcr.io/tbxark/mcp-proxy on port 9090 mounting config.json, with restart=always and a healthcheck.✓ 복사됨→ Container stays up; /health returns 200
-
Give teammates one URL to paste into every clientWrite a 5-line onboarding snippet teammates paste into Claude Desktop's config to point at our shared proxy URL.✓ 복사됨→ Any teammate gets all upstream tools in one step
결과: New hires reach full MCP parity in 2 minutes by pasting one URL; upgrades happen in one place.
함정
- Putting the proxy on the public internet without auth — Terminate TLS and auth at a reverse proxy (Caddy/nginx/Cloudflare) in front — mcp-proxy has no auth layer
- Upstream tool names collide (two servers both expose get_issue) — Use namespacing so clients see github.get_issue vs gitlab.get_issue