2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2025-05-08

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

  1. 環境準備:VS Code(1.99以上)とGitHub Copilot(エージェントモード)をインストールし、chat.mcp.enabledを有効にします。

  2. MCPサーバーの登録:ワークスペース直下に .vscode/mcp.json を作成するか、ユーザー設定でサーバー情報を追加します。Claude Desktop設定ファイルからのインポートによる自動検出も利用可能です。CLIでは以下のように実行例が示されています。

    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プロジェクトの情報をもとにまとめました。各出典の記載箇所に詳細があります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?