# GitHub Copilot CLI 用の MCP サーバーを追加する

モデル コンテキスト プロトコル (MCP) サーバーを接続して追加のツールとコンテキストを提供することで、 Copilotの機能を拡張します。

モデル コンテキスト プロトコル (MCP) は、アプリケーションが大規模言語モデル (LLM) とコンテキストを共有する方法を定義するオープン標準です。 MCP サーバーを GitHub Copilot CLI に接続して、外部ツール、データ ソース、およびサービスに Copilot アクセスできます。 MCP の概要については、「[モデル コンテキスト プロトコル (MCP) について](/ja/copilot/concepts/context/mcp)」を参照してください。

## MCP サーバーの追加

> \[!NOTE]
> GitHub MCP サーバーはCopilot CLIに組み込まれており、追加の構成なしで既に使用できます。 次の手順では、他の MCP サーバーを追加します。

組織または企業がレジストリ URL と許可リスト ポリシーを構成している場合、これらの設定は Copilot CLIに適用されます。 構成されたレジストリ URL は検出ソースとして表示され、許可リスト ポリシーで許可されているサーバーのみを実行できます。

MCP サーバーは、次の方法で追加できます。

* [
  `/mcp add` コマンドの使用](#using-the-mcp-add-command)
* [
  `copilot mcp add` サブコマンドの使用](#using-the-copilot-mcp-add-subcommand)
* [構成ファイルの編集](#editing-the-configuration-file)
* [リポジトリごとの MCP サーバーの追加](#adding-per-repository-mcp-servers)
* [レジストリからの検索とインストール (試験段階)](#searching-and-installing-from-the-registry)

インストール手順、使用可能なツール、および特定の MCP サーバーの URL については、 [GitHub MCP レジストリ](https://github.com/mcp)を参照してください。

### `/mcp add` コマンドの使用

1. 対話型モードで、「 `/mcp add`」と入力します。 構成フォームが表示されます。 <kbd>Tab キー</kbd>を使用してフィールド間を移動します。

2. \[ **サーバー名] の**横に、MCP サーバーの一意の名前を入力します。 これは、サーバーを参照するために使用する名前です。

3. \[ **サーバーの種類] の**横にある対応する番号を押して、種類を選択します。 次の種類を使用できます。

   * **ローカル** または **STDIO**: ローカル プロセスを開始し、標準の入出力 (`stdin`/`stdout`) 経由で通信します。 どちらのオプションも同じように動作します。
     **STDIO** は標準の MCP プロトコルタイプ名であるため、構成を VS Code、 Copilot cloud agent、およびその他の MCP クライアントと互換性がある場合は、これを選択します。
   * **HTTP** または **SSE**: リモート MCP サーバーに接続します。
     **HTTP** は、Streamable HTTP トランスポートを使用します。
     **SSE** では、従来の HTTP と Server-Sent イベント トランスポートが使用されます。これは MCP 仕様では非推奨ですが、下位互換性のために引き続きサポートされています。 <!-- markdownlint-disable-line GHD046 -->

4. 残りのフィールドは、選択したサーバーの種類によって異なります。

   * **ローカル**または **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"}` 」のように入力します。

5. \[ **ツール] の**横で、サーバーから使用できるツールを指定します。
   `*`入力してすべてのツールを含めるか、ツール名のコンマ区切りの一覧を指定します (引用符は必要ありません)。 既定値は、`*` です。

6. Ctrl<kbd></kbd>+<kbd>キー</kbd>を押して構成を保存します。 MCP サーバーが追加され、CLI を再起動せずにすぐに使用できます。

### `copilot mcp add` サブコマンドの使用

`copilot mcp add` サブコマンドを使用して、端末から MCP サーバーを追加できます。対話モードに入る必要はありません。 サーバーは、 `~/.copilot/mcp-config.json`でユーザー構成に追加されます。

ローカル (stdio) サーバーの場合は、 `--`後にコマンドを指定します。

```shell copy
copilot mcp add SERVER-NAME -- COMMAND [ARGS...]
```

リモート (HTTP/SSE) サーバーの場合は、トランスポートを指定し、URL を指定します。

```shell copy
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 サーバーを追加します。

```shell copy
copilot mcp add context7 -- npx -y @upstash/context7-mcp
```

環境変数を使用してローカル サーバーを追加します。

```shell copy
copilot mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
```

リモート HTTP サーバーを追加します。

```shell copy
copilot mcp add --transport http notion \
  https://mcp.notion.com/mcp
```

承認ヘッダーを持つリモート サーバーを追加します。

```shell copy
copilot mcp add --transport http \
  --header "Authorization: Bearer YOUR-TOKEN" \
  stripe https://mcp.stripe.com
```

### 構成ファイルの編集

`~/.copilot/mcp-config.json`で構成ファイルを編集して、MCP サーバーを追加することもできます。 これは、構成を共有したり、複数のサーバーを一度に追加したりする場合に便利です。

次の例は、ローカル サーバーとリモート HTTP サーバーを含む構成ファイルを示しています。

```json copy
{
  "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 サーバーを構成する](/ja/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers#writing-a-json-configuration-for-mcp-servers) を参照してください。

### リポジトリごとの 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 コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference#mcp-server-trust-levels) を参照してください。

プロジェクト レベルのファイルでは、`mcpServers` に示されている `~/.copilot/mcp-config.json` のトップレベル オブジェクト、または各キーが MCP サーバー名であるトップレベルのみの形式を使用できます。 たとえば、この構成では `mcpServers` オブジェクトを使用します。

```json copy
{
  "mcpServers": {
    "playwright": {
      "type": "local",
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}
```

同じサーバーは、トップレベルのみの簡潔な形式でも構成できます。

```json copy
{
  "playwright": {
    "type": "local",
    "command": "npx",
    "args": ["@playwright/mcp@latest"]
  }
}
```

> \[!NOTE]
> Projectレベルの MCP サーバーは、最初の起動時にフォルダーの信頼を確認した後にのみ読み込まれます。 信頼されていないディレクトリでは、暗黙的にスキップされます。 フォルダーの信頼の詳細については、「 [GITHUB COPILOT CLI について](/ja/copilot/concepts/agents/copilot-cli/about-copilot-cli#trusted-directories)」を参照してください。

プロンプト モード (`copilot -p`) では、現在のディレクトリが既に信頼されている場合、プロジェクト レベルの MCP サーバーが自動的に読み込まれます。 ディレクトリが信頼されていない場合、プロジェクト レベルの MCP サーバーは既定でスキップされます。 プロンプト モードでは対話型の信頼プロンプトを表示できないため、これらを読み込むには、 `GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP` 環境変数を `true` に設定します。 詳細については、「[GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference#environment-variables)」を参照してください。

`.vscode/mcp.json`のVS Code ファイルは、Copilot CLIでは読み取りません。 サポートされていない最上位レベルのキー `servers`が使用されます。 既存の `.vscode/mcp.json` を CLI が受け入れる形式に移行するには、 [GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference#migrating-from-vscodemcpjson) を参照してください。

### レジストリからの検索とインストール

> \[!NOTE]
> `/mcp search` コマンドは、現在試験段階の機能です。 これを使用するには、Copilot CLI コマンド ライン オプションで`‑‑experimental`を開始するか、セッション中に`/experimental on`を入力します。

対話型モードの GitHub コマンドを使用して[](https://github.com/mcp) サーバーを検出してインストールできます。 これにより、構成フォームに手動で入力することなく、使用可能なサーバーの参照、詳細の表示、インストールを行うことができます。

組織がカスタム MCP レジストリ URL を構成している場合、 `/mcp search` は既定の GitHub レジストリではなく、そのレジストリに接続します。

1. 対話型モードでは、 `/mcp search` 入力して星で上位サーバーを参照するか、特定のサーバーを検索する `/mcp search QUERY` します。 例えば次が挙げられます。

   ```text
   /mcp search context7
   ```

2. 一致するサーバーのキーボードナビゲーション可能な一覧が表示されます。 方向キーを使用して結果を参照します。

3. サーバーを選択して構成フォームを開きます。 フォームには、レジストリからのサーバーの構成が事前に設定されています。 API キーやトークンなど、必要なフィールドを入力します。

4. Ctrl<kbd></kbd>+<kbd>キー</kbd>を押して保存します。 サーバーが `mcp-config.json` に追加され、すぐに開始されます。

## MCP サーバーの管理

構成済みの MCP サーバーは、対話式モードの `/mcp` コマンドまたは端末からの `copilot mcp` サブコマンドを使用して管理できます。

### 対話型モードでの `/mcp` コマンドの使用

* **構成済みの MCP サーバーを一覧表示します。** コマンド `/mcp show`を使用します。 これにより、構成されているすべての MCP サーバーとその現在の状態が表示されます。

* **特定のサーバーに関する詳細を表示します。** コマンド `/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 copy
  copilot mcp list
  ```

  すべての構成ソース (ユーザー、ワークスペース、プラグイン) のサーバーを一覧表示します。 JSON 出力の `--json` を追加します。

* **サーバーの詳細を表示します。**

  ```shell copy
  copilot mcp get SERVER-NAME
  ```

  サーバーの種類、状態、使用可能なツールを表示します。 JSON 出力の `--json` を追加します。

* **サーバーを削除します。**

  ```shell copy
  copilot mcp remove SERVER-NAME
  ```

  ユーザー構成からサーバーを削除します。

## MCP サーバーの使用

MCP サーバーを追加すると、 Copilot はプロンプトに関連する場合に提供されるツールを自動的に使用できます。 MCP サーバーと特定のツールをプロンプトで直接参照して、それらが使用されていることを確認することもできます。

## 詳細については、次を参照してください。

* [モデル コンテキスト プロトコル (MCP) について](/ja/copilot/concepts/context/mcp)
* [モデル コンテキスト プロトコル (MCP) サーバーを使用した GitHub Copilot Chatの拡張](/ja/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp)
* [リポジトリの MCP サーバーを構成する](/ja/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers)