モデル コンテキスト プロトコル (MCP) は、アプリケーションが大規模言語モデル (LLM) とコンテキストを共有する方法を定義するオープン標準です。 MCP サーバーを GitHub Copilot CLI に接続して、外部ツール、データ ソース、およびサービスに Copilot アクセスできます。 MCP の概要については、「モデル コンテキスト プロトコル (MCP)」を参照してください。
サービスに接続中
メモ
Copilot コネクタは パブリック プレビュー であり、変更される可能性があります。
外部サービスを 1 回接続して、そのツールとコンテキストへのアクセスを Copilot に許可できるようにします。 その後、セットアップを繰り返したり、各サーフェスで個別にサインインしたりすることなく、サポートされている Copilot サーフェス全体でこの接続を使用できます。 GitHub は、MCP サーバーの構成と認証を自動的に処理します。
組織または企業がお客様の Copilot サブスクリプションを提供している場合、管理者はコネクタを許可するようにポリシーを更新する必要がある場合があります。 「コパイロット コネクター」を参照してください。
- 対話型 CLI セッションで、「
/mcp」と入力して MCP サーバー ダッシュボードを開いてください。 - ← キーと → キーを使用して、コネクタ ビューに切り替えます。
- コネクタを選択し、Enterを押して、接続を選択します。
- プロンプトに従ってサービスにサインインし、アクセスを承認します。
MCP サーバーの追加
メモ
GitHub MCP サーバーはCopilot CLIに組み込まれており、追加の構成なしで既に使用できます。 次の手順では、他の MCP サーバーを追加します。
組織または企業がレジストリ URL と許可リスト ポリシーを構成している場合、これらの設定は Copilot CLIに適用されます。 構成されたレジストリ URL は検出ソースとして表示され、許可リスト ポリシーで許可されているサーバーのみを実行できます。
MCP サーバーは、次の方法で追加できます。
インストール手順、使用可能なツール、および特定の MCP サーバーの URL については、 GitHub MCP レジストリを参照してください。
/mcp add コマンドの使用
-
対話型モードで、「
/mcp add」と入力します。 構成フォームが表示されます。 Tab キーを使用してフィールド間を移動します。 -
[ サーバー名] の横に、MCP サーバーの一意の名前を入力します。 これは、サーバーを参照するために使用する名前です。
-
[ サーバーの種類] の横にある対応する番号を押して、種類を選択します。 次の種類を使用できます。
- ローカル または STDIO: ローカル プロセスを開始し、標準の入出力 (
stdin/stdout) 経由で通信します。 どちらのオプションも同じように動作します。 STDIO は標準の MCP プロトコルタイプ名であるため、構成を VS Code、 Copilot cloud agent、およびその他の MCP クライアントと互換性がある場合は、これを選択します。 - HTTP または SSE: リモート MCP サーバーに接続します。 HTTP は、Streamable HTTP トランスポートを使用します。 SSE では、従来の HTTP と Server-Sent イベント トランスポートが使用されます。これは MCP 仕様では非推奨ですが、下位互換性のために引き続きサポートされています。
- ローカル または STDIO: ローカル プロセスを開始し、標準の入出力 (
-
残りのフィールドは、選択したサーバーの種類によって異なります。
-
ローカルまたは STDIO を選択した場合:
- [コマンド] の横に、任意の引数を含む、サーバーを起動するコマンドを入力します。 たとえば、「
npx @playwright/mcp@latest」のように入力します。 これは、JSON 構成ファイルのcommandプロパティとargsプロパティの両方に対応します。 - [ 環境変数] の横で、必要に応じて、サーバーが必要とする環境変数 (API キーやトークンなど) を JSON キーと値のペアとして指定します。 たとえば、「
{"API_KEY": "YOUR-API-KEY"}」のように入力します。PATH変数は、環境から自動的に継承されます。 他のすべての環境変数は、ここで構成する必要があります。
- [コマンド] の横に、任意の引数を含む、サーバーを起動するコマンドを入力します。 たとえば、「
-
HTTP または SSE を選択した場合:
- [URL] の横に、リモート サーバーの URL を貼り付けます。 たとえば、「
https://mcp.context7.com/mcp」のように入力します。 - [HTTP ヘッダー] の横で、必要に応じて HTTP ヘッダーを JSON として指定します。 たとえば、「
{"CONTEXT7_API_KEY": "YOUR-API-KEY"}」のように入力します。
- [URL] の横に、リモート サーバーの URL を貼り付けます。 たとえば、「
-
-
[ ツール] の横で、サーバーから使用できるツールを指定します。
*入力してすべてのツールを含めるか、ツール名のコンマ区切りの一覧を指定します (引用符は必要ありません)。 既定値は、*です。 -
Ctrl+キーを押して構成を保存します。 MCP サーバーが追加され、CLI を再起動せずにすぐに使用できます。
copilot mcp add サブコマンドの使用
copilot mcp add サブコマンドを使用して、端末から MCP サーバーを追加できます。対話モードに入る必要はありません。 サーバーは、 ~/.copilot/mcp-config.jsonでユーザー構成に追加されます。
ローカル (stdio) サーバーの場合は、 --後にコマンドを指定します。
copilot mcp add SERVER-NAME -- COMMAND [ARGS...]
copilot mcp add SERVER-NAME -- COMMAND [ARGS...]
リモート (HTTP/SSE) サーバーの場合は、トランスポートを指定し、URL を指定します。
copilot mcp add --transport http SERVER-NAME URL
copilot mcp add --transport http SERVER-NAME URL
追加のオプションを渡すこともできます。
--env KEY=VALUE: サーバーの環境変数を設定します。 複数の変数に対して繰り返します。--header "HEADER: VALUE": リモート サーバーの HTTP ヘッダーを設定します。 複数のヘッダーに対して同じ操作を繰り返します。--transport TRANSPORT: トランスポートの種類 (stdio、http、またはsse) を設定します。 既定値は、stdioです。--tools TOOLS: 有効にするツールを指定します。 すべてのツールに対しては*(既定値)、個別に指定する場合はカンマ区切りのリスト、どのツールも使用しない場合は""を使用します。--timeout MS: タイムアウトをミリ秒単位で設定します。
例示
ローカル stdio サーバーを追加します。
copilot mcp add context7 -- npx -y @upstash/context7-mcp
copilot mcp add context7 -- npx -y @upstash/context7-mcp
環境変数を使用してローカル サーバーを追加します。
copilot mcp add github --env GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
copilot mcp add github --env GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
リモート HTTP サーバーを追加します。
copilot mcp add --transport http notion \ https://mcp.notion.com/mcp
copilot mcp add --transport http notion \
https://mcp.notion.com/mcp
承認ヘッダーを持つリモート サーバーを追加します。
copilot mcp add --transport http \ --header "Authorization: Bearer YOUR-TOKEN" \ stripe https://mcp.stripe.com
copilot mcp add --transport http \
--header "Authorization: Bearer YOUR-TOKEN" \
stripe https://mcp.stripe.com
構成ファイルの編集
~/.copilot/mcp-config.jsonで構成ファイルを編集して、MCP サーバーを追加することもできます。 これは、構成を共有したり、複数のサーバーを一度に追加したりする場合に便利です。
次の例は、ローカル サーバーとリモート HTTP サーバーを含む構成ファイルを示しています。
{
"mcpServers": {
"playwright": {
"type": "local",
"command": "npx",
"args": ["@playwright/mcp@latest"],
"env": {},
"tools": ["*"]
},
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "YOUR-API-KEY"
},
"tools": ["*"]
}
}
}
{
"mcpServers": {
"playwright": {
"type": "local",
"command": "npx",
"args": ["@playwright/mcp@latest"],
"env": {},
"tools": ["*"]
},
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "YOUR-API-KEY"
},
"tools": ["*"]
}
}
}
MCP サーバー構成の詳細については、 リポジトリの MCP サーバーを構成する を参照してください。
リポジトリごとの MCP サーバーの追加
リポジトリに JSON ファイルを追加することで、特定のプロジェクトの MCP サーバーを構成できます。 これは、そのプロジェクトで作業している場合にのみサーバーを使用できるようにする場合や、MCP セットアップをリポジトリにコミットしてコラボレーターと共有する場合に便利です。
Copilot CLI は、次の場所でプロジェクト レベルの構成を検索します。
| Path | 推奨される使用方法 |
|---|---|
.mcp.json (作業ディレクトリからリポジトリ ルートまでの任意のディレクトリ内) | ローカルまたは各チェックアウト単位の構成; 一般的にプロジェクトルートに配置される |
.github/mcp.json | リポジトリにコミットされた共有構成 |
Git リポジトリ内で Copilot CLI を開始すると、CLI は現在の作業ディレクトリからリポジトリ ルートまでを移動し、途中で MCP 構成ファイルを読み込みます。
.mcp.jsonと.github/mcp.jsonの両方が同じディレクトリに存在する場合は、.mcp.jsonが優先されます。 サーバー名が競合する場合、作業ディレクトリに近いファイル内の定義が優先されます。 Projectレベルの定義も、~/.copilot/mcp-config.jsonの定義よりも優先されます。 相対信頼の詳細については、 GITHUB COPILOT CLI コマンド リファレンス を参照してください。
プロジェクト レベルのファイルでは、mcpServers に示されている ~/.copilot/mcp-config.json のトップレベル オブジェクト、または各キーが MCP サーバー名であるトップレベルのみの形式を使用できます。 たとえば、この構成では mcpServers オブジェクトを使用します。
{
"mcpServers": {
"playwright": {
"type": "local",
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
{
"mcpServers": {
"playwright": {
"type": "local",
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
同じサーバーは、トップレベルのみの簡潔な形式でも構成できます。
{
"playwright": {
"type": "local",
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
{
"playwright": {
"type": "local",
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
メモ
Projectレベルの MCP サーバーは、最初の起動時にフォルダーの信頼を確認した後にのみ読み込まれます。 信頼されていないディレクトリでは、暗黙的にスキップされます。 フォルダーの信頼の詳細については、「 GitHub Copilot CLI(コマンドラインインターフェース)」を参照してください。
プロンプト モード (copilot -p) では、現在のディレクトリが既に信頼されている場合、プロジェクト レベルの MCP サーバーが自動的に読み込まれます。 ディレクトリが信頼されていない場合、プロジェクト レベルの MCP サーバーは既定でスキップされます。 プロンプト モードでは対話型の信頼プロンプトを表示できないため、これらを読み込むには、 GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP 環境変数を true に設定します。 詳細については、「GITHUB COPILOT CLI コマンド リファレンス」を参照してください。
.vscode/mcp.jsonのVS Code ファイルは、Copilot CLIでは読み取りません。 サポートされていない最上位レベルのキー serversが使用されます。 既存の .vscode/mcp.json を CLI が受け入れる形式に移行するには、 GITHUB COPILOT CLI コマンド リファレンス を参照してください。
レジストリからの検索とインストール
メモ
/mcp search コマンドは、現在試験段階の機能です。 これを使用するには、Copilot CLI コマンド ライン オプションで‑‑experimentalを開始するか、セッション中に/experimental onを入力します。
対話型モードの GitHub コマンドを使用して サーバーを検出してインストールできます。 これにより、構成フォームに手動で入力することなく、使用可能なサーバーの参照、詳細の表示、インストールを行うことができます。
組織がカスタム MCP レジストリ URL を構成している場合、 /mcp search は既定の GitHub レジストリではなく、そのレジストリに接続します。
-
対話型モードでは、
/mcp search入力して星で上位サーバーを参照するか、特定のサーバーを検索する/mcp search QUERYします。 例えば次が挙げられます。/mcp search context7 -
一致するサーバーのキーボードナビゲーション可能な一覧が表示されます。 方向キーを使用して結果を参照します。
-
サーバーを選択して構成フォームを開きます。 フォームには、レジストリからのサーバーの構成が事前に設定されています。 API キーやトークンなど、必要なフィールドを入力します。
-
Ctrl+キーを押して保存します。 サーバーが
mcp-config.jsonに追加され、すぐに開始されます。
エージェント ファインダーの使い方
エージェント ファインダーは、MCP サーバー、ツール、エージェント、スキルなどの能力のカタログを検索します。 CLI で使用できるようにするには:
- エージェント検索スキルをダウンロードします。
- スキルを
~/.copilot/skillsディレクトリに追加します。 スキル ディレクトリの構造とインストールのガイダンスについては、エージェント スキルの追加 GitHub Copilot CLI を参照してください。
MCP サーバーの管理
構成済みの MCP サーバーは、対話式モードの /mcp コマンドまたは端末からの copilot mcp サブコマンドを使用して管理できます。
対話型モードでの /mcp コマンドの使用
-
構成済みの MCP サーバーを一覧表示します。 コマンド
/mcpを使用します。 これにより、プラグイン ダッシュボードが開き、構成されているすべての MCP サーバーとその現在の状態が表示されます。/mcp listを使用して、プレーン テキストと同じ情報を印刷します。 -
特定のサーバーに関する詳細を表示します。 コマンド
/mcp show SERVER-NAMEを使用します。 指定したサーバーの状態と、指定したサーバーが提供するツールの一覧が表示されます。 -
サーバーの構成を編集します。 コマンド
/mcp edit SERVER-NAMEを使用します。 -
サーバーを削除します。 コマンド
/mcp delete SERVER-NAMEを使用します。 -
サーバーを無効にする: コマンド
/mcp disable SERVER-NAMEを使用します。 無効なサーバーは構成されたままですが、 Copilotでは使用されません。 この設定は、セッション間で保持されます。 -
以前に無効にしたサーバーを有効にします。 コマンド
/mcp enable SERVER-NAMEを使用します。
ターミナルからの copilot mcp サブコマンドの使用
また、対話型モードに入らずに、ターミナルから MCP サーバーを管理することもできます。
-
構成されているすべてのサーバーを一覧表示します。
Shell copilot mcp list
copilot mcp listすべての構成ソース (ユーザー、ワークスペース、プラグイン) のサーバーを一覧表示します。 JSON 出力の
--jsonを追加します。 -
サーバーの詳細を表示します。
Shell copilot mcp get SERVER-NAME
copilot mcp get SERVER-NAMEサーバーの種類、状態、使用可能なツールを表示します。 JSON 出力の
--jsonを追加します。 -
サーバーを削除します。
Shell copilot mcp remove SERVER-NAME
copilot mcp remove SERVER-NAMEユーザー構成からサーバーを削除します。
-
サーバーを無効にする:
Shell copilot mcp disable SERVER-NAME
copilot mcp disable SERVER-NAME無効なサーバーは構成されたままですが、 Copilotでは使用されません。 この設定は、セッション間で保持されます。
-
以前に無効にしたサーバーを有効にします。
Shell copilot mcp enable SERVER-NAME
copilot mcp enable SERVER-NAME
MCP サーバーの使用
MCP サーバーを追加すると、 Copilot はプロンプトに関連する場合に提供されるツールを自動的に使用できます。 MCP サーバーと特定のツールをプロンプトで直接参照して、それらが使用されていることを確認することもできます。