VS CodeでMCPサーバーを追加・管理する

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

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

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

ヒント

エージェントカスタマイズエディター (プレビュー) を使用すると、すべてのエージェントカスタマイズを1か所で検出、作成、管理できます。コマンドパレットから Chat: Open Customizations を実行してください。

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

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

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

  2. Installを選択して、ユーザープロファイルに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サーバーは、ユーザープロファイルまたはワークスペースにインストールできます。

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

    • ワークスペースにインストールするには、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: Open User Configuration コマンドを実行して、ユーザープロファイルフォルダー内の mcp.json ファイルを開きます。ここで構成されたサーバーは、すべてのワークスペースで使用できます。複数のプロファイルを使用する場合、各プロファイルで独自のMCPサーバー構成を持つことができます。

コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) で MCP: Add Server を実行し、ガイド付きフローに従って Workspace または Global をターゲットとして選択してサーバーを追加することもできます。

重要

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: Open Remote User Configuration) で定義してください。

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

開発コンテナに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 Open in VS Code Open in VS Code Insiders 設定を使用すると、MCPサーバー構成を検出するツールを1つ以上選択できます。

コマンドラインから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 Resources を選択します。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: Open User Configuration または MCP: Open Workspace Folder Configuration を使用してファイルを開きます。 MCP server configuration with lenses to manage server.
コマンド パレット 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: List Servers を実行し、サーバーを選択して Enable または Disable を選択します。
  • エージェントカスタマイズエディターを使用して、サーバーの有効状態を切り替えます。

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

VS CodeでMCPサーバーへのアクセスを一元管理する

組織は、GitHubポリシーを介してMCPサーバーへのアクセスを一元管理できます。MCPサーバーのエンタープライズ管理の詳細を参照してください。

MCPサーバーを自動起動する

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

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

MCPサーバーの信頼

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

Screenshot showing the MCP server trust prompt.

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

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

警告

mcp.json ファイルから直接MCPサーバーを起動する場合、サーバー構成を信頼するかどうかの確認は求められません。

デバイス間でMCP設定を同期する

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

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

  1. コマンドパレットから Settings Sync: Configure コマンドを実行します。

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

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

MCP出力ログ

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

MCP Server Error

チャットビューでエラー通知を選択し、Show Output オプションを選択してサーバーログを表示します。または、コマンドパレットから MCP: List Servers を実行し、サーバーを選択して Show Output を選択します。

MCP Server Error Output

よくある質問

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

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

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