MCP サーバーを使用する

モデル コンテキスト プロトコル (MCP) は、IDE の外部でツールとサービスGitHub Copilot使用できるオープン標準です。 Visual Studioでは、MCP では、MCP クライアントを MCP サーバーに接続して、ファイル アクセス、リポジトリ管理、PR 作成などの重要な機能を公開することで、GitHub Copilot エージェントが外部ツールを使用できるようになります。 ツールの検出と呼び出し方法を標準化することで、MCP はカスタム統合の必要性を排除し、新しい MCP サーバーを追加するだけで AI アシスタントを簡単に拡張できます。

MCP のサポートにより、MCP と互換性のある任意のサーバーをエージェント コーディング ワークフローに接続できるため、GitHub Copilot エージェント モードが強化されます。 Visual Studio での MCP サポートは、次のように機能します。

  • Visual Studio などの MCP クライアントは、MCP サーバーに接続し、AI モデルに代わってアクションを要求します。
  • MCP サーバーには、明確に定義されたインターフェイスを介して特定の機能を公開する 1 つ以上のツールが用意されています。
  • このプロトコルは、ツールの検出、呼び出し、応答処理など、クライアントとサーバー間の通信のメッセージ形式を定義します。

たとえば、GitHub MCP サーバーが有効になっている場合、GitHub Copilot を使用して PR を作成および管理したり、レビューが必要な PR があるかどうかを通知したりできます。 Azure DevOps MCP サーバーを有効にすると、Copilot に作業項目の作成および管理を指示できます。

この記事では、Visual Studio で MCP サーバーを設定し、エージェント モードでツールを使用する方法について説明します。

[前提条件]

Visual Studio 2026 または Visual Studio 2022 バージョン 17.14(最新の MCP 機能を使用するために推奨される最新のサービス リリース)

MCP サーバーの検索

公式の MCP サーバー リポジトリは、MCP の多様性を示す、参照サーバー、公式サーバー、コミュニティ提供サーバーの優れた出発点です。 ファイル システム操作、データベース操作、Web サービスなど、さまざまな機能についてサーバーを調べることができます。

MCP は比較的新しい標準であり、エコシステムは急速に進化しています。 MCP を採用する開発者が増えると、プロジェクトとの統合に使用できるサーバーとツールの数が増えると予想できます。

MCP サーバーを追加する

Visual Studio で MCP サーバーを追加するには、複数のオプションがあります。

Web から直接 MCP サーバーを追加する

バージョン 17.14 の最新のサービス リリース以降では、MCP サーバーを Web から直接インストールすることで追加できます。 MCP サーバーの Install ボタンを選択して自動的にインストールし、Visual Studio インスタンスに追加します。

MCP サーバーの例

ワンクリックでVisual Studioで人気のあるMCPサーバーを試してみてください:

  • Visual Studio で Awesome MCP をインストール する – GitHub Copilot のカスタム プロンプトと手順を検出してインストールします。
  • Visual Studio で MarkItDown MCP をインストール する – さまざまなファイル形式 (PDF、Word、Excel、画像、オーディオ) を Markdown に変換します。
  • Visual Studio に DuckDB サーバーをインストール する – DuckDB データベースのデータをローカルおよびクラウドで照会および分析します。
  • Visual Studio で MongoDB MCP をインストール する - データベースの操作と管理。 クエリの実行、コレクションの管理、集計パイプライン、ドキュメント操作。
  • Visual Studio に HuggingFace MCP をインストールして、Hugging Face Hub のモデル、データセット、およびスペースにアクセスします。

チャットから MCP サーバーを追加する

チャット ビューから MCP サーバーを追加するには:

  1. チャット ウィンドウのツール ピッカーで、緑色のプラス (+) ボタンを選択します。

    MCP サーバーを追加するための Visual Studio チャットのツール ピッカーのプラス ボタンのスクリーンショット。

  2. HTTP サーバーの URL や stdio サーバーのコマンドと引数など、サーバー名と接続の詳細を指定します。

    チャット ビューからの MCP サーバーの追加を示すスクリーンショット。

