メモ
- 構成された MCP レジストリに基づいて使用できる MCP サーバーを表示する機能は、VS Code Stable および Insiders でサポートされています。
- [Registry only] 設定のポリシー適用は、現在、VS Code Insider でのみ使用できます。VS Code Stable でのサポートは 2025 年 10 月に開始される予定です。 MCP レジストリと許可リストのサポートは、今後数か月以内に他のすべての Copilot IDE にも提供される予定です。
概要
MCP レジストリとは、モデル コンテキスト プロトコル (MCP) サーバーのディレクトリであり、IDE や Copilot (さらにその他のホスト アプリケーション) のカタログとして機能します。 各レジストリ エントリは、サーバーが公開するツール、リソース、プロンプトが記述されているサーバーのマニフェストを指します。
Enterprise または organization 所有者は、MCP レジストリ URL とアクセス制御ポリシーを構成して、GitHub Copilot を使うサポート対象の IDE で開発者が表示および実行できる MCP サーバーを指定できます。
MCP レジストリを構成すると、次のことができます。
- 開発者が検出および使用できる MCP サーバーのキュレーションされたカタログを提供する
- よりきめ細かなアクセス制御のために、承認されていないサーバーへのアクセスを制限する
- ポリシーによってサーバーが禁止されている場合に開発者に明確に伝える
MCP レジストリをまだ設定していない場合は、この記事で後述する「MCP レジストリの設定」を参照してください。
MCP ポリシー設定について
次のように設定すると、organization または Enterprise 内で MCP サーバーを検出してアクセスする方法を制御できます。
MCP サーバー ポリシー
まず、全体的な [MCP servers in Copilot] ポリシーを設定する必要があります。
- Enabled: MCP サーバーが許可されます (既定の動作はレジストリ構成によって異なります)
- Disabled: この Enterprise または organization の Copilot シートが割り当てられたユーザーは MCP サーバーを使用できません
- No policy (Enterprise only): 子 organization は独自の MCP ポリシーを設定できます
MCP Registry URL
[MCP Registry URL] は、検出可能または制限付きの内部 MCP レジストリのエンドポイントを指定する省略可能なフィールドです。
構成すると次のようになります。
- MCP をサポートする IDE に、レジストリに登録されているサーバーが表示されます
- [Restrict MCP access to registry servers] オプションが有効になります
[Restrict MCP access to registry servers] 設定
[Restrict MCP access to registry servers] 設定では、レジストリベースのアクセスをどの程度厳格に適用するかを選びます。
- Allow all (既定値): 開発者は任意のローカルおよびリモート MCP サーバーを実行できます。 レジストリ サーバーは、IDE カタログに引き続きキュレーションされた一覧として表示されるので、簡単に見つけられます。
- Registry only: 開発者は、アップロードされた MCP レジストリに明示的に登録されている MCP サーバーのみを実行できます。 その他のすべてのサーバーは、リモート (ホステッド) かローカル (ユーザーのマシン上でクライアント側で稼働) かに関係なく、実行時に禁止されます。 IDE UI では、禁止されたサーバーは淡色表示され、警告メッセージも表示されます。
mcp.json
構成ファイルでは、"run": "blocked"
も表示される場合があります。
警告
- [Registry only] オプションを構成するには、有効な形式の MCP レジストリ URL を指定して [Save] をクリックする必要があります。
- [Registry only] の適用は、現在、VS Code Insider でのみ有効です。 他の Copilot 環境のサポートは、今後数か月以内に追加される予定です。
Enterprise 向け MCP 許可リスト ポリシーの構成
- GitHub の右上隅にあるプロフィール画像をクリックします。
- ご自分の環境に応じて、[Your enterprise] または [Your enterprises] をクリックし、表示するエンタープライズをクリックします。
- ページの上部にある [ Policies] をクリックします。
- [Policies] セクションで [Copilot] をクリックします。
- ページにポリシーの一覧がまだ表示されていない場合は、[Policies] タブをクリックします。
- [Features] の [MCP servers in Copilot] を [Enabled] に設定します。
- [MCP Registry URL (optional)] フィールドに、仕様に準拠した MCP レジストリの URL を入力します。
- [保存] をクリックします。
- [Restrict MCP access to registry servers] の横にあるドロップダウンから次のいずれかを選びます。
-
Allow all: 制限はありません。 すべての MCP サーバーを使用できます。
-
Registry only: レジストリに登録されているサーバーのみを実行できます。
メモ
レジストリ URL が設定されていない場合、[Registry only] オプションを選ぶと、すべての MCP サーバーが禁止されます。
-
選んだポリシーは、Enterprise 内の開発者にすぐに適用されます。
Organization 向け MCP 許可リスト ポリシーの構成
- GitHub の右上隅にあるプロフィール画像をクリックしてから、[ Your organizations] をクリックします。
- 組織の隣の [設定] をクリックします。
- サイドバーにある [Code, planning, and automation] の [ Copilot] をクリックし、[Policies] をクリックします。
- [Features] の [MCP servers in Copilot] を [Enabled] に設定します。
- [MCP Registry URL (optional)] フィールドに、仕様に準拠した MCP レジストリの URL を入力します。
- [保存] をクリックします。
- [Restrict MCP access to registry servers] の横にあるドロップダウンから次のいずれかを選びます。
-
Allow all: 制限はありません。 すべての MCP サーバーを使用できます。
-
Registry only: レジストリに登録されているサーバーのみを実行できます。
メモ
レジストリ URL が設定されていない場合、[Registry only] オプションを選ぶと、すべての MCP サーバーが禁止されます。
-
選んだポリシーは、organization 内の開発者にすぐに適用されます。
MCP 許可リストの適用方法
GitHub では、MCP 許可リストの適用に次の戦略を採用しています。
ローカル サーバー
MCP 許可リストの適用は、ローカル MCP サーバーにも適用されます。 [Registry only] を構成する場合は、レジストリにローカル サーバーを追加する必要があります。
レジストリにローカル サーバーを追加する:
- ローカル サーバーは、正しいサーバー ID を指定してレジストリに登録する必要があります
- サーバー ID はレジストリ エントリとインストール済みサーバーの間で完全に一致している必要があります
- サーバーのドキュメントまたはマニフェストで正規の ID を確認します
- Organization 全体で一貫性のあるデプロイを行うために、ユーザーが想定される ID を使ってサーバーをインストールできるようにインストール手順を用意します
複数のシートが割り当てられたユーザーに対するポリシーの解決
MCP 許可リストの適用は、常に GitHub Copilot シートを割り当てる organization または Enterprise に関連付けられます。 ユーザーに複数のシートが割り当てられている場合 (たとえば、複数の organization から、または Enterprise とその子 organization の両方から)、競合は GitHub によって自動的に解決され、1 つのアクティブなポリシーが適用されます。
解決ロジックは次のとおりです。
- スコープ: 親 Enterprise によって設定されたポリシーは、organization によって設定されたポリシーよりも優先されます。 Enterprise ポリシーは、その Enterprise 内のすべての organization とメンバーに適用されます。
- 適用の厳格度:
Registry only
はAllow all
よりも優先されます。 - レジストリのアップロードの新しさ: 2 つのポリシーのスコープと厳格度が同じ場合、最後にアップロード (保存) されたレジストリが優先されます。
- タイブレーカー: 他の条件がすべて同じ場合、内部 ID が最も小さいものが優先されます (まれなエッジ ケース)。
重要
現時点では、1 人のユーザーに適用できるレジストリ URL は 1 つだけです。 複数の organization または Enterprise が複数のレジストリを提供している場合でも、(上記の規則によって決定された) 最優先レジストリのみが使われます。
推奨事項: 整合性を確保し、複数の organization 間の競合を回避するため、可能な限り、MCP レジストリ URL と許可リスト ポリシーを Enterprise レベルで設定し、保守してください。
MCP レジストリの設定
MCP レジストリをまだ構成していない場合は、ニーズに応じて複数の方法で作成できます。
簡易または静的レジストリ
レジストリとは、基本的に、MCP サーバー マニフェストの一覧を提供する HTTPS エンドポイントに過ぎません。 これを静的な JSON ファイルとして GitHub Pages、S3 バケット、または任意の Web サーバーに発行できます。 これが最も高速で軽量なオプションです。
レジストリ形式の例
レジストリは、次の構造の JSON 応答を返す必要があります。
{ "servers": [ { "id": "github", "name": "GitHub MCP Server", "description": "Tools and resources for GitHub repos, issues, PRs, and Actions.", "manifest_url": "https://registry.yourcompany.com/servers/github/manifest.json", "categories": ["code", "devops", "github"], "version": "1.0.0", "release_date": "2025-09-01T00:00:00Z", "latest": true }, { "id": "local-linter", "name": "Local Linter", "description": "Runs lint checks against local files", "manifest_url": "file:///path/to/local/manifest.json", "categories": ["linting", "local", "devtools"], "version": "1.0.0", "release_date": "2025-09-01T00:00:00Z", "latest": true } ], "total_count": 2, "updated_at": "2025-09-09T12:00:00Z" }
必須フィールド:
id
: サーバーの一意識別子name
: サーバーの表示名description
: サーバーの機能に関する簡単な説明manifest_url
: サーバーの MCP マニフェストを指す URL
その他のメタデータを提供するオプション フィールド:
categories
: カテゴリ タグの配列version
: バージョン識別子release_date
: ISO 形式のリリース日latest
: これが最新バージョンかどうかを示すブール値- その他のフィールド (ルート レベルの
total_count
やupdated_at
など)
Azure API Center
動的でフル マネージド オプションが必要な Enterprise の場合、Azure API Center (Azure API Management の一部) を MCP レジストリとして使用できます。 ガバナンス機能、検出 UI、既存の API カタログとの統合機能を備えています。
Azure API Center を使って設定するステップ:
- Azure API Center ポータルに移動します。
- 新しい API Center インスタンスを作成します (または既存のものを再利用します)。
- マニフェストとメタデータを含め、MCP サーバーを API として追加します。
- API Center インスタンスを発行します。
- API Center エンドポイント URL をコピーします。これが MCP レジストリ URL になります。
- この URL を、GitHub Enterprise または organization 設定の [MCP Registry URL (optional)] フィールドに貼り付けます。
メモ
Azure API Center には、基本的な API カタログ作成と検出のための Free レベルが含まれています。 大規模な organization の場合、より大規模なスケールと高度なガバナンスを実現するために、有料の Azure API Management プランを使うことも選択できます。
詳細については、Azure API Center のドキュメントと Azure API Center のクイックスタートを参照してください。