Skip to main content

モデル コンテキスト プロトコル (MCP) を使用した GitHub Copilot Chat の拡張

モデル コンテキスト プロトコル (MCP) を使って Copilot Chat を拡張する方法について説明します。

はじめに

モデル コンテキスト プロトコル (MCP) は、アプリケーションが大規模言語モデル (LLM) とコンテキストを共有する方法を定義するオープン標準です。 MCP の概要については、「モデル コンテキスト プロトコル (MCP) について」を参照してください。

現在使用可能な MCP サーバーの詳細については、MCP サーバーのリポジトリを参照してください。

Enterprise と organization は、organization または Enterprise のメンバーに対する MCP の使用を有効または無効にできます。 「Enterprise での GitHub Copilot のポリシーと機能の管理」を参照してください。 MCP ポリシーは、ポリシーを構成する organization または Enterprise からの Copilot Business または Copilot Enterprise サブスクリプションを持つユーザーにのみ適用されます。 Copilot Free、Copilot Pro、または Copilot Pro+ には、このポリシーによって管理される MCP アクセスがありません

前提条件

  • Copilot へのアクセス権。 「GitHub Copilot とは何ですか?」をご覧ください。
  • Visual Studio Code バージョン 1.99 以降。 Visual Studio Code のインストールの詳細については、Visual Studio Code ダウンロード ページを参照してください。
  • If you are a member of an organization or enterprise with a Copilot Business or Copilot Enterprise plan, the "MCP servers in Copilot" policy must be enabled in order to use MCP with Copilot.

Visual Studio Code での MCP サーバーの構成

MCP サーバーは、構成ファイルを使って手動で、または GitHub MCP レジストリを通じて構成できます。 GitHub MCP レジストリには、Visual Studio Code インスタンスに簡単に追加できる MCP サーバーのキュレーションされたリストがあります。

GitHub MCP レジストリの使用

メモ

GitHub MCP レジストリはパブリック プレビュー段階であり、変更される可能性があります。

レジストリを通じて追加できるのは、GitHub MCP レジストリのリストに含まれる MCP サーバーのみです。 他のサーバーは手動で構成できます。 「MCP サーバーの手動での構成」をご覧ください。

  1. GitHub MCP レジストリに移動します。
  2. 検索バーで追加したい MCP サーバーを検索し、一致したものの一覧で MCP サーバーをクリックします。
  3. MCP サーバーのページで、インストールの要件とその他の重要な使用情報の詳細についての説明を読みます。 これはサーバーによって異なる場合があります。
  4. [Install server] をクリックしてから、[Install in VS Code] を選びます。
  5. サーバーの Marketplace ページで Visual Studio Code が開きます。 [Install] をクリックして、MCP サーバーを Visual Studio Code インスタンスに追加します。
  6. さらに構成が必要な場合は、GitHub MCP レジストリで MCP サーバー ページの指示に従って行います。
  7. MCP サーバーが追加されたことを確認するには、Copilot Chat のエージェント モードで、ツール アイコンをクリックします。 ドロップダウン リストが表示され、Visual Studio Code インスタンスで現在使用できるすべての MCP サーバーと関連ツールが示されます。

MCP サーバーの手動での構成

Visual Studio Code で MCP サーバーを構成するには、使用する MCP サーバーの詳細を指定する構成スクリプトを設定する必要があります。 次のいずれかについて MCP サーバーを構成できます。

  • 特定のリポジトリ。 これにより、Visual Studio Code でプロジェクトを開いたすべてのユーザーと MCP サーバーを共有できます。 これを行うには、リポジトリのルートに .vscode/mcp.json ファイルを作成します。

  • Visual Studio Code の個人インスタンス。 構成した MCP サーバーにアクセスできるのは自分だけです。 これを行うには、Visual Studio Code で settings.json ファイルに構成を追加します。 この方法で構成された MCP サーバーは、すべてのワークスペースで使用できます。

    メモ

    We recommend you use only one location per server. Adding the same server to both locations may cause conflicts and unexpected behavior.

次のステップでは、.vscode/mcp.json ファイルで Fetch MCP サーバーを構成する方法を示します。 Fetch MCP サーバーは、Web コンテンツのフェッチ機能を提供する単純な MCP サーバーです。 Fetch MCP サーバーの詳細については、MCP サーバー リポジトリの Fetch ディレクトリを参照してください。