GitHub MCP サーバー レジストリから MCP サーバーを追加する

Visual Studio の Extensions を使用して、GitHub MCP サーバー レジストリから直接 MCP サーバーをインストールできます。

  1. Visual Studio メニューから、Extensions>MCP Registries... を選択します。MCP サーバー マネージャー を開きます。

    MCP レジストリの [拡張機能] メニューを示すスクリーンショット。

  2. 目的のサーバーを選択し、Visual Studio インスタンスの Install を選択します。

    MCP サーバー マネージャーからの MCP サーバーの追加を示すスクリーンショット。

.mcp.json ファイルに MCP サーバーを追加する

次の手順では、GitHub MCP サーバーの構成例について説明します。

  1. 新しいファイル ( <SOLUTIONDIR>\.mcp.json または %USERPROFILE%\.mcp.json) を作成します。 Visual Studio を使用して、JSON スキーマが自動的に適用されるように、このファイルを編集します。

  2. 次の内容を .mcp.json ファイルに貼り付けます。

    {
      "servers": {
        "github": {
          "url": "https://api.githubcopilot.com/mcp/"
        }
      }
    }
    
  3. ファイルを保存します。

  4. ファイルで、GitHub アカウントを使用してサーバーに対して認証するように表示される CodeLens から [認証 が必要 ] を選択します。 ポップアップ ダイアログで [ 認証 ] を選択して、GitHub アカウントで認証します。

    CodeLens 認証を示すスクリーンショット。

    CodeLens が表示されない場合は、 Tools>Options>Text Editor>CodeLens で有効になっていることを確認します。

  5. チャット パネルの下部にあるモード ドロップダウンから [エージェント] を選択します。

    Copilot エージェント モード セレクターを示すスクリーンショット。

  6. 使用するツール (問題の 一覧表示など) を選択します。

    MCP GitHub ツールを示すスクリーンショット。

    サンプル プロンプトを試す: GitHub で自分に割り当てられた問題を一覧表示します

  7. Copilot は、MCP サーバーが使用可能にしたツールを使用するためのアクセス許可を求めます。 任意のスコープで [許可] を選択して続行します。

    エージェント ツールの確認オプションを示すスクリーンショット。

MCP サーバーの構成を管理する

Visual Studioでは、mcp.json ファイルを使用して MCP サーバーの構成情報を格納できます。 mcp.json ファイルには、各サーバーの名前、トランスポートの種類 (stdio や SSE など)、起動するコマンド、そのサーバーに接続するために必要な任意の引数、およびオプションの環境変数が格納されます。

mcp.json ファイルがまだない場合は、リポジトリ、ユーザー、またはエディターの要件に基づいて、サポートされている任意の場所にファイルを作成します。

MCP サーバーを追加するには、サーバーの JSON 構成をオンラインで見つけます。 たとえば、MCP サーバーの GitHub リポジトリで見つけます。 次に、 mcp.json ファイルに貼り付けます。

MCP 構成の自動検出のファイルの場所

Visual Studio では、他の開発環境が設定した MCP 構成もチェックされます。 次のディレクトリから MCP サーバー構成を次の順序で読み取ります。

  1. %USERPROFILE%\.mcp.json
    特定のユーザーのグローバル MCP サーバー構成として機能します。 ここに MCP サーバーを追加すると、すべての Visual Studio ソリューションに対して読み込まれます。
  2. <SOLUTIONDIR>\.vs\mcp.json
    Visual Studio に固有で、指定したソリューションの特定のユーザーに対してのみ、指定された MCP サーバーを読み込みます。
  3. <SOLUTIONDIR>\.mcp.json
    リポジトリのソース管理で追跡できる MCP 構成を探している場合に適しています。
  4. <SOLUTIONDIR>\.vscode\mcp.json
    リポジトリ/ソリューションにスコープが設定され、通常はソース管理されません。
  5. <SOLUTIONDIR>\.cursor\mcp.json
    リポジトリ/ソリューションにスコープが設定され、通常はソース管理されません。

