スポンサーリンク

GitHub Copilot CLIでMCPサーバーが読み込まれない?.vscode/mcp.json廃止の理由と正しい移行方法

記事内に広告が含まれています。

GitHub Copilot CLIをターミナルで使っている開発者の間で、2026年に入ってから「/mcpコマンドを実行してもMCPサーバーが一覧に出てこない」「VS Codeでは動いているのに、CLIだけ接続できない」という報告が相次ぎました。原因を辿ると、多くのケースでMCPサーバーの設定を.vscode/mcp.jsonだけに書いていたことに行き着きます。

Copilot CLIは、VS Codeが使う.vscode/mcp.jsonをこれまで”ベストエフォート”で読み込んでいましたが、その対応が不完全だったため撤廃されました。GitHub公式リポジトリのIssueにも「Breaking Change: .vscode/mcp.json is no longer supported」として報告されており、CLIのバージョン1.0.37以降でこの挙動が確認されています。本記事では、何が変わったのか、そして正しい移行先はどこかを、公式情報をもとに整理します。

スポンサーリンク

何が起きたのか:.vscode/mcp.jsonへの「ベストエフォート対応」が終了

これまでの挙動と変更の背景

もともとCopilot CLIは、VS Code用に書かれた.vscode/mcp.jsonをそのまま流用できるよう、簡易的な読み込み処理を備えていました。ただし、この処理はVS Code側の仕様変更に追従しきれておらず、正式にサポートされた機能ではありませんでした。GitHubはこの中途半端な互換性維持をやめ、Copilot CLI専用の設定ファイルだけを読み込む方式に一本化しています。

Issue #3019が示す変更の経緯

GitHub/copilot-cliリポジトリのIssue #3019「Breaking Change: .vscode/mcp.json is no longer supported」では、報告者が「VS Code用の.vscode/mcp.jsonと、CLI用の設定ファイルを二重管理しなければならなくなった」と指摘しています。このIssueはバグ報告としてオープンされていますが、GitHub側の対応方針としては、VS Code用ファイルへの暗黙的な依存をなくし、CLIが読み込む場所を明示的な専用ファイルに絞る形で決着しています。Microsoft Community Hubの公式ブログでも「Action Required(対応が必要です)」として、利用者に移行を呼びかける記事が公開されました。

スポンサーリンク

Copilot CLIが今読みに行く設定ファイルの場所

移行にあたってまず押さえておきたいのは、Copilot CLIが実際にMCPサーバー定義を探しにいく場所です。現在は次の3つ(プラグイン経由を含めると4つ)に整理されています。

プロジェクトスコープ:.mcp.json

作業中のプロジェクトのルート、あるいはCLIを起動したカレントディレクトリに置く.mcp.jsonです。個人のローカル環境だけで使うMCPサーバーや、プロジェクト固有の設定を素早く試したいときに向いています。

リポジトリ共有スコープ:.github/mcp.json

チームで同じMCPサーバー構成を共有したい場合は、.mcp.jsonではなく.github/mcp.jsonをリポジトリにコミットする設計の方が適しています。リポジトリをクローンした全員が同じMCPサーバー定義を自動的に使えるようになるため、社内ドキュメント検索用のMCPサーバーや、共通のビルドツール連携などをチーム標準として配布したい場合に有効です。

ユーザースコープ:~/.copilot/mcp-config.json

特定のプロジェクトに紐づかない、個人が横断的に使いたいMCPサーバー(例えばファイルシステム操作や個人用の外部API連携など)は、ホームディレクトリ配下の~/.copilot/mcp-config.jsonに書いておくと、どのプロジェクトで作業していても利用できます。

プラグインが持ち込むMCPサーバー

2026年8月にGA(一般提供)した「Agent Plugins 1.0」を経由してインストールしたプラグインが、MCPサーバーをあらかじめ内包しているケースもあります。この場合、MCPダッシュボード上ではそのサーバーが「プラグイン提供」であることが明示され、由来となったプラグイン名も確認できます。手動で設定ファイルを書かなくても使える点が特徴です。

VS CodeとCopilot CLIでは設定フォーマットが違う

ファイルの置き場所を正しく変えても、中身のフォーマットがVS Code形式のままだとCLIには認識されません。ここでの違いを理解しておくことが、移行作業でつまずかないための最大のポイントです。

トップレベルキー:servers から mcpServers へ

