エージェント型開発を探求する -

VS Code での MCP サーバーの追加と管理

Model Context Protocol (MCP) は、AI モデルを外部のツールやサービスに接続するためのオープン標準です。Visual Studio Code では、MCP サーバーはファイル操作、データベース、外部 API などのタスクのためのツールを提供します。また、MCP サーバーはリソース、プロンプト、対話型アプリも提供できます。

MCP が AI カスタマイズフレームワークにどのように適合するかの背景については、「カスタマイズの概念」および「ツールの概念」を参照してください。

この記事では、MCP サーバーの追加、構成、管理方法について説明します。チャットでのツールの使用方法については、「エージェントでツールを使用する」を参照してください。

ヒント

[チャットカスタマイズエディター](Preview) を使用して、すべてのチャットカスタマイズを 1 か所で発見、作成、管理できます。コマンドパレットから **チャット: チャットカスタマイズを開く** を実行します。

クイックスタート: チャットで MCP サーバーを使用する

以下の手順に従って、MCP サーバーをインストールし、チャットでそのツールを使用します。この例では、Playwright MCP サーバーを使用して、ブラウザー経由で Web ページを操作します。

  1. 拡張機能ビューを開き(⇧⌘X (Windows, Linux Ctrl+Shift+X))、検索フィールドに @mcp playwright と入力します。

  2. インストールを選択して、ユーザープロファイルに Playwright MCP サーバーをインストールします。

  3. プロンプトが表示されたら、サーバーの起動を信頼することを確認します。VS Code はサーバーのツールを検出し、チャットでそれらを利用可能にします。

  4. チャットビューを開き(⌃⌘I (Windows, Linux Ctrl+Alt+I))、Playwright ツールを使用するプロンプトを入力します。例:

    Go to code.visualstudio.com, decline the cookie banner, and give me a screenshot of the homepage.
    

    VS Code は Playwright ツールを呼び出してブラウザーでページを開き、スクリーンショットを撮影します。各ツールの呼び出しについて確認を求められる場合があります。

ヒント

チャット入力のツールを構成 (Configure Tools) ボタンを選択すると、Playwright MCP サーバーで利用可能なすべてのツールを確認し、特定のツールのオン/オフを切り替えることができます。

MCP サーバーの追加

MCP サーバーギャラリーから MCP サーバーをインストールするには

  1. 拡張機能ビューを開き(⇧⌘X (Windows, Linux Ctrl+Shift+X))、検索フィールドに @mcp と入力します。これにより、ギャラリー内で利用可能な MCP サーバーのリストが表示されます。

  2. MCP サーバーは、ユーザープロファイルまたはワークスペースにインストールできます。

    • ユーザープロファイルにインストールするには、インストールを選択します。

    • ワークスペースにインストールするには、MCP サーバーを右クリックしてワークスペースにインストール (Install in Workspace) を選択します。これにより、ワークスペース内の .vscode/mcp.json ファイルが更新されます。

  3. MCP サーバーの詳細を表示するには、リストから MCP サーバーを選択して詳細ページを開きます。

注意

ローカルの MCP サーバーは、マシン上で任意のコードを実行できます。信頼できるソースからのサーバーのみを追加し、開始する前に発行元とサーバーの構成を確認してください。VS Code での AI 使用に関するセキュリティドキュメントを読み、リスクを理解してください。

mcp.json ファイルを構成する

mcp.json ファイルを編集することで、MCP サーバーを手動で構成できます。このファイルには 2 つの保存場所があります。

  • ワークスペース: プロジェクト内に .vscode/mcp.json を作成または開きます。このファイルをソース管理に含めることで、MCP サーバー構成をチームと共有できます。
  • ユーザープロファイル: MCP: ユーザー構成を開く (MCP: Open User Configuration) コマンドを実行して、ユーザープロファイルフォルダー内の mcp.json ファイルを開きます。ここで構成されたサーバーは、すべてのワークスペースで使用可能です。複数のプロファイルを使用している場合、プロファイルごとに独自の MCP サーバー構成を持つことができます。

コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P))で MCP: サーバーの追加 (MCP: Add Server) を実行して、ウィザードに従いワークスペースまたはグローバルをターゲットとして選択し、サーバーを追加することもできます。

重要

API キーなどの機密情報をハードコードしないでください。入力変数や環境ファイルを使用してください。

次の例は、リモート MCP サーバーとローカル MCP サーバーを構成する mcp.json ファイルを示しています。

{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp"
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@microsoft/mcp-server-playwright"]
    }
  }
}

VS Code は構成ファイルに対して IntelliSense を提供します。完全な構成スキーマとフィールドリファレンスについては、「MCP 構成リファレンス」を参照してください。