これらの場所には .mcp.jsonが必要な場所もあれば、 mcp.jsonが必要な場所もあります。

MCP 構成形式

リモート (URL と資格情報) サーバーとローカル (コマンド ライン呼び出し) サーバーの両方を定義できます。

パッケージ マネージャーを使用してツールを呼び出すのが一般的です。 たとえば、 npx -y @azure/mcp@latest または docker run ... mcp/githubを使用します。 Visual Studio では、指定したコマンドが尊重されるため、必要に応じてバージョンをピン留めしたり、フラグを渡すことができます。

形式は MCP 仕様に従う必要があります。 たとえば、 namecommand または urltransportを持つサーバー オブジェクトの配列を含める必要があります。

MCP 構成の編集

既存の mcp.json ファイルがあり、そのファイルをバージョン 管理システムにチェックインする場合は、ソリューション エクスプローラーの ソリューション項目 にファイルの場所を追加します。

有効な構文でファイルを保存すると、GitHub Copilot エージェントが再起動し、構成されたサーバーを再読み込みします。

MCP 構成ファイルの場所をソリューション項目に追加する方法を示すスクリーンショット。

ソリューション項目への MCP 構成ファイルの場所の追加を示すスクリーンショット。

ツールのライフサイクル

Visual Studio がサーバーを検出または追加するとすぐに、

  • ハンドシェイクを実行し、ツール リストに対してクエリを実行して、サーバーを初期化します。
  • MCP イベント notifications/tools/list_changed を購読します。
  • そのイベントが発生すると、Visual Studio はツールに対する以前の受け入れまたはアクセス許可をリセットし ( ラグプル 攻撃を防ぐために)、ツールリストを参照し、カウントと UI をライブで更新します。
  • Visual Studio でサーバーが正常に有効になると、エージェントによってツールが使用できるようになります。 ツールは既定で無効になっており、手動で有効にする必要があります。
  • サーバーを削除すると、Visual Studio はそのプロセスを直ちに停止し、すべてのツールを UI から取り消します。
  • サーバー定義を編集すると、Visual Studio によってサーバー定義が終了して再起動され、再クエリが実行されます。

ツール承認の管理

ツールを呼び出すと、Copilot はツールを実行するための確認を要求します。 その理由は、ツールがコンピューター上でローカルに実行され、ファイルまたはデータを変更するアクションを実行する可能性があるためです。

ツールの呼び出し後、チャット ウィンドウで [ 確認 ] ドロップダウン オプションを使用します。 現在のセッション、現在のソリューション、または今後のすべての呼び出しの特定のツールを自動的に確認できます。

エージェント ツールの承認を管理する方法を示すスクリーンショット。

ツールの呼び出し後、チャット ウィンドウで [ 許可 ] ドロップダウン オプションを使用します。 現在のセッション、現在のソリューション、または今後のすべての呼び出しの特定のツールを自動的に確認できます。

エージェント ツールの承認の管理を示すスクリーンショット。

ツールの確認の選択は、[ツール>オプション] ダイアログの [>>>] セクションでリセットできます。

Copilot ツールの構成設定を示すスクリーンショット。

ツールの確認の選択は、[ツール>オプション] ダイアログの [ツール] グループの >Copilot] セクションでリセットできます。

ツールの構成設定を示すスクリーンショット。

承認の管理

Visual Studio では、 MCP 承認仕様に従って、任意の OAuth プロバイダーを使用したリモート サーバーの認証がサポートされるようになりました。 このサポートは、Visual Studio キーチェーンとの統合に加えて行います。

MCP サーバーの認証を管理するには:

  1. .mcp.json ファイルで、CodeLens からそのサーバーの認証の管理を選択します。

  2. ブラウザーのポップアップ ダイアログで、そのサーバーに必要な OAuth プロバイダーの資格情報を指定します。

MCP サーバーの許可リスト ポリシー

Visual Studioでの MCP サーバーの使用では、GitHubを介して組織の管理者によって設定された許可リスト ポリシーが考慮されます。 組織の許可リストが構成されている場合、承認された MCP サーバーにのみ接続できます。

