チームごとに異なるツールを提供するマルチテナントMCPゲートウェイを構築する
使うタイミング: デザインチームとエンジニアリングチームで異なるMCPが必要だが、ゲートウェイを2つ運用したくない場合。
前提条件
- Node 20+またはDockerが動作するホスト — 小規模なVMで可
- OAuth IdP(ローカル用にはビルトインも利用可) — Dex、Auth0、Okta — OIDCに対応していれば何でも可
フロー
-
エージェント設定でスコープを定義するDraft an agent config where 'design' scope exposes figma and davinci-resolve MCPs, 'eng' scope exposes github, sentry, postgres.✓ コピーしました→ スコープ付きアップストリームマッピングの設定ファイル
-
OAuthを接続するConnect the agent to our Auth0 tenant, map groups to scopes.✓ コピーしました→ ユーザーが自分のスコープのツールのみ表示される
-
利用状況を監査するShow me the last 24h of tool calls by user, grouped by tool name.✓ コピーしました→ 利用状況レポート
結果: 1つのゲートウェイで、チームごとのツールビューと完全な監査証跡を実現。
注意点
- スコープ設計がすぐに複雑化する — ツールごとのスコープではなく、2〜3個の大まかなスコープ(eng-read、eng-write、designなど)から始める
- 監査ログがディスク容量を圧迫する — ログを週次でローテーションするか、ログアグリゲーターに転送する