注意

MCP サーバーは構成された場所で実行されます。ユーザープロファイルのサーバーはローカルで実行されます。リモート環境に接続しており、サーバーをリモートマシン上で実行したい場合は、ワークスペース設定またはリモートユーザー設定(MCP: リモートユーザー構成を開く)で定義してください。

MCP サーバーを追加するその他のオプション

開発コンテナー(Dev Container)に MCP サーバーを追加する

MCP サーバーは、devcontainer.json ファイルを通じて開発コンテナー内に構成できます。これにより、コンテナー化された開発環境の一部として MCP サーバー構成を含めることができます。

開発コンテナー内で MCP サーバーを構成するには、サーバー構成を customizations.vscode.mcp セクションに追加します。

{
  "image": "mcr.microsoft.com/devcontainers/typescript-node:latest",
  "customizations": {
    "vscode": {
      "mcp": {
        "servers": {
          "playwright": {
            "command": "npx",
            "args": ["-y", "@microsoft/mcp-server-playwright"]
          }
        }
      }
    }
  }
}

開発コンテナーが作成されると、VS Code は自動的に MCP サーバー構成をリモートの mcp.json ファイルに書き込み、コンテナー化された開発環境で利用できるようにします。

MCP サーバーを自動的に検出する

VS Code は、Claude Desktop などの他のアプリケーションからの MCP サーバー構成を自動的に検出し、再利用できます。

chat.mcp.discovery.enabled VS Code で開く VS Code Insiders で開く 設定を使用して、MCP サーバー構成を検出する対象を選択できます。

コマンドラインから MCP サーバーをインストールする

VS Code のコマンドラインインターフェイスを使用して、ユーザープロファイルまたはワークスペースに MCP サーバーを追加することもできます。

ユーザープロファイルに MCP サーバーを追加するには、--add-mcp VS Code コマンドラインオプションを使用し、{"name":"server-name","command":...} という形式で JSON サーバー構成を指定します。

code --add-mcp "{\"name\":\"my-server\",\"command\": \"uvx\",\"args\": [\"mcp-server-fetch\"]}"

その他の MCP 機能

MCP サーバーは、ツール以外にも他の機能を提供できます。

機能 説明 使用方法
リソース ファイル、データベーステーブル、API 応答など、MCP サーバーからのデータにプロンプトのコンテキストとしてアクセスします。リソースは、チャットリクエストに添付する読み取り専用のコンテキストを提供します。 チャットビューで、コンテキストの追加 (Add Context) > MCP リソース (MCP Resources) を選択します。MCP: リソースの参照 (MCP: Browse Resources) コマンドを使用することもできます。
プロンプト MCP サーバーから事前に構成されたプロンプトテンプレートを使用して、一般的なタスクを標準化します。各 MCP サーバーは、その機能に合わせて調整された独自のプロンプトセットを公開できます。 チャット入力で /<MCP サーバー名>.<プロンプト名> と入力します。
MCP アプリ フォーム、視覚化、ドラッグ&ドロップリストなどの対話型 UI コンポーネントをチャット内で直接レンダリングします。MCP アプリは、テキスト応答を超えたより豊かな対話を可能にします。詳細は MCP アプリのブログ記事 を参照してください。 MCP サーバーがサポートしている場合、MCP アプリはインラインで表示されます。

MCP サーバーのサンドボックス化

macOS および Linux では、ローカルで実行される stdio MCP サーバーのサンドボックス化を有効にして、ファイルシステムおよびネットワークへのアクセスを制限できます。サンドボックス化されたサーバーは分離された環境で実行され、明示的に許可したファイルパスとネットワークドメインにのみアクセスできます。

サーバーのサンドボックス化を有効にするには、mcp.json ファイルのサーバー構成で "sandboxEnabled": true を設定します。さらに、特定のファイルシステムおよびネットワークルールを含む sandbox オブジェクトを追加することで、サンドボックスの制限をカスタマイズできます。

次の例は、ローカル MCP サーバーのサンドボックス化を有効にし、ワークスペース内のファイルへの書き込みと特定の API ドメインへのアクセスのみに制限する方法を示しています。

{
  "servers": {
    "myServer": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@example/mcp-server"],
      "sandboxEnabled": true,
      "sandbox": {
        "filesystem": {
          "allowWrite": ["${workspaceFolder}"]
        },
        "network": {
          "allowedDomains": ["api.example.com"]
        }
      }
    }
  }
}

サンドボックス化が有効な場合、サーバーからのツール呼び出しは制御された環境で実行されるため、自動的に承認されます。

