VS Codeのエージェントモードを拡張するには、を試してください!

ツールを超えて、VS Code に MCP を追加する

2025年5月14日 by Harald Kirschner

私たちが初めて VS Code にエージェントモードを導入したとき、それはチャットを通じてコードやワークスペースと対話する新しい方法を切り開きました。エージェントにファイルの検査やビルドの実行、さらにはテストのデバッグさえも依頼できるようになりました。しかし、できることはモデルが学習した内容とワークスペースのコンテンツに限定されていました。そこで、次のステップは明確でした。エージェントがこれらの境界を越え、安全でユーザーが制御できる方法で、実際の外部サービスと対話できるようにする必要があったのです。

最初の試みは、ツール API と チャット参加者 API を通じた拡張性という、VS Code のおなじみのパターンに従いました。エコシステムにすでに存在する何千もの拡張機能を考えれば、これは理にかなっていましたが、業界は急速に新しい標準である Model Context Protocol (MCP) へと移行していました。MCP は、HTTP が Web の通信を標準化したように、AI エージェントを多種多様な外部ツールやサービスに一貫した方法で接続するためのプロトコルとして理解するのが最適です。その目標は、VS Code だけでなく、あらゆるクライアントがデータベース、コード検索、デプロイシステムなどの強力なツールサーバーに接続し、それらが「ただ機能する」ようにすることです。

この MCP への移行により、ほぼ一夜にしてより広いエコシステムが解放されました。今や VS Code ユーザーは、フロントエンド検証のための Playwright MCP Server、リポジトリのインサイトやプルリクエストのための GitHub MCP Server、よりスマートな API 利用のための Context7 といったサーバーを活用できます。サーバーのリストは増え続けており、MCP は AI エージェントにさらなる機能をもたらすための基盤として急速に定着しました。

すべての人のための MCP: VS Code の設計原則を適用する

VS Code の設計哲学は、常に強力な機能を使いやすく、デフォルトで安全にし、ユーザーに明確な制御権を与えることに焦点を当ててきました。これらの同じ原則が、私たちの MCP 統合を導きました。

以前は、MCP サーバーを使い始めるには、JSON ブロックを構成ファイルにコピーし、コマンドラインフラグを管理する必要がありました。私たちはこれを簡素化したいと考えました。MCP: Add Server コマンドを使えば、パッケージマネージャー (NPM、PyPI、Docker) からサーバーをセットアップし、残りの処理は VS Code に任せることができます。ウェブサイトは、導入をさらに効率化するために「Install in VS Code」ボタンを提供することもでき、VS Code は可能な場合、Claude Desktop のような他のクライアントからの構成を自動的に検出します。

Add MCP Server commands in VS Code

セキュリティも大きな焦点でした。MCP サーバーのシークレットを管理することは、パスワードをソース管理にチェックインすることを意味すべきではありません。私たちは、一度プロンプトを表示し、シークレットを安全に暗号化して保存する入力変数のサポートと、ローカル開発ですでに信頼している既存の .env ファイルを参照する機能を追加しました。これにより、チームは構成を安全に共有し、レビューしやすくなります。

GitHub MCP Server with safely stored PAT using input variables

ユーザーによる制御は、この体験の中心です。ツールピッカーを使えば、特定のセッションでエージェントがアクセスできるツールを決定し、明確な説明と制御を確認できます。サーバーを開発またはデバッグしている人々のために、VS Code はログを表示し、サーバーの起動、停止、再起動を簡単にします。これらの工夫により、MCP はエンドユーザーとサーバー開発者の両方にとって、強力であるだけでなく、親しみやすいものになっています。

基本を超えて: よりリッチな MCP 機能

この道のりは、ツールの基本的な互換性を実装するだけで終わりではありませんでした。MCP の価値の多くは、その仕様に含まれるより深い機能から生まれます。完全にサポートされると、ツールをよりコンテキストに応じ、適応性があり、堅牢にする機能です。

例えば、roots のサポートにより、MCP サーバーはワークスペースの構造を理解できます。サーバーは、ユーザーにフォルダーパスを尋ねたり、構成に依存したりする代わりに、最初にワークスペースフォルダーのリストを受け取り、手元のプロジェクトに合わせてツールを調整できます。これにより、モノレポ全体のすべての TODO を見つけたり、検出されたインフラストラクチャファイルに基づいてデプロイツールを有効にしたりするようなユースケースが可能になります。

動的なツールの検出により、サーバーは利用可能なツールのセットをその場で変更できます。静的なリストの代わりに、サーバーはコンテキストやプロジェクトの状態に基づいてツールを適応させることができます。例えば、ワークフローの進行に応じて異なるアクションを表示したり、コードベースで検出されたフレームワークに関連するツールを表示したりします。これにより、エージェントの能力は常に適切に保たれ、煩雑さが避けられます。実際の使用例については、TypeScript SDK の動的サーバーの例や、GitHub MCP Server の動的ツールセット検出機能を確認してください。

前回の VS Code アップデートでは、ツールアノテーションのサポートも追加されました。これにより、サーバーはツールに役立つメタデータ(人間が読める名前や、ツールを読み取り専用モードで実行すべきかどうかのヒントなど)を提供できます。これらの詳細は、エージェントの振る舞いとユーザーの理解の両方を向上させます。

最後に、MCP 仕様の最新のトランスポートとしてストリーミング可能な HTTP がサポートされるようになりました。これにより、特にクラウドでホストされているツールプロバイダーやサーバーレスのツールプロバイダーにとって、リモートサーバーの統合がよりスムーズでスケーラブルになります。

私たちの目標は、VS Code で最新の MCP 機能をサポートし、ユーザーがリッチな AI 体験から恩恵を受けられるようにし、サーバー開発者が自信を持ってこれらの機能を実装できるようにすることです。

エコシステムの成長: コラボレーションと今後の展望

MCP は現在、GitHubPlaywrightAzurePerplexity からの公式サーバーを支えており、エコシステムは拡大する一方です。VS Code が他と一線を画すのは、単なる早期採用ではなく、仕様第一のエンジニアリングへのコミットメントです。MCP 仕様に忠実に従い、認証検出セキュリティに関する改善をフィードバックすることで、プロトコルの成熟に合わせてその形成を支援し、エコシステムのイノベーションが VS Code ユーザーだけでなく、すべての人に利益をもたらすようにしています。

今後の展望として、私たちは、認証 (Authorization)プロンプト (Prompts)リソース (Resources)サンプリング (Sampling)など、仕様にすでに含まれている今後の MCP 機能の VS Code でのサポート実現に積極的に取り組んでいます。これらの追加機能は、製品に実装され次第、さらにリッチで柔軟なエージェント統合をもたらすでしょう。

もしあなたが開発者ツールやインフラを構築しているなら、MCP は今や、それらを VS Code やその他の AI エージェントからアクセス可能にするための実用的でオープンな方法です。既製のサーバーを使いたい場合でも、独自のサーバーを作成したい場合でも、その体験は堅牢でわかりやすいものになるはずです。

始めるには、ModelContextProtocol.ioVS Code MCP ドキュメント、または GitHub のリファレンスサーバーをチェックしてください。

私たちは、皆さんが何を構築するのか、そしてエコシステムの拡大に伴いエージェントのワークフローがどのように進化していくのかを楽しみにしています。

ハッピーコーディング!