VS Code 1.99でモデル・コンテキスト・プロトコルがサポートされました。
ビジュアル・スタジオ・コード VS Code
1.99リリースでは、モデル・コンテキスト・プロトコル(MCP)が正式に導入された。 MCP
)をサポートする。 MCPは、AIモデルが外部のツールやサービスと相互作用するための統一インターフェースを提供するために設計されたオープンスタンダードです。
MCP
を強化するために導入された。 ギットハブ・コパイロット MCPサーバは、開発者がMCPサーバを構成して、エージェント・モードでカスタム・ツールやサービスにアクセスできるようにするためのプロトコルです。このプロトコルを使用すると、開発者はMCPサーバを構成して、カスタム・ツールとサービスを VS Code
AIワークフローでは、リアルタイムのデータ照会、ローカルファイルの操作、特定のタスクの呼び出しなど、よりダイナミックなタスクを幅広く実行できるAIアシスタントの可能性が大きく広がっている。 API
.
前提条件:エージェントモードと環境依存を有効にする
VS Code
1.99ドル MCP
GitHubとの統合 コパイロット をエージェントモードで使用します。したがって MCP
関数を使用するには、まずエージェント・モードを有効にする必要がある。これは VS Code
チャットビューの上部にあるドロップダウンメニューがこれを行います。
もう1つ覚えておいてほしいことがある。 MCP
一般的なフィードバックとして、次のようなものがある。 MCP
サーバーのプリインストールが必要な場合があります。 Node.js
そして Docker
またはその他の依存関係がある。これは、多くの MCP
サーバーの実装(特にスクリプトやコンテナ化ツールの実行)は、こうした外部環境に依存している。これは初期設定に複雑さを加える一方で、さまざまな強力なカスタマイズ・ツールに接続する柔軟性も提供する。
MCPサーバーの設定
ある VS Code
真ん中だ。MCP
コア・コンフィギュレーションはワークスペースの .vscode/mcp.json
をファイル内に追加する。これによって JSON
ファイルでは、1つまたは複数の MCP
サーバーが提供するツールを使用します。
ステップ1:MCPプロファイルの作成
- でプロジェクトフォルダを開きます。
VS Code
真ん中だ。 - プロジェクトのルート・ディレクトリに
.vscode
フォルダの - ある
.vscode
フォルダにmcp.json
文書の - 以下の基本設定テンプレートを
mcp.json
ドキュメンテーション{ "servers": { "example-server": { "type": "stdio", "command": "node", "args": ["path/to/your/script.js"] } } }
この構成では
servers
を定義するオブジェクト。MCP
各キーは一意なサーバー名(例:"example-server")である。type
サーバーの通信タイプを指定します。一般的なタイプは以下の通り:stdio
: サーバーとは標準入出力(SIO)で接続されています。VS Code
通常、ローカルのスクリプトや実行ファイルを実行するために使用される。sse
これは、リモート・サービスや、継続的にアップデートをプッシュする必要があるサービスに接続する際によく使われる。
command
歌で応えるargs
このサーバーの起動に必要なコマンドとそのパラメータを定義します。この例ではNode.js
指定されたJavaScript
ドキュメンテーション
ステップ2:サーバー固有の設定を追加する
を手動で編集することができます。 mcp.json
ファイルを使用してサーバーを追加することもできます。 VS Code
コマンドパネルが提供する便利な方法だ:
- コマンドパネルを開く(ショートカットキー)
Ctrl+Shift+P
もしかしたらCmd+Shift+P
). - タイプして実行する
MCP: Add Server
命令だ。 - オプション
Workspace Settings
属VS Code
を自動的に開いたり作成したりします。.vscode/mcp.json
ファイルを作成し、インテリジェントなプロンプト(インテリセンス)を表示することができます。
以下は fetch
を使用するサーバーの例である。 uvx
コマンドを実行する mcp-server-fetch
指定したURLのウェブページの内容を取得するためのツール:
{
"servers": {
"fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
ステップ3:機密情報の安全な取り扱い
設定ファイルのハードコーディング API
鍵やその他の機密情報は安全ではない。MCP
このような状況に対処するために、入力変数の使用がサポートされている。入力変数が VS Code
これらの変数を必要とするサーバーを起動する際には、ユーザーに入力を求めるプロンプトが表示される。
{
"inputs": [
{
"type": "promptString",
"id": "api-key",
"description": "Your API Key",
"password": true
}
],
"servers": {
"perplexity": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask"],
"env": {
"PERPLEXITY_API_KEY": "${input:api-key}"
}
}
}
}
この例では
inputs
配列は、ユーザー入力を必要とする変数を定義する。ここではID
というのもapi-key
入力されたパスワードタイプのpassword: true
入力中にコンテンツが非表示になるようにします。- のサーバー・コンフィギュレーションでは
env
パート${input:api-key}
この構文は、以前に定義された入力変数を参照する。VS Code
は、この値を安全に保存し、サーバー・プロセスの環境変数PERPLEXITY_API_KEY
.
MCPツールの使用と管理
エージェントモードの有効化とツールの検出
を正しく設定したら .vscode/mcp.json
ファイルに保存し、次に GitHub Copilot
エージェントモード(チャットビュー上部のドロップダウンメニューで選択) Agent
エージェント・モードは、設定ファイルに定義されたサーバーと、それらが提供するツールを自動的に検出してロードする。
インボケーションツール
サーバやツールがエージェントスキーマで認識されると、チャットビューで自然言語または特定のコマンドで呼び出すことができます。例えば
- もし
fetch
エントリー可能なサーバー@workspace /fetch https://bytenote.net
でページの内容を取得する。 - タイムクエリーができるように設定する場合
MCP
サーバーに尋ねてみてください:@workspace What's the time in Saigon?
エージェントはリクエストを解析し、外部ツールを呼び出す必要があるかどうかを判断し、適切な MCP
サーバーとのやりとりで結果を得る。
サーバーステータスの管理
設定されたサーバーのステータスを表示したり、管理(起動、停止、ログの表示など)したりする必要がある場合があります。
- コマンドパネル (
Ctrl+Shift+P
もしかしたらCmd+Shift+P
). - タイプして実行する
MCP: List Servers
命令だ。 - にあるすべてのファイルが一覧表示されます。
mcp.json
と現在の状態(例えばStarted
,Stopped
). - リスト内のサーバーをクリックすると、そのサーバーの起動、停止、再起動などのアクションを実行したり、サーバー構成のデバッグに便利な出力ログを表示したりすることができます。
高度な設定例
複数サーバーの設定
mcp.json
このファイルは複数のサーバーを定義することができ、それぞれが異なる機能を提供する。
{
"inputs": [
{
"type": "promptString",
"id": "perplexity-key",
"description": "Perplexity API Key",
"password": true
}
],
"servers": {
"Perplexity": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask"],
"env": {
"PERPLEXITY_API_KEY": "${input:perplexity-key}"
}
},
"Fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
},
"RemoteServer": {
"type": "sse",
"url": "http://api.example.com/sse",
"headers": {
"VERSION": "1.2"
}
}
}
}
このコンフィギュレーションでは、3つのサーバーを定義している:
Perplexity
使用Docker
複雑な検索やクイズを実行するために使用されるツールを実行するには、次のことが必要です。API
鍵だ。Fetch
使用uvx
ウェブコンテンツをクロールするローカルツールを実行する。RemoteServer
リモート接続SSE
リアルタイムの通知やデータストリームを受信するために使用されるサービスエンドポイント。注sse
タイプが必要url
パラメータがあり、カスタムheaders
.
定義済み変数の使用
MCP
コンフィギュレーションは、コンテクスト情報を簡単に参照できるよう、多くの定義済み変数をサポートしている。
{
"servers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "${workspaceFolder}"]
}
}
}
この例では${workspaceFolder}
は定義済みの変数で、現在の VS Code
開いているワークスペースのルート・ディレクトリ・パス。プロジェクト・ファイルにアクセスする必要があるツールに便利です。
とおす MCP
属VS Code
は、開発者が外部ツールの力を借りて、日々の開発ワークフローにAIアシスタントをより深く統合するための扉を開く。初期設定には若干の環境設定が必要かもしれないが、それがもたらすカスタマイズと機能拡張はかなりのものだ。