ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
連携・プラグイン/2026-06-22上級

エージェントに渡すMCPツールを絞る — 最小権限の許可リスト設計

Antigravity 2.0 に MCP サーバーを足していくと、各エージェントが触れるツールはいつの間にか「全部入り」になります。読み取りしか必要ないエージェントに削除系ツールまで見えている状態は、いつか事故を起こします。ツールをエージェント単位の許可リストで絞り、呼び出し直前で弾き、破壊的操作だけ二段階にする最小権限の設計を、動くPython実装と運用の所感つきでまとめました。

Antigravity258MCP16最小権限2セキュリティ設計2本番運用15

プレミアム記事

読み取りだけを任せていたバックグラウンドのエージェントが、ある日ファイル削除のツールを握っていることに気づいた、という出来事がありました。実際に消したわけではありません。ただ、必要のない権限がいつの間にか手の届くところに置かれていた、というその一点が、しばらく頭から離れませんでした。

Antigravity 2.0 に MCP サーバーを足していくと、こういう状態は自然に生まれます。サーバーを一つ繋ぐたびに、そのサーバーが公開するツールが「使えるツール」の山に積み上がります。山は全エージェントから同じように見えていて、誰がどれを使ってよいかの線引きは、どこにも書かれていません。

ここで扱うのは、その線引きをコードに落とす設計です。鍵になる考え方は最小権限、つまり「各エージェントには、その仕事に要るツールだけを見せる」という一点に尽きます。

「全部入り」のツールセットが事故を生む構造

まず、なぜ放っておくと危ないのかを具体的に置いておきます。

MCP の便利さは、サーバーを繋げば公開ツールがそのまま使える点にあります。ファイル操作、シェル実行、外部 API、データベース、課金。繋いだ数だけツールは増えます。問題は、その増えたツールが「役割で仕分けされないまま」全エージェントに見えてしまうところにあります。

夜間に走らせる集計エージェントに必要なのは、読み取りと集計だけです。けれども同じ環境にデプロイ系や削除系のツールが同居していると、モデルが文脈を読み違えた瞬間に、本来触るはずのないツールへ手が伸びる余地が残ります。レビューのないバックグラウンド実行では、その余地がそのまま事故の入り口になります。

権限を絞らない設計は、二つの理由で外れます。読み取りだけのエージェントに破壊的ツールを見せれば、誤爆の確率がゼロより大きくなります。逆に全エージェントの権限を一律で狭めれば、本当に必要なエージェントまで仕事ができなくなります。役割ごとに線を引く以外に、両方を満たす道はありません。

許可リストはエージェント単位で持つ

設計の中心に置くのは、エージェントの役割ごとに「見せてよいツール」を列挙した許可リストです。ツール側ではなくエージェント側に権限を持たせるのが要点になります。

エージェントの役割許可するツール禁止するツール
集計・レポート(読み取り専用)read_file, list_dir, query_db_readonlywrite_file, run_shell, deploy, delete_*
記事ビルド(書き込みあり)read_file, write_file, run_buildrun_shell, deploy, charge_*, delete_*
デプロイ(破壊的・要承認)read_file, deploy(二段階)delete_db, charge_*

表の縦軸は役割、横軸は許可と禁止です。同じツール群でも、役割が違えば見える範囲が変わるのがこの設計の眼目になります。デフォルトは「禁止」とし、明示的に並べたものだけを通す——いわゆる deny by default を貫くと、新しいツールを繋いだ瞬間に全エージェントへ漏れる事故を防げます。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
MCPサーバーを増やすほど各エージェントの可視ツールが膨らむ構造を整理し、ツールをエージェント単位の許可リスト(allowlist)で絞るレジストリ設計を、そのまま組み込めるPython実装として示します
ツール呼び出しの直前で許可を判定するラッパーと、削除・課金・デプロイのような破壊的ツールだけを二段階承認にするゲートを、実際のコードと判定の優先順位つきで提供します
誰が何を許可されていたかを後から追える監査ログの最小形と、許可リストを運用しながら安全に育てる手順を、個人開発で4サイトを自動運用してきた実体験から共有します
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

連携・プラグイン2026-06-01
Antigravity の MCP サーバーが spawn npx ENOENT で起動しないときの原因と対処
Antigravity に MCP サーバーを追加した直後、ログに spawn npx ENOENT と出てサーバーが起動しない症状の原因と直し方をまとめます。設定 JSON は正しいのに GUI からだけ失敗する PATH 非継承の問題に絞った診断手順です。
連携・プラグイン2026-03-28
Antigravity × MCP で外部APIを統合した独自AIエージェントを構築する
Antigravity の MCP(Model Context Protocol)を活用し、外部REST APIやWebhookを統合した独自AIエージェントの構築方法を実践的に解説。設計から実装、デバッグ、本番運用までをカバーします。
連携・プラグイン2026-03-22
Antigravityでストアアセット制作環境を構築する — Stitch×Figma×MCP統合ワークスペース
AntigravityにStitch・Figma・MCPを統合してApp Store・Google Playのアセット制作環境を構築する方法を解説します
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →