中級管理者
MCP ツールガバナンス:誰がどのツールを呼べるかを 1 つの権限面で
外部の MCP サーバーをゲートウェイの 1 つの /mcp エンドポイントの背後に集約し、キーグループ単位のツール allow/deny とラベルフィルターを適用。呼び出し / 違反 / セッションは完全に監査されます。
コミュニティが実際に不満を言っていること
エージェントフレームワークを多数の MCP サーバーに接続すると、権限が発散します。誰がどのツールを呼べるかを統一的に制御できず、問題が起きたときの監査証跡もありません。エージェントごとに個別設定すると、認証情報が散らばりポリシーがずれていきます。
「Claude Code を特定の MCP ツールだけに制限するには」は、プラットフォームチームから繰り返し出る質問です。
GateLLM の実現方法
GateLLM には MCP プロキシが内蔵されています。複数の外部 MCP ツールサーバー(streamable HTTP / SSE)を 1 つの /mcp エンドポイントの背後に集約し、エンドポイント、認証ヘッダー(そのまま転送)、ラベル、優先度、遅延読み込みを一度だけ設定します。キーグループは allow/deny リスト(deny が優先)とラベルフィルターでツールを統制します。モデルを統制するのと同じ ACL 面です。
ツール一覧が長くなると、コンテキスト予算で絞り込み、組み込みの BM25 検索で関連ツールを見つけます。MCP ツールの呼び出し、アクセスルールの違反、セッションの確立はすべて監査ログに残ります。
MCP サーバーの認証情報がエージェントに渡ることはありません。ツールへのアクセスはゲートウェイのキーグループで付与・取り消しします。
実際に効果が出る 5 つのレバー
- サーバー集約:streamable HTTP / SSE の MCP サーバーを 1 つの /mcp エンドポイントの背後に
- 遅延読み込み:ツールは初回利用時に検出され、起動コストと攻撃面を削減
- ツール単位の ACL:キーグループ単位の allow/deny(deny が allow を上書き)、ラベルフィルターは一括適用
- コンテキスト予算 + BM25:長いツール一覧を予算に合わせて絞り、関連ツールを検索で特定
- 完全監査:ツール呼び出し / アクセス違反 / セッション確立をログに残し、エクスポート可能