Visual Studio Codeでは、GitHub Copilotと一緒にMCP(Model Context Protocol)を使えます。エージェントモードから外部ツールとやり取りする機能を利用できます。この記事では、公式ドキュメントをもとに、MCPサーバーを設定して利用する流れを順に説明します。
*MCP(Model Context Protocol)*は、モデルと開発ツールがやり取りするためのオープンな標準です。AIはテキストで応答するだけでなく、実際にコードファイルを読み書きしたり、コマンドを実行したりできます。VS CodeはMCPを使い、エージェントモードでツールを利用できるようにしています。
次の手順でMCPサーバーを追加します。
VS Codeでプロジェクトのルートに .vscode/mcp.json を作ります。
次の例の形式でMCPサーバーを登録します。
{
"inputs" : [
{
"type" : "promptString" ,
"id" : "perplexity-key" ,
"description" : "Perplexity API Key" ,
"password" : true
},
],
"servers" : {
"Perplexity" : {
"type" : "stdio" ,
"command" : "npx" ,
"args" : [
"-y" ,
"@modelcontextprotocol/server-perplexity-ask"
],
"env" : {
"PERPLEXITY_API_KEY" : "${input:perplexity-key}"
}
}
}
}
このように構成すると、CopilotからそのMCPサーバーを使えます。
すべてのワークスペースで有効にしたい場合は、VS Codeのユーザー設定でサーバーを指定できます。コマンドパレット(Cmd+Shift+P)で
MCP: add Server を実行すると、ユーザー設定に新しい構成が追加されます。
VS Codeは、Claude Desktopなど別のツールで定義されたMCPサーバーを自動検出し、再利用できます。chat.mcp.discovery.enabledで自動検出を有効にします。コマンドパレットで
MCP: list Servers を実行すると、構成したサーバーを確認、管理できます。
MCPサーバーの設定ファイル mcp.json は、JSONで記述します。このファイルはMCPサーバーの動作を定義します。mcp.json には次の3つの要素があります。
inputs
は、APIキーなど、ユーザーに入力してもらう値を定義します。
servers
には、サーバーのコマンド、引数、環境変数などを設定します。
type
は、サーバーの種類(stdio または websocket)を指定します。
ツール選択画面
エージェントモードを有効にすると、CopilotがMCPツールを使えるようになります。設定は次のとおりです。
VS Codeで F1 を押し、Preferences: Open Settings (JSON) と入力します。
次の設定を追加します。
{
"chat.agent.enabled" : true
}
チャット画面でエージェントモードを使えるようになります。例えば「テストファイルを作って」と入力すると、Copilotが対応するツールを探して実行します。
smithery.aiからMCPサーバーを追加する 🔗
次の手順でMCPサーバーを取り込んで使います。
Smithery↗ を開きます。
使いたいMCPサーバーを選びます。
選んだサーバーの設定をVS Codeに追加します。
MCPサーバーの設定
VS Codeで 서버 설치(サーバーをインストール)ボタンを押して、MCPサーバーを有効にします。
MCPサーバーのインストール
settings.jsonで追加されたMCPサーバーを確認できます。開始ボタンを押すとサーバーが有効になります。
設定を確認する
エージェントモードでMCPサーバーを使い、目的の作業を行います。
無効にするには、設定から該当のサーバーを削除します。
ツールは、MCPサーバー単位で選択、管理できます。選択画面には利用可能なツールが表示され、使いたいものを選べます。
ツール選択画面
ツールはMCPサーバーを通じて動的に読み込まれ、プロジェクトの設定によって変わります。