ANTIGRAVITY LABEN
記事一覧/Editor View
Editor View/2026-09-21中級

MCP の設定に赤い波線が並んだ夜、直す前に確かめたこと

設定ファイルに赤い波線が並んでも、サーバーが動いていないとは限りません。エディタのスキーマ検証が答えている問いと、実際に起動しているかどうかは別です。/mcp の状態リングから確かめる順番を書き残します。

Antigravity IDEMCP26mcp_config.jsonスキーマ検証設定10

金曜の夜、IDE を開いたところ、MCP の設定ファイルに赤い波線が並んでおりました。登録してあるサーバーの数だけ、同じ一文が繰り返されております。Additional properties are not allowed ('$typeName' was unexpected)

手が止まりました。週末に回すつもりだった処理が、全部そこで止まるのだと思ったのです。

念のためエージェントに小さな用事を一つ頼んでみますと、そのサーバーのツールはふつうに返ってまいりました。赤かったのは設定ファイルの表示だけで、実行の側は何も欠けていなかったのです。

直す前に確かめます。その順番を逆にしていたのだと気づいたのは、三十分ほど溶かしたあとでした。

赤い表示が答えているのは、別の問いです

エディタが出す波線は、同梱されている JSON スキーマに設定ファイルを照らした結果です。一方で、実際に MCP サーバーを起動して接続するのは、そのスキーマを経由しない別の経路です。

スキーマが additionalProperties: false(宣言していないキーを許さない)で書かれている場合、知らないキーがひとつ混ざっているだけで、そのサーバーの定義全体が赤くなります。中身が正しいかどうかは、そこでは問われておりません。

エディタが答えているのは「スキーマに載っている書き方か」であって、「いま動いているか」ではありません。 この区別を置き違えていたのが、私の三十分でした。

/mcp の状態リングが、動いているかどうかを答えます

公式ドキュメントによれば、プロンプトパネルで /mcp と入力して Enter を押すと、MCP Manager のオーバーレイが開きます。ここには接続中・切断・読み込み中を示す状態リングと、リアルタイムの接続ログが出ます。設定ファイルの見た目ではなく、接続そのものを見るための場所です。

私が踏んでいる順番は、ほんの四段です。

  1. /mcp を開きます
  2. 赤い波線が出ていたサーバー名の状態リングを見ます
  3. 接続中であれば、赤は表示側の問題として保留します
  4. 切断であれば、その場で接続ログを開きます

ログまで開いてから設定ファイルへ戻ると、直すべき行がだいたい一行か二行に絞れております。反対に、ログを見ないまま設定ファイルを直し始めますと、動いていたものまで触ってしまいます。

なお、ツールが最初から欠けたまま会話が始まってしまった場合の見切り方は、MCP が欠けたまま始まったセッションを、どこで止めるか に別途まとめております。

二つのアプリが、同じ一つのファイルを見ておりました

公式の MCP ドキュメントは、設定の置き場所を二段に分けています。グローバルは ~/.gemini/config/mcp_config.json、ワークスペース単位は作業中のプロジェクト直下の .agents/mcp_config.json です。

問題は、同じマシンに Antigravity 2.0 と Antigravity IDE の両方を入れている場合に、グローバル側を二つのアプリが共有してしまう点にあります。

報告されている例では、2.0 が書き込む $typeName(Protobuf の型識別子)を、IDE に同梱されたスキーマが未知のキーとして弾きます。実際に書き込まれているのは、こういう形です。