許可リストにない MCP サーバーに接続しようとすると、Visual Studioは、サーバーが組織のポリシーで許可されていないことを示すエラー メッセージを表示します。 サーバーへのアクセスを要求するか、承認されているサーバーを確認するには、組織の管理者に問い合わせてください。

この機能は、組織が次の場合に役立ちます。

  • 機密データを処理できる MCP サーバーを制御する
  • セキュリティ ポリシーのコンプライアンスを維持する
  • 開発チーム間で MCP サーバー アクセスを一元的に管理する

MCP サーバー許可リストを管理者として構成する方法については、「 MCP サーバー許可リストの構成」を参照してください。

MCPのプロンプトとプロンプトテンプレート

MCP サーバーは、言語モデルとより効果的に対話するのに役立つ再利用可能なプロンプト テンプレートを提供できます。 これらのプロンプトは、特定のタスクに合わせて調整され、カスタマイズ可能な引数を含めることができます。

MCP プロンプトを使用する

MCP サーバーからプロンプトを参照するには:

  1. チャットで [+ 参照の追加] を選択します。
  2. プロンプトを選択し、>を選択します。
  3. プロンプトを選択し、[ プロンプトの挿入] を選択します。

一部のプロンプトには、チャットに挿入する前にカスタマイズできる引数が含まれています。 これらのプロンプトはプロンプト テンプレートと呼ばれます。

例: GitHub MCP サーバーには、プル要求の分析、コミット メッセージの生成、コード変更の確認を求めるプロンプトが表示されます。

Visual Studio に GitHub MCP をインストールする

MCP リソースとリソース テンプレート

MCP リソースは、ファイル、データベース スキーマ、アプリケーション固有のデータなどの言語モデルにコンテキストを提供します。 各リソースには、チャットで参照できる一意の URI があります。

MCP リソースを使用する

ハッシュタグ (#) とそれに続くリソース URI を使用して、Copilot チャットの MCP リソースを参照します。

引数を持つリソース (リソース テンプレート) の場合:

  1. チャットで [ + 参照の追加] を選択します。
  2. MCP リソースを選択します。
  3. リソースを選択し、必要な引数を入力して、[ リソースの追加] を選択します。

例: Azure DevOps MCP サーバーは、プロジェクト計画タスクの作業項目リソース、スプリント情報、チーム容量データを公開します。

Azure DevOps MCP Visual Studio にインストールする

例: Figma MCP サーバーは、設計コンポーネント リソース、スタイル ガイド、および設計仕様へのアクセスを提供します。

Visual Studio に Figma MCP をインストールする

MCP サンプリング

MCP サーバーは、サンプリングを使用して LLM 呼び出しを行い、より複雑なマルチステップ操作を可能にします。 Visual Studio では、MCP サーバーによってサンプリングが提供される場合、サンプリングが自動的にサポートされます。

Copilot がサンプリング呼び出しを行う必要がある場合は、確認ダイアログが表示されます。 アクションが進行する前に詳細を確認し、承認することで、自動化された操作を確実に制御できます。

例: Playwright MCP サーバーは、サンプリングを使用して、アプリケーションの DOM 構造とユーザー フローに基づいてテスト シナリオを生成します。

Visual Studio に Playwright MCP をインストールする

よく寄せられる質問

管理者として、Visual Studio ユーザーのエージェント モードでの MCP サーバーの使用を制御するにはどうすればよいですか?

管理者向けの GitHub Copilot ダッシュボードの GitHub ポリシー設定は、Visual Studio のエージェント モードと MCP の使用を管理します。 管理者がこの設定をオフにすると、そのサブスクリプションのユーザーはエージェント モードを使用したり、Visual Studio で MCP サーバーに接続したりできなくなります。

さらに、管理者は MCP サーバー許可リストを構成して、組織内で許可される MCP サーバーを正確に制御できます。 詳細については、「 MCP サーバー許可リストの構成」を参照してください

詳細については、「 企業での GitHub Copilot のポリシーと機能の管理」を参照してください