「GitHub Copilotの設定 - MCPサーバ」の版間の差分
| (同じ利用者による、間の2版が非表示) | |||
| 18行目: | 18行目: | ||
* エラートラッキング | * エラートラッキング | ||
*: Sentryとの連携によるエラーログの分析と監視 | *: Sentryとの連携によるエラーログの分析と監視 | ||
<br> | |||
[[ファイル:GitHub Copilot MCP Architecture 1.png|フレームなし|中央|615x350px]] | |||
<br><br> | <br><br> | ||
| 201行目: | 203行目: | ||
* <code>args</code> | * <code>args</code> | ||
*: コマンドライン引数 (stdioサーバの場合) | *: コマンドライン引数 (stdioサーバの場合) | ||
<br> | |||
GitHub Copilot CLI用のMCPサーバ設定ファイル (<u>~/.copilot/mcp-config.json</u>) の基本構造を以下に示す。<br> | |||
VS Codeとは異なり、ルートキーは <code>mcpServers</code> である。<br> | |||
<br> | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"mcpServers": { | |||
"server-name": { | |||
"type": "local", | |||
"command": "npx", | |||
"args": ["-y", "package-name"], | |||
"tools": ["*"], | |||
"env": {} | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
* <code>mcpServers</code> | |||
*: MCPサーバの定義 (ルートキー) | |||
* <code>server-name</code> | |||
*: MCPサーバの識別子 | |||
* <code>type</code> | |||
*: サーバ種別 (<code>local</code> / <code>http</code> / <code>sse</code>) | |||
*: <code>local</code> はSTDIO接続のローカルサーバ、<code>http</code> はStreamable HTTP接続のリモートサーバ、<code>sse</code> はServer-Sent Events接続のリモートサーバ (非推奨) | |||
* <code>command</code> | |||
*: 起動コマンド (localサーバの場合) | |||
* <code>args</code> | |||
*: コマンドライン引数 (localサーバの場合) | |||
* <code>tools</code> | |||
*: 有効化するツール名のリスト (<code>["*"]</code> で全ツールを有効化) | |||
* <code>env</code> | |||
*: 環境変数の定義 | |||
<br> | <br> | ||
==== ローカルサーバ (stdio) の設定例 ==== | ==== ローカルサーバ (stdio) の設定例 ==== | ||
ローカルプロセスとして実行されるMCPサーバの設定例を以下に示す。<br> | ローカルプロセスとして実行されるMCPサーバの設定例を以下に示す。<br> | ||
<br> | |||
VS Codeの場合の設定例を以下に示す。<br> | |||
<br> | <br> | ||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
| 230行目: | 267行目: | ||
* playwright | * playwright | ||
*: Playwrightサーバ (npxで起動) | *: Playwrightサーバ (npxで起動) | ||
<br> | |||
GitHub Copilot CLIの場合の設定例を以下に示す。<br> | |||
<code>type</code> に <code>local</code> を指定し、<code>tools</code> に有効化するツールを指定する。<br> | |||
<br> | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"mcpServers": { | |||
"playwright": { | |||
"type": "local", | |||
"command": "npx", | |||
"args": ["-y", "@playwright/mcp@latest"], | |||
"tools": ["*"], | |||
"env": {} | |||
}, | |||
"serena": { | |||
"type": "local", | |||
"command": "uvx", | |||
"args": [ | |||
"--from", | |||
"git+https://github.com/oraios/serena", | |||
"serena", | |||
"start-mcp-server", | |||
"--context", | |||
"ide-assistant" | |||
], | |||
"tools": ["*"], | |||
"env": {} | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
* playwright | |||
*: Playwrightサーバ (npxで起動) | |||
* serena | |||
*: Serenaサーバ (uvxで起動、Gitリポジトリから取得) | |||
<br> | <br> | ||
==== リモートサーバ (HTTP) の設定例 ==== | ==== リモートサーバ (HTTP) の設定例 ==== | ||
外部でホストされているMCPサーバの設定例を以下に示す。<br> | 外部でホストされているMCPサーバの設定例を以下に示す。<br> | ||
<br> | |||
VS Codeの場合の設定例を以下に示す。<br> | |||
<br> | <br> | ||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
| 258行目: | 333行目: | ||
* <code>headers</code> | * <code>headers</code> | ||
*: HTTPヘッダ (認証情報等) | *: HTTPヘッダ (認証情報等) | ||
<br> | |||
GitHub Copilot CLIの場合の設定例を以下に示す。<br> | |||
<code>type</code> に <code>http</code> を指定し、認証情報は <code>headers</code> オブジェクトに直接記述する。<br> | |||
<br> | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"mcpServers": { | |||
"github": { | |||
"type": "http", | |||
"url": "https://api.githubcopilot.com/mcp/", | |||
"headers": { | |||
"Authorization": "Bearer ${GITHUB_PERSONAL_ACCESS_TOKEN}" | |||
}, | |||
"tools": ["*"] | |||
}, | |||
"context7": { | |||
"type": "http", | |||
"url": "https://mcp.context7.com/mcp", | |||
"headers": { | |||
"CONTEXT7_API_KEY": "YOUR-API-KEY" | |||
}, | |||
"tools": ["*"] | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
* <code>type</code> | |||
*: <code>http</code> を指定 (Streamable HTTP接続) | |||
* <code>url</code> | |||
*: リモートMCPサーバのURL | |||
* <code>headers</code> | |||
*: HTTPヘッダ (認証情報等を直接記述) | |||
* <code>tools</code> | |||
*: 有効化するツール名のリスト | |||
<br> | <br> | ||
==== 環境変数の使用 ==== | ==== 環境変数の使用 ==== | ||
環境変数を使用して認証情報を管理する例を以下に示す。<br> | 環境変数を使用して認証情報を管理する例を以下に示す。<br> | ||
<br> | |||
VS Codeの場合の設定例を以下に示す。<br> | |||
ユーザに対話的に値を入力させる <code>inputs</code> 機構が利用できる。<br> | |||
<br> | <br> | ||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
| 296行目: | 409行目: | ||
* <code>${input:api-key}</code> | * <code>${input:api-key}</code> | ||
*: 入力された値を参照 | *: 入力された値を参照 | ||
<br> | |||
GitHub Copilot CLIの場合の設定例を以下に示す。<br> | |||
GitHub Copilot CLIには <code>inputs</code> 機構は無いため、<u>事前にシェルにエクスポートした環境変数</u> を <code>$VARIABLE_NAME</code> 形式で参照する。<br> | |||
<br> | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"mcpServers": { | |||
"example": { | |||
"type": "local", | |||
"command": "npx", | |||
"args": ["-y", "example-server"], | |||
"tools": ["*"], | |||
"env": { | |||
"API_KEY": "$EXAMPLE_API_KEY" | |||
} | |||
}, | |||
"atlassian": { | |||
"type": "local", | |||
"command": "npx", | |||
"args": [ | |||
"mcp-remote@latest", | |||
"https://mcp.atlassian.com/v1/mcp", | |||
"--header", | |||
"Authorization: Basic $ATLASSIAN_API_KEY" | |||
], | |||
"tools": ["*"], | |||
"env": { | |||
"ATLASSIAN_API_KEY": "$COPILOT_MCP_ATLASSIAN_API_KEY" | |||
} | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
* <code>env</code> | |||
*: MCPサーバプロセスに渡される環境変数の定義 | |||
* <code>$EXAMPLE_API_KEY</code> | |||
*: シェルの環境変数を参照 | |||
* <code>$COPILOT_MCP_<NAME></code> | |||
*: Copilot Cloud Agent で使用される場合の Secret 参照プレフィックス | |||
<br> | |||
なお、対話型コマンド <code>/mcp add</code> でMCPサーバを追加する場合、入力された環境変数は自動的に <code>env</code> セクションに保存される。<br> | |||
<br><br> | <br><br> | ||
2026年4月28日 (火) 12:46時点における最新版
概要
MCP (Model Context Protocol) は、Anthropicが開発したオープンプロトコルであり、LLMと外部ツール・サービスの統合を標準化する技術である。
MCPはAIのUSBと呼ばれ、GitHub Copilotの機能を拡張し、外部ツールやデータソースへのアクセスを可能にする。
GitHub CopilotにおけるMCPサーバは、以下に示す特徴を持つ。
- LLMと外部システムの統合を標準化
- ローカルサーバ (stdio) とリモートサーバ (HTTP / SSE) の2種類のトランスポート
- 複数のIDEでの統一された設定形式
- 組織・エンタープライズレベルでの一元管理
MCPサーバを使用することにより、以下に示すメリットが得られる。
- GitHub APIへのアクセス
- Issue作成、PR管理、リポジトリ情報取得、ブランチ作成、ユーザ検索
- ブラウザ自動化
- Webページのアクセス、操作、スクリーンショット撮影
- データベース操作
- SQLクエリの実行、スキーマ検査、テーブル情報の取得
- エラートラッキング
- Sentryとの連携によるエラーログの分析と監視

MCPサーバの種類
MCPサーバは、2種類のトランスポート方式で接続される。
ローカルサーバ (stdio)
ローカルプロセスとして実行されるMCPサーバである。
- トランスポート
- stdio (標準入出力)
- 起動方法
commandとargsで起動コマンドを指定
- 用途
- ローカルリソースへのアクセス (ファイルシステム、Webブラウザ自動化等)
- 実行環境
- ローカルマシン上で実行
ローカルサーバの例を以下に示す。
- Playwright MCP
- ブラウザ自動化とテスト
- Filesystem MCP
- ローカルファイルシステムの操作
- Memory Server
- ローカルメモリの管理
リモートサーバ (HTTP / SSE)
外部でホストされているMCPサーバである。
- トランスポート
- HTTP / SSE (Server-Sent Events)
- 接続方法
urlで接続先を指定
- 認証
- OAuth認証またはPAT (Personal Access Token) 認証
- 用途
- クラウドサービスへのアクセス (GitHub、Sentry、Supabase等)
リモートサーバの例を以下に示す。
- GitHub MCP
- GitHubリポジトリ、Issue、PRの管理
- Sentry MCP
- エラートラッキングと監視
- Cloudflare MCP
- Cloudflare連携
トランスポートの比較
下表に、トランスポートの種類と特徴を示す。
| トランスポート | 実行場所 | 起動方法 | 用途 | 推奨度 |
|---|---|---|---|---|
| stdio | ローカルマシン | command + args | ローカルリソースへのアクセス | 推奨 |
| HTTP | 外部サーバ | url | クラウドサービスへのアクセス | 推奨 |
| SSE | 外部サーバ | url | クラウドサービスへのアクセス | 非推奨 (HTTPへの移行推奨) |
対応IDE
MCPサーバは、複数のIDEで対応している。
IDE別の対応状況と設定方法を以下に示す。
VS Code
VS Codeでは、設定ファイル または settings.json でMCPサーバを設定する。
- 対応バージョン
- 1.102以降
- 設定ファイル
- .vscode/mcp.json または settings.json
- 自動設定されるMCPサーバ
- GitHub MCP、Playwright MCP
Visual Studio
Visual Studioでは、GUIダイアログまたは設定ファイルでMCPサーバを設定する。
- 対応バージョン
- 17.14以降
- 設定方法
- GUIダイアログまたは mcp.json
- 自動設定されるMCPサーバ
- GitHub MCP、Playwright MCP
JetBrains IDE
JetBrains IDE (IntelliJ IDEA、PyCharm、WebStorm等) では、MCP RegistryまたはローカルMCPサーバを設定する。
- 対応IDE
- IntelliJ IDEA、PyCharm、WebStorm、Rider等
- 設定方法
- MCP Registry経由またはローカルMCPサーバ (mcp.json)
- 自動設定されるMCPサーバ
- GitHub MCP、Playwright MCP
Xcode
Xcodeでは、設定メニューからMCPサーバを設定する。
- 設定方法
- 設定メニュー
- 自動設定されるMCPサーバ
- GitHub MCP、Playwright MCP
Eclipse
Eclipseでは、設定メニューからMCPサーバを設定する。
- 設定方法
- 設定メニュー
- 自動設定されるMCPサーバ
- GitHub MCP、Playwright MCP
GitHub Copilot CLI
GitHub Copilot CLIでは、対話型コマンドまたは設定ファイルでMCPサーバを設定する。
設定ファイルは、デフォルトでホームディレクトリ配下の ~/.copilot/mcp-config.json に保存される。
なお、設定ファイルの配置場所は、環境変数 COPILOT_HOME で変更可能である。
- 設定方法
- 対話型コマンド (
/mcp add) または mcp-config.json
- 対話型コマンド (
- 設定ファイル
- ~/.copilot/mcp-config.json
- 自動設定されるMCPサーバ
- GitHub MCP
- 主な管理コマンド
- /mcp show (一覧表示)
- /mcp edit (編集)
- /mcp delete (削除)
- /mcp enable / /mcp disable (有効化 / 無効化)
- 対応するサーバ種別
- STDIO (ローカル)、HTTP、SSE (非推奨)
対応IDE一覧
下表に、対応IDEと設定ファイルの配置場所を示す。
| IDE | 対応バージョン | 設定ファイル | 自動設定 |
|---|---|---|---|
| VS Code | 1.102以降 | .vscode/mcp.json settings.json |
GitHub MCP Playwright MCP |
| Visual Studio | 17.14以降 | mcp.json GUIダイアログ |
GitHub MCP Playwright MCP |
| JetBrains IDE | 最新版 | mcp.json MCP Registry |
GitHub MCP Playwright MCP |
| Xcode | 最新版 | 設定メニュー | GitHub MCP Playwright MCP |
| Eclipse | 最新版 | 設定メニュー | GitHub MCP Playwright MCP |
| GitHub Copilot CLI | 最新版 | ~/.copilot/mcp-config.json 対話型コマンド |
GitHub MCP |
設定ファイルの書式
MCPサーバの設定ファイルは、JSON形式で記述される。
基本構造
VS Code用のMCPサーバ設定ファイルの基本構造を以下に示す。
{
"inputs": [],
"servers": {
"server-name": {
"command": "npx",
"args": ["-y", "package-name"]
}
}
}
inputs- 環境変数の入力定義 (オプション)
servers- MCPサーバの定義
server-name- MCPサーバの識別子
command- 起動コマンド (stdioサーバの場合)
args- コマンドライン引数 (stdioサーバの場合)
GitHub Copilot CLI用のMCPサーバ設定ファイル (~/.copilot/mcp-config.json) の基本構造を以下に示す。
VS Codeとは異なり、ルートキーは mcpServers である。
{
"mcpServers": {
"server-name": {
"type": "local",
"command": "npx",
"args": ["-y", "package-name"],
"tools": ["*"],
"env": {}
}
}
}
mcpServers- MCPサーバの定義 (ルートキー)
server-name- MCPサーバの識別子
type- サーバ種別 (
local/http/sse) localはSTDIO接続のローカルサーバ、httpはStreamable HTTP接続のリモートサーバ、sseはServer-Sent Events接続のリモートサーバ (非推奨)
- サーバ種別 (
command- 起動コマンド (localサーバの場合)
args- コマンドライン引数 (localサーバの場合)
tools- 有効化するツール名のリスト (
["*"]で全ツールを有効化)
- 有効化するツール名のリスト (
env- 環境変数の定義
ローカルサーバ (stdio) の設定例
ローカルプロセスとして実行されるMCPサーバの設定例を以下に示す。
VS Codeの場合の設定例を以下に示す。
{
"servers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
},
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
}
- memory
- メモリサーバ (npxで起動)
- fetch
- Fetchサーバ (uvxで起動)
- playwright
- Playwrightサーバ (npxで起動)
GitHub Copilot CLIの場合の設定例を以下に示す。
type に local を指定し、tools に有効化するツールを指定する。
{
"mcpServers": {
"playwright": {
"type": "local",
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"],
"tools": ["*"],
"env": {}
},
"serena": {
"type": "local",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/oraios/serena",
"serena",
"start-mcp-server",
"--context",
"ide-assistant"
],
"tools": ["*"],
"env": {}
}
}
}
- playwright
- Playwrightサーバ (npxで起動)
- serena
- Serenaサーバ (uvxで起動、Gitリポジトリから取得)
リモートサーバ (HTTP) の設定例
外部でホストされているMCPサーバの設定例を以下に示す。
VS Codeの場合の設定例を以下に示す。
{
"servers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"requestInit": {
"headers": {
"Authorization": "Bearer YOUR_PAT_HERE"
}
}
},
"sentry": {
"url": "https://mcp.sentry.dev/mcp"
}
}
}
url- MCPサーバのURL
requestInit- HTTPリクエストの初期化オプション
headers- HTTPヘッダ (認証情報等)
GitHub Copilot CLIの場合の設定例を以下に示す。
type に http を指定し、認証情報は headers オブジェクトに直接記述する。
{
"mcpServers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer ${GITHUB_PERSONAL_ACCESS_TOKEN}"
},
"tools": ["*"]
},
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "YOUR-API-KEY"
},
"tools": ["*"]
}
}
}
typehttpを指定 (Streamable HTTP接続)
url- リモートMCPサーバのURL
headers- HTTPヘッダ (認証情報等を直接記述)
tools- 有効化するツール名のリスト
環境変数の使用
環境変数を使用して認証情報を管理する例を以下に示す。
VS Codeの場合の設定例を以下に示す。
ユーザに対話的に値を入力させる inputs 機構が利用できる。
{
"inputs": [
{
"type": "promptString",
"id": "api-key",
"description": "API Key",
"password": true
}
],
"servers": {
"example": {
"command": "npx",
"args": ["-y", "example-server"],
"env": {
"API_KEY": "${input:api-key}"
}
}
}
}
inputs- ユーザ入力の定義
type- 入力タイプ (promptString等)
id- 入力の識別子
password- パスワード入力かどうか (true/false)
env- 環境変数の設定
${input:api-key}- 入力された値を参照
GitHub Copilot CLIの場合の設定例を以下に示す。
GitHub Copilot CLIには inputs 機構は無いため、事前にシェルにエクスポートした環境変数 を $VARIABLE_NAME 形式で参照する。
{
"mcpServers": {
"example": {
"type": "local",
"command": "npx",
"args": ["-y", "example-server"],
"tools": ["*"],
"env": {
"API_KEY": "$EXAMPLE_API_KEY"
}
},
"atlassian": {
"type": "local",
"command": "npx",
"args": [
"mcp-remote@latest",
"https://mcp.atlassian.com/v1/mcp",
"--header",
"Authorization: Basic $ATLASSIAN_API_KEY"
],
"tools": ["*"],
"env": {
"ATLASSIAN_API_KEY": "$COPILOT_MCP_ATLASSIAN_API_KEY"
}
}
}
}
env- MCPサーバプロセスに渡される環境変数の定義
$EXAMPLE_API_KEY- シェルの環境変数を参照
$COPILOT_MCP_<NAME>- Copilot Cloud Agent で使用される場合の Secret 参照プレフィックス
なお、対話型コマンド /mcp add でMCPサーバを追加する場合、入力された環境変数は自動的に env セクションに保存される。
GitHub MCPサーバ
GitHub MCPサーバは、GitHubが提供・保守する公式MCPサーバである。
概要
GitHub MCPサーバは、以下に示す機能を提供する。
- Issue作成
- 新しいIssueの作成
- PR管理
- Pull Requestの作成、レビュー、マージ
- リポジトリ情報取得
- リポジトリの情報、ファイル、コミット履歴の取得
- ブランチ作成
- 新しいブランチの作成
- ユーザ検索
- GitHubユーザの検索
IDE別の設定方法
IDE別のGitHub MCPサーバの設定方法を以下に示す。
VS Code
VS CodeでのGitHub MCPサーバ設定方法を以下に示す。
- GitHub Copilot拡張機能をインストールする。
- .vscode/mcp.json ファイルを作成する。
- 以下に示す内容を記述する。
{ "servers": { "github": { "url": "https://api.githubcopilot.com/mcp/" } } }
- GitHubアカウントにサインインする。
Visual Studio
Visual StudioでのGitHub MCPサーバ設定方法を以下に示す。
- GitHub Copilot拡張機能をインストールする。
- [ツール]メニューバー - [オプション] → [GitHub Copilot] → [MCPサーバ]を開く。
- [Add Server]を選択して、GitHub MCPサーバを追加する。
- GitHubアカウントにサインインする。
JetBrains IDE
JetBrains IDEでのGitHub MCPサーバ設定方法を以下に示す。
- GitHub Copilotプラグインをインストールする。
- [ファイル]メニューバー - [設定] - [ツール] → [GitHub Copilot] → [MCPサーバ]を開く。
- MCP Registryから[GitHub MCP]を選択する。
- GitHubアカウントにサインインする。
認証方法
GitHub MCPサーバの認証方法を以下に示す。
- GitHubアカウントへのサインイン
- IDEからGitHubアカウントにサインインする。
- PAT (Personal Access Token) 認証
- GitHubのPATを使用して認証する。
- 設定ファイルの
AuthorizationヘッダにPATを指定する。 - PAT認証の設定例を以下に示す。
{ "servers": { "github": { "url": "https://api.githubcopilot.com/mcp/", "requestInit": { "headers": { "Authorization": "Bearer YOUR_GITHUB_PAT" } } } } }
Copilot Coding Agentとの統合
Copilot Coding Agentは、MCPサーバと統合してワークフローを自動化できる。
対応機能
Copilot Coding AgentにおけるMCPサーバの対応機能を以下に示す。
- ツールのみサポート
- MCPサーバのツールのみサポート (リソース、プロンプトは非対応)
- OAuth認証リモートサーバは非対応
- OAuth認証を使用するリモートサーバは非対応
- stdio (ローカルサーバ) のみ対応
- stdioトランスポートのローカルサーバのみ対応
自動設定されるMCPサーバ
Copilot Coding Agentには、以下に示すMCPサーバが自動設定される。
- GitHub MCP
- Issue、PRなどのGitHubデータにアクセス
- Playwright MCP
- Webページのアクセス、操作、スクリーンショット撮影
カスタムMCPサーバの追加
Copilot Coding Agent用のカスタムMCPサーバは、リポジトリ設定ファイルで定義する。
- 設定ファイル
- .github/copilot/mcp.json
- 形式
- JSON形式
- スコープ
- リポジトリレベル
設定例を以下に示す。
{
"mcpServers": {
"server-name": {
"type": "local",
"command": "npx",
"args": ["package-name"],
"tools": ["tool_name"],
"env": {
"KEY": "value"
}
}
}
}
type- サーバタイプ (local のみ対応)
command- 起動コマンド
args- コマンドライン引数
tools- 使用可能なツール名のリスト
env- 環境変数の設定
copilot-setup-steps.yml
copilot-setup-steps.yml は、Copilot Coding Agentの依存関係のインストールに使用される。
- 配置場所
- .github/copilot-setup-steps.yml
- 用途
- MCPサーバの依存関係をインストールする
- 形式
- GitHub Actions Workflow形式
設定例を以下に示す。
name: Copilot Setup Steps
on: workflow_dispatch
jobs:
setup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
npm install -g @package/mcp-server
この設定により、Copilot Coding AgentがMCPサーバを使用する前に、必要な依存関係が自動的にインストールされる。
組織・エンタープライズでのMCP管理
GitHub Copilot Business、Copilot Enterpriseでは、組織・エンタープライズレベルでMCPサーバを一元管理できる。
ポリシー設定
MCPサーバの使用を制御するポリシー設定を以下に示す。
- ポリシー名
- MCP servers in Copilot
- デフォルト設定
- 無効 (ユーザはMCPサーバを使用できない)
- 対象
- Copilot Business、Copilot Enterprise
- 設定方法
- GitHub組織設定から有効化
ポリシー設定の手順を以下に示す。
- GitHub組織設定を開く。
- [Copilot] - [Policies] を選択する。
- [MCP servers in Copilot]を有効化する。
- アクセス制御オプションを選択する。
MCPレジストリ
MCPレジストリは、組織で承認されたMCPサーバの一覧である。
- 設定方法
- GitHub組織設定から設定
- 用途
- 組織で使用可能なMCPサーバを制限
- アクセス制御
- Allow all (全て許可) または Registry only (レジストリのみ)
MCPレジストリの設定手順を以下に示す。
- GitHub組織設定を開く。
- [Copilot] → [MCP Registry] を選択する。
- 承認するMCPサーバを追加する。
- アクセス制御オプションを選択する。
アクセス制御オプション
MCPサーバのアクセス制御オプションを以下に示す。
- Allow all
- 全てのMCPサーバを許可
- ユーザは任意のMCPサーバを使用可能
- Registry only
- MCPレジストリに登録されたサーバのみ許可
- ユーザは承認されたMCPサーバのみ使用可能
下表に、アクセス制御オプションの比較を示す。
| オプション | 説明 | セキュリティ | 柔軟性 |
|---|---|---|---|
| Allow all | 全てのMCPサーバを許可 | 低 | 高 |
| Registry only | MCPレジストリに登録されたサーバのみ許可 | 高 | 低 |
カスタムエージェントとMCPサーバ
組織・エンタープライズレベルのカスタムエージェントでは、MCPサーバを設定できる。
mcp-serversプロパティ
カスタムエージェントのYAMLフロントマターで、MCPサーバを定義する。
- 設定場所
- カスタムエージェントファイルのYAMLフロントマター
- プロパティ名
mcp-servers
- 対象レベル
- 組織レベル、エンタープライズレベル
設定例を以下に示す。
---
name: security-reviewer
description: セキュリティレビュー専門エージェント
mcp-servers:
- name: jfrog-security
url: https://mcp.jfrog.com/security
env:
JFROG_API_KEY: ${{ secrets.JFROG_SECURITY_API_KEY }}
---
name- MCPサーバの識別子
url- MCPサーバのURL
env- 環境変数の設定
環境変数の参照形式
カスタムエージェントのMCPサーバ設定では、以下に示す 環境変数参照形式 を使用できる。
- GitHub Actions形式
${{ secrets.SECRET_KEY }}
- 変数参照形式
${{ var.VARIABLE_NAME }}
- Claude Code構文
${SECRET_KEY}
- 標準形式
$SECRET_KEY
環境変数参照の例を以下に示す。
mcp-servers:
- name: example-server
url: https://example.com/mcp
env:
API_KEY: ${{ secrets.EXAMPLE_API_KEY }}
BASE_URL: ${{ var.EXAMPLE_BASE_URL }}
人気のMCPサーバ一覧
コミュニティによって開発された人気のMCPサーバを示す。
開発ツール
開発ツール向けのMCPサーバを以下に示す。
Playwright MCP
ブラウザ自動化とテストを実行する。
- 機能
- ブラウザ操作の自動化、Webページのテスト、スクリーンショット撮影、スクレイピング
- 自動設定
- Copilot Coding Agentで自動設定
- パッケージ名
- @playwright/mcp@latest
VS Code設定例を以下に示す。
{
"servers": {
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
}
Fetch MCP
Webコンテンツ取得を実行する。
- 機能
- Webページのコンテンツ取得、HTMLのパース、APIリクエスト
- パッケージ名
- mcp-server-fetch
VS Code設定例を以下に示す。
{
"servers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
Memory Server
ローカルメモリの管理を実行する。
- 機能
- セッション間でのコンテキスト保持、データの永続化
- パッケージ名
- @modelcontextprotocol/server-memory
VS Code設定例を以下に示す。
{
"servers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
}
}
}
監視・デバッグ
監視・デバッグ向けのMCPサーバを以下に示す。
Sentry MCP
エラートラッキングと監視を実行する。
- 機能
- エラーログの分析、パフォーマンス監視、問題の診断
- URL
VS Code設定例を以下に示す。
{
"servers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp"
}
}
}
その他
その他のMCPサーバを以下に示す。
Cloudflare MCP
Cloudflare連携を提供する。
- 機能
- Cloudflare Workers、KV、R2の管理
トラブルシューティング
MCPサーバが認識されない
- 設定ファイルが正しい場所に配置されているかどうかを確認する。
- VS Code
- .vscode/mcp.json または settings.json
- Visual Studio
- mcp.json
- JetBrains IDE
- mcp.json
- VS Code
- JSON構文が正しいかどうかを確認する。
- IDEを再起動する。
接続エラー
- MCPサーバのURLが正しいかどうかを確認する。
- 認証情報が正しいかどうかを確認する。
- ネットワーク接続を確認する。
- ファイアウォール設定を確認する。
ログの確認方法
VS Code
VS Codeでのログ確認方法を以下に示す。
- [Ctrl] + [Shift] + [P]キーを同時押下して、コマンドパレットを開く。
- MCP: List Servers を実行する。
- サーバのログを確認する。
chat.mcp.autostart設定
chat.mcp.autostart 設定で、MCPサーバの自動再起動を制御できる。
- 設定場所
- settings.json
- デフォルト
- true
- 用途
- MCPサーバが停止した際に自動再起動する
設定例を以下に示す。
{
"chat.mcp.autostart": true
}
Docker使用時の注意事項
Docker使用時は、デタッチモード (-d) を避ける。
- 理由
- MCPサーバはフォアグラウンドで実行する必要がある
- 推奨
- デタッチモード (-d) を使用しない
Claude CodeのMCPとの比較
設定ファイルの違い
下表に、設定ファイルの違いを示す。
| 項目 | Claude Code | GitHub Copilot (VS Code) |
|---|---|---|
| 設定ファイル | ~/.claude.json .mcp.json (プロジェクトルート) |
.vscode/mcp.json settings.json |
| スコープ | local、project、user | リポジトリ、ワークスペース、ユーザ |
| 管理コマンド | claude mcp add claude mcp list claude mcp remove |
設定ファイルの直接編集 GUIダイアログ |
| 自動設定 | なし | GitHub MCP Playwright MCP |
スコープの違い
Claude CodeとGitHub Copilotのスコープの違いを以下に示す。
- Claude Code
- local (デフォルト)
- project
- user
- GitHub Copilot
- リポジトリ
- ワークスペース
- ユーザ
- 組織
- エンタープライズ
Claude Codeは、プロジェクト単位での管理に特化している。
GitHub Copilotは、組織・エンタープライズレベルでの一元管理に対応している。
比較表
下表に、Claude CodeとGitHub CopilotのMCPの比較を示す。
| 項目 | Claude Code | GitHub Copilot |
|---|---|---|
| 管理レベル | local、project、user | リポジトリ、ワークスペース、ユーザ、組織、エンタープライズ |
| 設定ファイル | ~/.claude.json .mcp.json |
.vscode/mcp.json settings.json .github/copilot/mcp.json |
| CLI管理 | claude mcp add claude mcp list claude mcp remove |
非対応 |
| 自動設定 | なし | GitHub MCP Playwright MCP |
| 組織管理 | 非対応 | 対応 (MCPレジストリ、ポリシー設定) |
| トランスポート | HTTP、stdio、SSE | HTTP、stdio、SSE |
| 用途 | プロジェクト単位での柔軟な管理 | 組織・エンタープライズレベルでの統一管理 |
関連項目
- GitHub Copilotの設定 - カスタム指示
- リポジトリ全体に適用されるカスタム指示 (.github/copilot-instructions.md)
- GitHub Copilotの設定 - パス固有カスタム指示
- パス固有の指示ファイル (.github/instructions/*.instructions.md)
- GitHub Copilotの設定 - AGENTS.md
- AIコーディングエージェント向けのオープンフォーマット (AGENTS.md)
- GitHub Copilotの設定 - サブエージェント
- サブエージェントの作成方法 (.github/agents/*.agent.md)
参考リンク
- GitHub Copilot公式ドキュメント - Using MCP servers in GitHub Copilot
- VS Code公式ドキュメント - Copilot MCP architecture
- Model Context Protocol公式サイト
- MCP公式サーバリポジトリ