同じステップを使用して、個人用 Visual Studio Code 設定で MCP サーバーを構成できます。 他の MCP サーバーを構成する方法の詳細については、MCP サーバーのリポジトリを参照してください。

GitHub MCP サーバーの構成については、「GitHub MCP サーバーの使用」をご覧ください。

  1. 次の構成を .vscode/mcp.json ファイルに追加します。

    JSON
    {
    "inputs": [
      // The "inputs" section defines the inputs required for the MCP server configuration.
      {
        "type": "promptString"
      }
    ],
    "servers": {
      // The "servers" section defines the MCP servers you want to use.
      "fetch": {
        "command": "uvx",
        "args": ["mcp-server-fetch"]
      }
     }
    }
    
  2. .vscode/mcp.json ファイルを保存します。

  3. .vscode/mcp.json ファイルで、サーバーの一覧の一番上に [Start] ボタンが表示されます。 [Start] ボタンをクリックして、MCP サーバーを開始します。 これにより、入力ダイアログがトリガーされ、サーバー ツールが検出され、後のセッション用にそれらが格納されます。

    Visual Studio Code での MCP サーバー構成のスクリーンショット。 [Start] ボタンが濃いオレンジ色で囲まれています。

  4. Visual Studio Code のタイトル バーの アイコンをクリックして、Copilot Chat を開きます。

  5. Copilot Chat ボックスで、ポップアップ メニューから [Agent] を選びます。

    Visual Studio Code での Copilot Chat ボックスのスクリーンショット。 [Agent] オプションが濃いオレンジ色の枠線で囲まれています。

  6. 使用可能な MCP サーバーの一覧を表示するには、チャット ボックスの左上隅にあるツール アイコンをクリックします。 これで MCP サーバーの一覧が開き、現在 Visual Studio Code インスタンスで使用可能なすべての MCP サーバーと関連ツールが表示されます。

    • 必要に応じて、チャットで参照できる関連ツールのグループであるツールセットを定義できます。 ツールセットを使うと、関連する MCP ツールをまとめて簡単にグループ化し、それらをすばやく有効または無効にすることができます。 ツールセットを定義して使用する方法については、VS Code のドキュメントをご覧ください。

Visual Studio Code での MCP サーバーの構成について詳しくは、Visual Studio Code のドキュメントの「Visual Studio Code で MCP サーバーを使用する」をご覧ください。

Copilot Chat での MCP サーバーの使用

MCP サーバーを構成したら、Copilot Chat でそれを使って、さまざまなツールやサービスにアクセスできます。 次の例では、Fetch MCP サーバーを使用して、Web ページに関する詳細をフェッチします。

  1. Visual Studio Code のタイトル バーの アイコンをクリックして、Copilot Chat を開きます。

  2. Copilot Chat ボックスで、ポップアップ メニューから [Agent] を選びます。

  3. MCP 構成を含むファイルで、MCP サーバーが実行していることを確認します。 実行していない場合は、[Start] ボタンをクリックして、MCP サーバーを開始します。

    Visual Studio Code での MCP サーバー構成のスクリーンショット。 [Running] 状態が濃いオレンジ色の枠線で囲まれています。

  4. URL の詳細をフェッチするよう Copilot Chat に指示します。 次に例を示します。

    Fetch https://github.com/github/docs.

  5. 続行の確認を Copilot から求められたら、[Continue] をクリックします。

  6. Copilot が URL の詳細を取得し、チャット ボックスに表示します。

必要に応じて、VS Code で MCP のプロンプトとリソースを使用できます。

  • MCP サーバーでは、ツールと対話するための事前構成済みプロンプトを定義できます。 チャットでは、/mcp.servername.promptname というスラッシュ コマンドの形式を使って、これらのプロンプトにアクセスできます。
  • MCP サーバーで提供されるリソースは、サーバーで利用可能にすることが意図されている任意の種類のデータです。 たとえば、GitHub MCP サーバーでは、リポジトリの内容がリソースとして提供されます。 MCP サーバーからユーザーのチャット コンテキストにリソースを追加するには、チャット ボックスで [Add Context...] をクリックしてから、[MCP Resources] をクリックします。

Visual Studio Code での MCP サーバーの使用について詳しくは、Visual Studio Code ドキュメントの「Visual Studio Code で MCP サーバーを使用する」をご覧ください。

既存の MCP 構成の使用

Claude Desktop に既に MCP 構成がある場合は、Visual Studio Code でその構成を使用して、同じ MCP サーバーにアクセスできます。 これを行うには、Visual Studio Code で settings.json ファイルに次の構成を追加します。

JSON
"chat.mcp.discovery.enabled": true

Visual Studio Code が、既存の構成を自動的に見つけて、それを Visual Studio Code インスタンスで使用します。

前提条件

  • Copilot へのアクセス権。 「GitHub Copilot とは何ですか?」をご覧ください。
  • Visual Studio バージョン 17.14 以降。 Visual Studio のインストールについて詳しくは、Visual Studio のダウンロード ページをご覧ください。
  • Visual Studio から GitHub にサインインします
  • If you are a member of an organization or enterprise with a Copilot Business or Copilot Enterprise plan, the "MCP servers in Copilot" policy must be enabled in order to use MCP with Copilot.

Visual Studio での MCP サーバーの構成

  1. Visual Studio メニュー バーの [View] をクリックしてから [GitHub Copilot Chat] をクリックします。

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

  3. Copilot Chat ウィンドウでツール アイコンをクリックし、ツール ピッカー ウィンドウでプラス アイコンをクリックします。

  4. [Configure MCP server] ポップアップ ウィンドウで、サーバー ID、種類、特定の MCP サーバー構成に必要な追加フィールドなどのフィールドに入力します。

    Visual Studio では、リモートとローカルの両方のサーバーがサポートされています。 リモート サーバーは URL と資格情報を使って定義されて、セットアップと共有が容易なように外部でホストされますが、ローカル サーバーはコマンド ラインの呼び出しを使って定義されてローカル コンピューターで実行され、ローカル リソースにアクセスできます。 GitHub MCP サーバーを例として使用する、以下の構成例を参照してください。

  5. [保存] をクリックします。

  6. リモート サーバーと OAuth 認証をお使いの場合は、mcp.json ファイルで、サーバーの上の CodeLens から [Auth] をクリックして、サーバーに対する認証を行います。 ポップアップまたは新しいウィンドウが表示され、自分のアカウントを使って認証を行うことができます。 サーバーは、ユーザーが承認し、organization のポリシーで許可されているスコープにのみアクセスできます。

  7. Copilot Chat ウィンドウで、ツール アイコンをクリックします。 構成した MCP サーバーの追加ツールが表示されるようになっているはずです。

OAuth を使用するリモート サーバーの構成例

  1. [Server ID] に「github」と入力します。

  2. [Type] のドロップダウンで [HTTP/SSE] を選びます。

  3. [URL] に「https://api.githubcopilot.com/mcp/」と入力します。

  4. [Save] をクリックすると、mcp.json ファイルの構成は次のようになります。

    JSON
        {
          "servers": {
            "github": {
              "url": "https://api.githubcopilot.com/mcp/"
            }
          }
        }
    
  5. mcp.json ファイルで、サーバーの上の CodeLens から [Auth] をクリックして、サーバーに対する認証を行います。 ポップアップが表示され、自分の GitHub アカウントを使って認証を行うことができます。

ローカル サーバーの構成例

  1. [Server ID] に「github」と入力します。

  2. [Type] のドロップダウンで [stdio] を選びます。

  3. [Command (with optional arguments)] に「docker "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"」と入力します

  4. personal access token に設定された環境変数 "GITHUB_PERSONAL_ACCESS_TOKEN" を追加します。

  5. [Save] をクリックすると、mcp.json ファイルの構成は次のようになります。

    JSON
        {
          "servers": {
            "github": {
              "type": "stdio",
              "command": "docker",
              "args": [
                "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
                "ghcr.io/github/github-mcp-server"
              ],
              "env": {
                "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT"
              }
            }
          }
        }
    

Visual Studio での MCP サーバーの構成について詳しくは、Visual Studio のドキュメントで Visual Studio での MCP サーバーの使用 (プレビュー) に関する記事をご覧ください。

