AIパーソナル・ラーニング
と実践的なガイダンス
ビーンバッグ・マースコード1

Copilot エージェントの機能の拡張:VS Code MCP 構成の詳細

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 チャットビューの上部にあるドロップダウンメニューがこれを行います。

cf0d32bc-a7f9-4571-bcff-aa366f84fc77.png

もう1つ覚えておいてほしいことがある。 MCP 一般的なフィードバックとして、次のようなものがある。 MCP サーバーのプリインストールが必要な場合があります。 Node.jsそして Docker またはその他の依存関係がある。これは、多くの MCP サーバーの実装(特にスクリプトやコンテナ化ツールの実行)は、こうした外部環境に依存している。これは初期設定に複雑さを加える一方で、さまざまな強力なカスタマイズ・ツールに接続する柔軟性も提供する。

 

MCPサーバーの設定

ある VS Code 真ん中だ。MCP コア・コンフィギュレーションはワークスペースの .vscode/mcp.json をファイル内に追加する。これによって JSON ファイルでは、1つまたは複数の MCP サーバーが提供するツールを使用します。

ステップ1:MCPプロファイルの作成

  1. でプロジェクトフォルダを開きます。 VS Code 真ん中だ。
  2. プロジェクトのルート・ディレクトリに .vscode フォルダの
  3. ある .vscode フォルダに mcp.json 文書の
  4. 以下の基本設定テンプレートを 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 コマンドパネルが提供する便利な方法だ:

  1. コマンドパネルを開く(ショートカットキー) Ctrl+Shift+P もしかしたら Cmd+Shift+P).
  2. タイプして実行する MCP: Add Server 命令だ。
  3. オプション Workspace Settings属 VS Code を自動的に開いたり作成したりします。 .vscode/mcp.json ファイルを作成し、インテリジェントなプロンプト(インテリセンス)を表示することができます。

以下は fetch を使用するサーバーの例である。 uvx コマンドを実行する mcp-server-fetch 指定したURLのウェブページの内容を取得するためのツール:

{
"servers": {
"fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}

981a9ad7-9c62-49b2-b41c-0ddd0c8fba79.png

ステップ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エージェント・モードは、設定ファイルに定義されたサーバーと、それらが提供するツールを自動的に検出してロードする。

4af17127-c318-482e-baff-36af8b7e260b.png

インボケーションツール

サーバやツールがエージェントスキーマで認識されると、チャットビューで自然言語または特定のコマンドで呼び出すことができます。例えば

  • もし fetch エントリー可能なサーバー@workspace /fetch https://bytenote.net でページの内容を取得する。
  • タイムクエリーができるように設定する場合 MCP サーバーに尋ねてみてください:@workspace What's the time in Saigon?

エージェントはリクエストを解析し、外部ツールを呼び出す必要があるかどうかを判断し、適切な MCP サーバーとのやりとりで結果を得る。

4007a28d-7c12-4467-95ac-e380439e2858.png

サーバーステータスの管理

設定されたサーバーのステータスを表示したり、管理(起動、停止、ログの表示など)したりする必要がある場合があります。

  1. コマンドパネル (Ctrl+Shift+P もしかしたら Cmd+Shift+P).
  2. タイプして実行する MCP: List Servers 命令だ。
  3. にあるすべてのファイルが一覧表示されます。 mcp.json と現在の状態(例えば StartedStopped).
  4. リスト内のサーバーをクリックすると、そのサーバーの起動、停止、再起動などのアクションを実行したり、サーバー構成のデバッグに便利な出力ログを表示したりすることができます。

ba7b278c-f1ce-4637-9a75-cd1a475baa75.png

 

高度な設定例

複数サーバーの設定

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 開いているワークスペースのルート・ディレクトリ・パス。プロジェクト・ファイルにアクセスする必要があるツールに便利です。

とおす MCPVS Code は、開発者が外部ツールの力を借りて、日々の開発ワークフローにAIアシスタントをより深く統合するための扉を開く。初期設定には若干の環境設定が必要かもしれないが、それがもたらすカスタマイズと機能拡張はかなりのものだ。

無断転載を禁じます:チーフAIシェアリングサークル " Copilot エージェントの機能の拡張:VS Code MCP 構成の詳細
ja日本語