チーム共有のMCPゲートウェイを構築する方法
使うタイミング: チーム全員が使うべきMCPが5つ以上あり、新しいメンバーにstdio設定を毎回説明するのに時間を取られている場合。
前提条件
- チームメンバー全員がアクセスできるVMまたはコンテナホスト — 小規模なEC2/Fly/Hetznerインスタンスで十分。512MB RAMで足ります
- そのホストにDockerがインストールされていること — curl -fsSL https://get.docker.com | sh
フロー
-
チームが必要とする全アップストリームMCPを記載したconfig.jsonを作成するgithub、sentry、postgres(読み取り専用レプリカ)、filesystem(/dataにスコープ)を集約するmcp-proxyのconfig.jsonを作成してください。それぞれにユニークな名前空間を付けてください。✓ コピーしました→ 名前空間付きサーバーエントリを含む有効な設定ファイル
-
共有ホスト上でmcp-proxyをDockerで起動するghcr.io/tbxark/mcp-proxy をポート9090でconfig.jsonをマウントして起動するdocker runコマンドを書いてください。restart=alwaysとヘルスチェック付きで。✓ コピーしました→ コンテナが稼働を維持し、/healthが200を返す
-
チームメンバーに各クライアントに貼り付ける1つのURLを共有するチームメンバーがClaude Desktopの設定に貼り付けて共有プロキシURLに接続するための5行のオンボーディングスニペットを書いてください。✓ コピーしました→ どのチームメンバーも1ステップで全アップストリームツールを取得できる
結果: 新しいメンバーが1つのURLを貼り付けるだけで2分でMCPの完全な環境を手に入れられます。アップグレードも一箇所で完結します。
注意点
- 認証なしでプロキシを公開インターネットに配置する — mcp-proxyには認証レイヤーがないため、手前にリバースプロキシ(Caddy/nginx/Cloudflare)を配置してTLS終端と認証を行ってください
- アップストリームのツール名が衝突する(2つのサーバーが共にget_issueを公開) — 名前空間を使用して、クライアントにはgithub.get_issue vs gitlab.get_issueとして見えるようにする