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

MCP を束ねると read_file が 3 つになる — ツール名の衝突を起動前に落とす

複数の MCP サーバーを束ねるとツール名は静かに衝突します。5 サーバー 21 ツールの構成で 43% が衝突していた実測と、起動前に検出して決定的な別名を割り当てる Python プリフライトの設計をまとめました。

MCP19Antigravity342エージェント運用11設計13CLI4

プレミアム記事

「添付した仕様書を読んで、差分を要約してください」と頼みました。

返ってきたのは、まったく別のファイルの中身でした。ローカルの作業ディレクトリにある、名前が少し似ているだけの JSON です。

エージェントは間違えたと思っていません。ログを見ると read_file を呼び、成功を受け取り、その内容で要約を組み立てています。処理としては何ひとつ失敗していません。

手元の設定を数えて、ようやく理由が分かりました。私の構成には read_file という名前のツールが、別々のサーバーに 3 つありました。

初期化が落ちなくなったぶん、失敗が静かになりました

Antigravity 2.4.2 では、カスタマイズしたツール名が重複しているとエージェントの初期化そのものが失敗する不具合が修正されました。詳細は Antigravity の changelog に載っています。

修正としては正しい方向です。設定の書き間違いひとつで起動しなくなる状態は、無人で回す運用には向きません。

ただ、私にとっては予想と逆の結果になりました。

修正前の衝突は、起動時に大きな音を立てて止まってくれていました。何かがおかしいと即座に分かります。修正後の衝突は、起動が通り、ツール一覧が出そろい、エージェントが動き、そして片方のツールがもう片方を静かに覆い隠します。

壊れ方が「止まる」から「間違った答えを返す」に変わりました。運用の観点では、後者のほうがずっと厄介です。止まったものは気づけますが、それらしい答えを返してくるものは、何日も気づけません。

私はこの一件以降、MCP サーバーを 1 本足すたびに、必ず衝突検査を通すようにしています。

衝突は 3 つの層に分かれます

数えてみると、ひとくちに「名前がぶつかる」と言っても性質が違うものが混ざっていました。層を分けないと、機械で処理できる範囲と人が判断すべき範囲の線が引けません。

完全一致

read_fileread_file のように、文字列として同一のもの。これは機械で確実に検出でき、機械で改名しても意味が壊れません。自動処理の対象です。

意味的な近接

read_fileget_file_contents のように、名前は違うのに役割がほぼ同じもの。エージェントから見ると、どちらを選んでも成立してしまいます。

これは自動で改名できません。「同じ役割の 2 つを両方持つ必要が本当にあるのか」という設計の問いに変わるためです。検出して人の目に回すところまでが機械の仕事になります。

説明文の重なり

名前は違い、役割も違うのに、description の書き出しが似ているもの。エージェントはツール選択に説明文も使うため、ここが似ていると選択がぶれます。

3 層目は静的な検査では拾いきれない部分が残ります。今回のプリフライトでは 1 層目を自動処理、2 層目を警告として出し、3 層目は対象外としました。

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

この記事の続きを読む

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

この記事で得られること
5 サーバー 21 ツールの構成で、43% のツール名が他サーバーと完全一致していた実測結果
衝突を起動前に落とす Python プリフライト(305 ツールで 28 ミリ秒・キー順を変えても同一出力)
全ツールに接頭辞を付けると名前の総量が 76% 増える。衝突分だけに絞ると 35% で収まる比較
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

連携・プラグイン2026-06-22
エージェントに渡すMCPツールを絞る — 最小権限の許可リスト設計
Antigravity 2.0 に MCP サーバーを足していくと、各エージェントが触れるツールはいつの間にか「全部入り」になります。読み取りしか必要ないエージェントに削除系ツールまで見えている状態は、いつか事故を起こします。ツールをエージェント単位の許可リストで絞り、呼び出し直前で弾き、破壊的操作だけ二段階にする最小権限の設計を、動くPython実装と運用の所感つきでまとめました。
連携・プラグイン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エージェントの構築方法を実践的に解説。設計から実装、デバッグ、本番運用までをカバーします。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →