本日はVisualStudioCodeの学習枠です。
VisualStudioCodeのGitHubCopilotのドキュメントを読みながら実際に操作を試してみました。
前回記事
以下の前回記事の続きです。
bluebirdofoz.hatenablog.com
Use MCP servers in VS Code
以下のUse MCP servers in VS Codeドキュメントを日本語訳しながら実行時のキャプチャをしていきます。
code.visualstudio.com
MCPとは
Model Context Protocol(MCP)はAIモデルが外部ツール、アプリケーション、データソースを検出して操作するための標準化された方法を提供します。
VS CodeでAgentモードを使用して言語モデルにチャットプロンプトを入力すると、モデルは様々なツールを呼び出してファイル操作、データベースへのアクセス、要求に対するAPIの呼び出しなどのタスクを実行できます。
MCP(Model Context Protocol)
MCP(Model Context Protocol)はツールの検出、呼び出し、応答処理などクライアントとサーバー間の通信のメッセージ形式を定義します。
例えばファイルシステムのMCPサーバーにはファイルやディレクトリーの読み取り、書き込み、または検索のためのツールがあります。
GitHubのMCPサーバーにはリポジトリの一覧表示、プルリクエストの作成、イシューの管理を行うためのツールが用意されています。
MCPサーバーはマシン上でローカルに実行することもリモートでホストすることもできます。
VS Codeは両方の構成をサポートしています。
このインタラクションを標準化することでMCPは各AIモデルと各ツール間のカスタム統合の必要性を排除します。
これにより、新しいMCPサーバーをワークスペースに追加するだけでAIアシスタントの機能を拡張できます。
詳しくは以下のModel Context Protocolの仕様を参照ください。
modelcontextprotocol.io

サポートされているMCP機能
VS CodeはMCPサーバ転送用にローカルの標準入出力(stdio)、サーバ送信イベント(sse)、ストリーマブルHTTP(http)をサポートしています。
現在、3つのプリミティブ(ツール、プロンプト、リソース)のうち、サーバがCopilotのAgentモードに提供できるのはツールだけです。
ツールのリストと説明はリスト変更イベントを使用して動的に更新できます。VS Codeはroots(仕様)を使用して現在のワークスペースフォルダをサーバーに提供します。
MCP サーバーの検索
MCPの公式サーバーリポジトリはMCPの汎用性を示す参照サーバー、公式サーバー、コミュニティ提供サーバーの出発点として最適です。
ファイルシステム操作、データベース操作、Web サービスなど、さまざまな機能についてサーバーを探索することができます。
github.com

MCPはまだ比較的新しい標準であり、エコシステムは急速に進化しています。
MCPを採用する開発者が増えるにつれてプロジェクトとの統合に使用できるサーバーやツールの数が増えることが予想されます。
MCPサーバーの追加
ワークスペースにMCPサーバーを追加する
特定のワークスペース用にMCPサーバーを構成するにはワークスペースのフォルダに .vscode/mcp.json ファイルを作成します。
これによりサーバー構成をプロジェクト・チーム・メンバーと共有できます。
ワークスペースにMCPサーバーを追加するには以下の手順を実施します。
mcp.jsonの追加
[Add Server]ボタンを選択して新しいサーバーのテンプレートを追加します。

VS CodeはMCPサーバー構成ファイルのIntelliSense(入力支援)を提供します。
例えば[Command (stdio)]を選択した場合、以下のようにcommandとidを入力するとテンプレートが作成されます。



次の例はPerplexity MCPサーバーを構成する方法を示しています。
このサーバーではサーバーの起動時にVS CodeからAPIキーの入力を求められます。
{ // 💡 Inputs are prompted on first server start, then stored securely by VS Code. "inputs": [ { "type": "promptString", "id": "perplexity-key", "description": "Perplexity API Key", "password": true } ], "servers": { // https://github.com/ppl-ai/modelcontextprotocol/ "Perplexity": { "type": "stdio", "command": "npx", "args": ["-y", "server-perplexity-ask"], "env": { "PERPLEXITY_API_KEY": "${input:perplexity-key}" } } } }

またはコマンドパレットから[MCP: Add Server]コマンドを実行します。

[Add Server]の操作と同じく追加するMCPサーバのタイプを選択してサーバ情報を入力します。
最後に[Worlkspace Settings]を選択するとワークスペースの .vscode/mcp.json ファイルが作成または追記されます。