完全なサンドボックス構成スキーマについては、「サンドボックス構成」リファレンスを参照してください。

注意

現在、Windows ではサンドボックス化は利用できません。

MCP サーバーの管理

VS Code は、サーバーの開始・停止、ログの表示、アンインストール、キャッシュされたツールのクリアなど、MCP サーバーを管理するためのいくつかのオプションを提供します。

方法 説明
拡張機能ビュー MCP SERVERS - INSTALLED セクションのサーバーを右クリックするか、歯車アイコンを選択します。 Screenshot showing the MCP servers in the Extensions view.
mcp.json エディター 構成ファイルを開き、インラインアクション(コードレンズ)を使用します。MCP: ユーザー構成を開く または MCP: ワークスペースフォルダー構成を開く を使用してファイルを開きます。 MCP server configuration with lenses to manage server.
コマンド パレット MCP: サーバーの一覧 (MCP: List Servers) を実行し、サーバーを選択してアクションを選びます。 Screenshot showing the actions for an MCP server in the Command Palette.

MCP サーバーの有効化または無効化

MCP サーバーは、グローバルまたは特定のワークスペースに対して有効/無効にできます。MCP サーバーが無効になっている場合、それは起動せず、そのツール、プロンプト、リソース、MCP アプリはチャットから除外されます。

MCP サーバーを有効または無効にするには

  • 拡張機能ビューの MCP SERVERS - INSTALLED セクションでサーバーを右クリックし、有効化 (Enable) または 無効化 (Disable) を選択します。
  • コマンドパレットから MCP: サーバーの一覧 を実行し、サーバーを選択して 有効化 または 無効化 を選択します。
  • チャットカスタマイズエディターを使用して、サーバーの有効状態を切り替えます。

有効/無効の状態は mcp.json のサーバー構成とは別に保存されるため、共有構成ファイルには影響しません。

VS Code における MCP サーバーへのアクセスの集中管理

組織は、GitHub ポリシーを通じて MCP サーバーへのアクセスを集中管理できます。詳細については、「エンタープライズでの MCP サーバー管理」を参照してください。

MCP サーバーの自動起動

MCP サーバーを追加または構成を変更すると、VS Code はツールを検出するためにサーバーを(再)起動する必要があります。

chat.mcp.autoStart VS Code で開く VS Code Insiders で開く 設定(実験的機能)を使用すると、構成の変更が検出されたときに MCP サーバーを自動的に再起動するように VS Code を構成できます。

MCP サーバーの信頼

ワークスペースに MCP サーバーを追加したり構成を変更したりする場合、起動前にそのサーバーとその機能を信頼することを確認する必要があります。初めてサーバーを起動するときに、VS Code はサーバーを信頼するかどうかを確認するダイアログを表示します。ダイアログ内の MCP サーバーへのリンクを選択して、構成を確認してください。

Screenshot showing the MCP server trust prompt.

MCP サーバーを信頼しない場合、サーバーは起動せず、チャットリクエストはサーバーが提供するツールを使用せずに進行します。

コマンドパレットから MCP: 信頼のリセット (MCP: Reset Trust) コマンドを実行して、MCP サーバーの信頼をリセットできます。

警告

mcp.json ファイルから直接 MCP サーバーを起動した場合、サーバー構成を信頼するように求められることはありません。

デバイス間での MCP 設定の同期

設定の同期 (Settings Sync) を有効にすると、MCP サーバー構成を含む設定をデバイス間で同期できます。これにより、一貫した開発環境を維持し、すべてのデバイスで同じ MCP サーバーにアクセスできるようになります。

設定の同期で MCP サーバー構成を同期するには

  1. コマンドパレットから 設定の同期: 構成 (Settings Sync: Configure) コマンドを実行します。

  2. 同期された構成のリストで MCP サーバー オプションを有効にします。

MCP サーバーのトラブルシューティングとデバッグ

MCP 出力ログ

VS Code で MCP サーバーに関連する問題が発生した場合、チャットビューにエラーインジケーターが表示されます。

MCP Server Error

チャットビューのエラー通知を選択し、出力の表示 (Show Output) を選択してサーバーログを表示します。または、コマンドパレットから MCP: サーバーの一覧 を実行し、サーバーを選択して 出力の表示 を選択します。

MCP Server Error Output

よくある質問

Docker 使用時に MCP サーバーが起動しない

コマンド引数が正しいこと、およびコンテナーがデタッチモード(-d オプション)で実行されていないことを確認してください。MCP サーバーの出力でエラーメッセージを確認することもできます(「トラブルシューティング」を参照)。

© . This site is unofficial and not affiliated with Microsoft.