VS Codeでは「servers」というキー名を使いますが、Copilot CLIでは「mcpServers」という別のキー名が必須です。単純にファイルをコピーしただけでは、キー名の不一致によりサーバーが1つも読み込まれません。

新たに必須になった「type」フィールド

Copilot CLI向けの設定では、各サーバーの定義にtypeフィールドを追加する必要があります。ローカルでコマンドを起動して接続するMCPサーバーであれば”type”: “local”、リモートのHTTPエンドポイントに接続する場合は”type”: “http”を指定します。VS Code側の設定にはこのフィールドが存在しないため、移行時に手動で書き加える作業が発生します。

移行の具体例

たとえば、VS Codeの.vscode/mcp.jsonが次のような内容だったとします。

{
  "servers": {
    "docs-search": {
      "command": "npx",
      "args": ["@example/docs-mcp-server"]
    }
  }
}

これをCopilot CLI用の.mcp.jsonに移行すると、次のようになります。

{
  "mcpServers": {
    "docs-search": {
      "type": "local",
      "command": "npx",
      "args": ["@example/docs-mcp-server"],
      "tools": ["*"]
    }
  }
}

キー名をmcpServersに変え、typeを追加しただけの単純な変換ですが、この2点を見落とすと「ファイルは置いたのに読み込まれない」状態になりやすいので注意してください。GitHubは移行手順をまとめた短縮URL(gh.io/copilotcli-mcpmigrate)を公式に案内しており、詳細な手順を確認したい場合はそちらも参考になります。

移行時に確認しておきたい注意点

.vscode/mcp.jsonは削除しなくてよい

.vscode/mcp.jsonファイル自体が削除されるわけではありません。VS Code側はこれまで通りこのファイルを読み込み続けます。変わるのは、Copilot CLIがこのファイルを見に行かなくなるという点だけです。したがって、VS CodeとCopilot CLIを併用しているチームでは、既存の.vscode/mcp.jsonはそのまま残し、CLI用に.mcp.jsonまたは.github/mcp.jsonを新規に用意するという二本立ての運用になります。

複数ファイルが重なった場合の扱い

プロジェクトスコープの.mcp.jsonと、ユーザースコープの~/.copilot/mcp-config.jsonの両方に同名のサーバーを定義してしまうと、意図しない設定で接続される可能性があります。移行作業の際は、どのスコープにどのサーバーを置くかをチームで一度整理し、重複定義を避けることをおすすめします。

/mcpコマンドで読み込み状況を確認する

設定ファイルを配置・修正したあとは、Copilot CLI上で/mcpコマンドを実行し、意図したMCPサーバーが一覧に表示されるかを必ず確認してください。表示されない場合は、キー名やtypeフィールドの記述漏れ、ファイルの配置場所の誤りを疑うとよいでしょう。

関連するCopilot CLI/アプリのアップデートも合わせて確認を

MCPサーバー周りの仕様は2026年に入って断続的に更新が続いています。組織でMCPサーバーの利用を許可制にしたい場合は、GitHub CopilotのMCPサーバーを安全に管理する|allowedMcpServers・deniedMcpServersの設定方法と評価ルールで解説したallowlist機能もあわせて確認しておくと安心です。また、MCPサーバーを手作業で書く代わりに配布・共有したい場合は、GitHub CopilotがAgent Plugins 1.0に対応|AIエージェントの「一度作れば使い回せる」新標準とはで紹介したプラグイン機構を使う方法もあります。デスクトップアプリ版でMCPサーバーやプラグインをまとめて管理したい場合は、GitHub Copilotアプリとは?複数のAIエージェントを1画面で操るデスクトップアプリを解説のCustomizeタブも参考になるはずです。

まとめ

Copilot CLIがMCPサーバーを認識しなくなったと感じたら、まず疑うべきは.vscode/mcp.jsonへの依存です。GitHubは2026年にこのファイルへのベストエフォート対応を撤廃し、CLI専用の.mcp.json(プロジェクト)、.github/mcp.json(リポジトリ共有)、~/.copilot/mcp-config.json(ユーザー横断)という3つの置き場所に一本化しました。移行の際は、キー名をserversからmcpServersに変更し、各サーバー定義にtypeフィールドを追加することを忘れないようにしてください。VS Code側のファイルは削除不要なため、両方の環境を併用しているチームは、既存ファイルを残したまま、CLI向けの設定を新たに追加する形で対応するのが安全です。

参考サイト

タイトルとURLをコピーしました