前提条件

  • Copilot へのアクセス権。 「GitHub Copilot とは何ですか?」をご覧ください。

  • 互換性のある JetBrains IDE。 GitHub Copilot は、次の IDE と互換性があります。

    • IntelliJ IDEA (Ultimate、Community、Educational)
    • Android Studio
    • AppCode
    • CLion
    • Code With Me ゲスト
    • DataGrip
    • DataSpell
    • GoLand
    • JetBrains クライアント
    • MPS
    • PhpStorm
    • PyCharm (Professional、Community、Educational)
    • Rider
    • RubyMine
    • RustRover
    • WebStorm
    • Writerside

    ダウンロードするには、JetBrains IDE のツール ファインダーを参照してください。

  • If you are a member of an organization or enterprise with a Copilot Business or Copilot Enterprise plan, the "MCP servers in Copilot" policy must be enabled in order to use MCP with Copilot.

JetBrains IDE での MCP サーバーの構成

  1. In the lower right corner, click .
  2. From the menu, select "Open Chat", make sure you are in Agent mode, then click the tools icon (called "Configure your MCP server") at the bottom of the chat window.
  3. Click Add MCP Tools.
  4. mcp.json ファイルで、MCP サーバーを定義します。 JetBrains IDE では、リモートとローカルの両方のサーバーがサポートされています。 リモート サーバーはセットアップと共有が容易なように外部でホストされますが、ローカル サーバーはローカル コンピューターで実行されてローカル リソースにアクセスできます。

次の構成を例として使用できます。

PAT を使用するリモート サーバーの構成例

JSON
{
    "servers": {
        "github": {
            "url": "https://api.githubcopilot.com/mcp/",
            "requestInit": {
                "headers": {
                    "Authorization": "Bearer YOUR_PAT_HERE"
                }
            }
        }
    }
  }

ローカル サーバーの構成例

JSON
{
  "servers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

前提条件

Xcode での MCP サーバーの構成

  1. Open the GitHub Copilot for Xcode extension and go to "Settings".
    • Alternatively, in an active Xcode workspace, you can find the settings by clicking Editor in the menu bar, selecting GitHub Copilot, then clicking Open GitHub Copilot for Xcode Settings.
  2. Select the MCP tab, then click Edit Config.
  3. mcp.json を編集して MCP サーバーを定義します。 Xcode では、リモートとローカルの両方のサーバーがサポートされています。 リモート サーバーはセットアップと共有が容易なように外部でホストされますが、ローカル サーバーはローカル コンピューターで実行されてローカル リソースにアクセスできます。

次の構成を例として使用できます。

PAT を使用するリモート サーバーの構成例

JSON
{
    "servers": {
        "github": {
            "url": "https://api.githubcopilot.com/mcp/",
            "requestInit": {
                "headers": {
                    "Authorization": "Bearer YOUR_PAT_HERE"
                }
            }
        }
    }
  }

ローカル サーバーの構成例

JSON
{
  "servers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

前提条件

Eclipse での MCP サーバーの構成

  1. Click the Copilot icon () in the status bar at the bottom of Eclipse.
  2. From the menu, select Open Chat and, in the chat window, click the "Configure Tools..." icon.
    • Alternatively, you can select Edit preferences, then in the left pane, expand GitHub Copilot and click MCP.
  3. [Server Configurations] で、MCP サーバーを定義します。 Eclipse では、リモートとローカルの両方のサーバーがサポートされています。 リモート サーバーはセットアップと共有が容易なように外部でホストされますが、ローカル サーバーはローカル コンピューターで実行されてローカル リソースにアクセスできます。

次の構成を例として使用できます。

PAT を使用するリモート サーバーの構成例

JSON
{
    "servers": {
        "github": {
            "url": "https://api.githubcopilot.com/mcp/",
            "requestInit": {
                "headers": {
                    "Authorization": "Bearer YOUR_PAT_HERE"
                }
            }
        }
    }
  }

ローカル サーバーの構成例

JSON
{
  "servers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

新しい MCP サーバーの作成

特定のニーズを満たす新しい MCP サーバーを作成し、それを Copilot Chat と統合できます。 たとえば、データベースまたは Web サービスに接続する MCP サーバーを作成し、そのサーバーを Copilot Chat で使って、そのデータベースまたは Web サービスでタスクを実行できます。

独自の MCP サーバーの作成と構成の詳細については、MCP 公式ドキュメントを参照してください。

参考資料