VS CodeにおけるMCPサポート状況

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](https://github.com/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を利用するには、以下のような手順・方法があります。

1. **環境準備**：VS Code（1.99以上）とGitHub Copilot（エージェントモード）をインストールし、`chat.mcp.enabled`を有効にします。
2. **MCPサーバーの登録**：ワークスペース直下に `.vscode/mcp.json` を作成するか、ユーザー設定でサーバー情報を追加します。Claude Desktop設定ファイルからのインポートによる自動検出も利用可能です。CLIでは以下のように実行例が示されています。

   ```bash
   code --add-mcp '{"name":"my-server","command":"npx","args":["vscode-mcp-server"]}'
   ```
3. **サーバーの起動**：ローカルで動作するMCPサーバーを用意します。Block社のVSCode MCPサーバーは `npx vscode-mcp-server install` でインストールでき、`code-mcp`などのIDで登録します。必要に応じて独自のMCPサーバーもSDK（Python/TypeScript/C# など）で構築できます。
4. **拡張機能の導入**：Goose用の `goose-vscode` やBlockの「MCP Server」拡張など、目的に応じたMCP対応拡張をインストールします。これらはMCPサーバーとの連携を容易にします。
5. **エージェントモードでの操作**：チャットビューで「Agent」を選択し、ツール（MCPサーバー由来）の一覧を確認します。必要なツールにチェックを入れるか、プロンプト内で `#toolName` を指定して呼び出します。ツール実行時には差分プレビューと承認ダイアログが表示されるので、意図した操作か確認してから実行してください。
6. **安全対策**：MCPサーバーは任意のOSコマンドを実行できるため、信頼できるソースのみ導入します。エージェントのすべての操作には都度承認が求められるので、拡張やコンテナ環境（Dev Containers）で隔離するなどして安全性を高めることも可能です。

以上のように、VS Codeの拡張性とMCPの標準プロトコルを組み合わせることで、AIエージェントをVS Codeや他システムにシームレスに接続できます。MCP対応のツールやサーバーは今後増加が見込まれるため、開発者は自分のワークフローに合った構成や拡張機能を選び、既存のデータソース・ツール群を有効活用できるようになります。

**参考資料:** Anthropic公式ドキュメントやVS Codeブログ、Gooseプロジェクトの情報をもとにまとめました。各出典の記載箇所に詳細があります。