VS Code(GitHub Copilot Chat)のエージェントモードでは、Anthropic提唱のMCPを通じて外部ツールを利用できる仕組みが実装されています。最新のVS Code(1.99以降)でCopilotエージェントモードを有効化し、chat.mcp.enabled
設定をオンにすると、任意のMCPサーバーを接続先として追加できます。VS Codeはローカルの標準入出力(stdio)、サーバー送信イベント(SSE)、およびHTTPストリームに対応し、ファイル操作やデータベースアクセスなどのツールをMCP経由で呼び出せます。この仕組みによって、AIモデルはVS Code内部のファイル閲覧や編集、Git操作などをシームレスに実行可能です。VS Codeチームも「MCPはLLMへの文脈提供方法を標準化する新プロトコルで、言語サーバープロトコル(LSP)と同様のビジョンを実現するもの」と評価しており、エージェントモードの拡張性としてMCPサーバー連携やVS Code拡張を前提に設計されています。
-
エージェントモード:GitHub Copilotのエージェントモードでは、ツール一覧からMCPサーバーが提供する機能(ツール)を選択可能です。プロンプト内で
#ツール名
を指定することでもツールを呼び出せます。 - 標準対応:VS Codeはワークスペースのフォルダー(roots)情報をMCPサーバーに自動提供し、ローカル実行とリモートサーバーの両方に対応します。これにより、ファイルシステムやデータベース、ウェブサービスなど多様なサーバーと連携できます。
- 安全性:MCPサーバーは任意のコード実行が可能なため、信頼できるサーバーのみ追加すべきです。ツール実行時には差分表示で確認/承認し、必要に応じてDev Containerなどで隔離実行することで安全性を確保できます。
VS Code用MCP拡張機能とツール連携事例
VS Code向けにもMCPを活用する拡張機能が開発されています。代表例として、オープンソースの開発支援エージェント「Goose」は、VS Code上で動作するMCPサーバーと拡張を提供しています。Block社のvscode-mcpモノレポには、VSCode用MCPサーバー(vscode-mcp-server
)と対応拡張が含まれており、GooseやAnthropicのClaudeなどのエージェントがMCP経由でVS Codeとやり取りできます。具体的には、MCPサーバーがcreate_diff
(ファイル変更の差分表示・承認)、open_file
(ファイルを開く)、open_project
(フォルダーを開く)などのツールを提供し、対応拡張がエージェントからの指示に基づきVS CodeのUIと連携します。
-
Goose エージェント:GooseのVS Code拡張(
goose-vscode
)をインストールすると、VS Code起動時にGooseがバックグラウンドで動作し、コードに関する対話や編集指示を行えます。Block社のブログでも「VSCode MCPサーバーと拡張によって、GooseのようなAIエージェントがMCP経由でVS Codeとやり取りできる」と説明されています。 - Block(Cash App):同社提供の「MCP Server」拡張(MarketPlace)を導入すると、Code MCPサーバーと連携してVS Code内での差分編集やファイルオープンが可能になります。この拡張はバックグラウンドで動作し、MCPサーバーからのリクエストに応答します。
- その他のツール:Goose以外にも、カスタマイズ可能なAIチャットUI「LibreChat」やターミナルAIアシスタント「gptme」など、MCPをサポートするクライアントが増えています。これらはVS Code以外の環境で動作しますが、MCPの標準化により類似の連携が期待されます。
MCPを利用した外部ツール・外部ソース連携事例
MCPのメリットは、AIと外部データ・ツールとの連携を標準化・汎用化する点にあります。Anthropicは公式リポジトリでGoogle Drive、Slack、GitHub、Git、PostgreSQL、Puppeteer(ブラウザ自動操作)向けのMCPサーバーを公開しており、AIエージェントからこれらのシステムを直接利用できます。また、Block(Square)やApolloなどが社内システムでMCPを導入し、Zed・Replit・Codeium・Sourcegraphなど開発系プラットフォームも対応を進めています。これにより、モデルはコーディング支援のためにリポジトリや設計ドキュメント、タスク管理ツールへ安全にアクセスできるようになります。
- ビルトイン対応:Anthropic ClaudeやAmazon BedrockではMCPコネクタが組み込まれており、モデルが直接MCPサーバーを呼び出せます。一方、OpenAIのFunction Callingとは異なり、MCPなら同じツールサーバーを複数のモデルやプラットフォームで共有利用できます。
- LangChainアダプタ:LangChain/LangGraph向けにMCPツールをラップするアダプタが提供されており、既存の数百のMCPサーバーをエージェントで簡単に利用できます。これにより、異なるMCPサーバーのツールを組み合わせた高度なワークフロー構築が可能です。
- サードパーティツール:SlackやDiscord用のMCPクライアント(Klavis AI)、コードチャットUI(LibreChat)なども登場しており、MCPを介してユーザー自身のデータやツールをAIに接続できます。例として、LibreChatではMCPでコードインタープリタやイメージ生成ツールを追加し、複数LLMでエージェント機能を拡張可能です。
VS CodeでMCPを活用するための実践アプローチ
開発者がVS CodeでMCPを利用するには、以下のような手順・方法があります。
-
環境準備:VS Code(1.99以上)とGitHub Copilot(エージェントモード)をインストールし、
chat.mcp.enabled
を有効にします。 -
MCPサーバーの登録:ワークスペース直下に
.vscode/mcp.json
を作成するか、ユーザー設定でサーバー情報を追加します。Claude Desktop設定ファイルからのインポートによる自動検出も利用可能です。CLIでは以下のように実行例が示されています。code --add-mcp '{"name":"my-server","command":"npx","args":["vscode-mcp-server"]}'
-
サーバーの起動:ローカルで動作するMCPサーバーを用意します。Block社のVSCode MCPサーバーは
npx vscode-mcp-server install
でインストールでき、code-mcp
などのIDで登録します。必要に応じて独自のMCPサーバーもSDK(Python/TypeScript/C# など)で構築できます。 -
拡張機能の導入:Goose用の
goose-vscode
やBlockの「MCP Server」拡張など、目的に応じたMCP対応拡張をインストールします。これらはMCPサーバーとの連携を容易にします。 -
エージェントモードでの操作:チャットビューで「Agent」を選択し、ツール(MCPサーバー由来)の一覧を確認します。必要なツールにチェックを入れるか、プロンプト内で
#toolName
を指定して呼び出します。ツール実行時には差分プレビューと承認ダイアログが表示されるので、意図した操作か確認してから実行してください。 -
安全対策:MCPサーバーは任意のOSコマンドを実行できるため、信頼できるソースのみ導入します。エージェントのすべての操作には都度承認が求められるので、拡張やコンテナ環境(Dev Containers)で隔離するなどして安全性を高めることも可能です。
以上のように、VS Codeの拡張性とMCPの標準プロトコルを組み合わせることで、AIエージェントをVS Codeや他システムにシームレスに接続できます。MCP対応のツールやサーバーは今後増加が見込まれるため、開発者は自分のワークフローに合った構成や拡張機能を選び、既存のデータソース・ツール群を有効活用できるようになります。
参考資料: Anthropic公式ドキュメントやVS Codeブログ、Gooseプロジェクトの情報をもとにまとめました。各出典の記載箇所に詳細があります。