{
  "mcpServers": {
    "github": {
      "$typeName": "…",
      "serverUrl": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

ここで $typeName の行だけを消しますと、その場の赤は消えます。ところが 2.0 の側がこのファイルを書き直したときに同じキーが戻り、赤も戻ります。手作業で消して回ると、消した回数だけ同じ夜を繰り返すことになります。

私は消すのをやめて、いまは 設定ファイルを直す前に、そのファイルを書いているのが誰かを先に確かめる ことにしております。自分が書いた行であれば直します。別のアプリが生成している行であれば、赤のまま置いて /mcp の状態だけを信用します。

この報告は antigravity-cli の Issue #986 で追えます。修正の提案はスキーマ側で $typeName を明示的に許す形になっており、直っていないうちは表示が赤いままです。

黙って通ってしまう書き方のほうが、こわいのです

逆の取り違えもあります。エディタは何も言わないのに、サーバーが動いていない場合です。こちらのほうが気づくのに時間がかかります。

いちばん踏みやすいのは、リモート接続のキー名です。公式ドキュメントは、SSE・Streamable HTTP・WebSocket のいずれで宣言する場合も serverUrl を定義するよう明記しており、urlhttpUrl といった旧来の書き方は対応していないとしています。

{
  "mcpServers": {
    "my-remote-server": {
      "url": "https://api.example.com/mcp/"
    }
  }
}
{
  "mcpServers": {
    "my-remote-server": {
      "serverUrl": "https://api.example.com/mcp/",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

他所の設定例を持ってきたときに、この一語だけが残っていることがあります。JSON として壊れてはおりませんので、エディタは黙っています。エージェントの側は、そのサーバーが無いものとして進みます。

同じ質の見落としとして、disabled: true を付けたまま忘れている場合と、disabledTools で必要なツール名を外したままにしている場合があります。どちらも公式に用意されているキーですので、スキーマ検証は通ります。通るからこそ、目で追う対象から外れてしまうのです。

起動前に設定ファイル側をまとめて点検する書き方は、MCP サーバーが1本も起動しない原因は、起動前の 40 行で特定できます に置いてあります。あわせてご覧いただけましたら幸いです。

赤を見たときに、私がたどる順番

四つの症状で分けております。表にしておきます。

目にしているもの 先に見る場所 そこで分かること 次の一手
設定ファイルが赤い/ツールは返ってくる /mcp の状態リング 接続中であれば表示側の問題です 触らず保留し、書き込み元を特定します
設定ファイルが赤い/ツールも返らない /mcp の接続ログ 起動に失敗した実際の行が出ます ログに出た一行だけを直します
赤は無い/ツールが一覧に出ない キー名(serverUrl)と disabled スキーマを通る取り違えが見つかります 公式の設定構造と1項目ずつ突き合わせます
赤は無い/一部のツールだけ出ない disabledTools と権限の設定 意図して外したものか判別できます 外した理由を思い出せなければ戻します

表にしてみますと、どの行でも最初の一手が「設定ファイルを開く」ではないことが分かります。私はこの順番を紙に書いて、モニタの端に貼っております。赤い波線を見た瞬間に、指がファイルへ伸びてしまうからです。

Lab のサイトと個人開発のアプリを並行して回しておりますと、こうした「赤いけれど動いている」「静かだけれど動いていない」の取り違えは、どの道具でも起こります。表示は補助で、実際に動いた証跡が本体なのだと、いまも自分に言い聞かせております。

次に赤い波線を見つけたときは、ファイルを閉じて /mcp をひとつ叩くところから始めていただければと思います。私はそれだけで、週末をひとつ取り戻しました。

最後までお読みいただき、ありがとうございました。

シェア

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

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

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

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Editor View2026-03-10
VS Code × Antigravity 移行・連携ガイド — 既存の開発環境を AI IDE にスムーズに移行する
VS Code のフォークとして生まれた Antigravity へ、既存の開発環境をスムーズに移す方法です。移行前の準備、設定の移行、拡張機能の互換性と対策、両者を併用するテクニック、トラブルシューティングと移行チェックリストを用意しました。
連携・プラグイン2026-08-22
設定ファイルを開かずに MCP サーバーを足す — agy mcp サブコマンドで構成を持ち運ぶ
8月20日の Antigravity CLI 1.1.16 で mcp サブコマンドが追加され、MCP サーバーの追加と切り替えを設定ファイルの手編集なしに行えるようになりました。stdio と HTTP それぞれの登録手順、障害の切り分け方、構成を別のマシンへ運ぶスクリプト化までをまとめます。
連携・プラグイン2026-08-20
MCP サーバーが1本も起動しない原因は、起動前の 40 行で特定できます
設定ファイルの1件の書き間違いで MCP サーバーが揃って起動しなくなる状況を、起動前に検査する小さなスクリプトで潰す手順です。実際に壊した設定へ通した出力と、JSON の同名キーが黙って消える落とし穴まで扱います。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます