mcp-configure について
組織の環境 URL を使い、GitHub Copilot 用に Dataverse MCP サーバーを設定するスキルです。設定範囲やエンドポイントの選択、環境の検出または入力、既存設定を保った更新を案内します。
主な機能
- 01グローバルまたはプロジェクト限定の設定
- 02Azure による環境の検出
- 03環境 URL の手動入力
- 04GA または Preview の選択
- 05既存のサーバー項目を保持
- 06組織固有のサーバー登録
活用シーン
- 01GitHub Copilot に Dataverse を追加
- 02プロジェクト単位の MCP 接続設定
- 03Preview エンドポイントの登録
- 04既存サーバー URL の更新
MCP 対応
GitHub Copilot が HTTP 経由で Dataverse MCP サーバーに接続するよう設定します。選択した環境のエンドポイントを、グローバルまたはプロジェクト単位の設定に記録します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ github/ awesome-copilot --skill mcp-configureインストール後、Claude Code で/mcp-configureを入力して読み込まれたか確認します。
詳細
GitHub Copilot 用 Dataverse MCP の設定
このスキルは、組織の環境 URL を使用して、GitHub Copilot 用の Dataverse MCP サーバーを設定します。各組織は、組織識別子に基づく一意のサーバー名(例:DataverseMcporgbc9a965c)で登録されます。ユーザーが URL を指定した場合、その値は次のとおりです:$ARGUMENTS。
手順
0. MCP のスコープを確認する
MCP サーバーをグローバルに設定するか、このプロジェクトのみで設定するかをユーザーに尋ねます。
Dataverse MCP サーバーの設定方法を選択してください:
- グローバル(すべてのプロジェクトで利用可能)
- プロジェクトのみ(このプロジェクトでのみ利用可能)
ユーザーの選択に基づいて、CONFIG_PATH 変数を設定します。
- グローバル:
~/.copilot/mcp-config.json(ユーザーのホームディレクトリを使用) - プロジェクト:
.mcp/copilot/mcp.json(現在の作業ディレクトリからの相対パス)
このパスを手順 1 と 6 で使用するために保存します。
1. 設定済みの MCP サーバーを確認する
手順 0 で決定した CONFIG_PATH にある MCP 設定ファイルを読み込み、すでに設定されているサーバーを確認します。
設定ファイルは、次の構造の JSON ファイルです。
{
"mcpServers": {
"ServerName1": {
"type": "http",
"url": "https://example.com/api/mcp"
}
}
}
または、トップレベルのキーとして "mcpServers" の代わりに "servers" を使用している場合もあります。
設定済みサーバーからすべての url 値を抽出し、CONFIGURED_URLS として保存します。例:
["https://orgfbb52bb7.crm.dynamics.com/api/mcp"]
ファイルが存在しない場合、または空の場合、CONFIGURED_URLS は空([])として扱います。この手順によって、スキルが中断されてはなりません。
2. 環境 URL の取得方法を尋ねる
ユーザーに次のように尋ねます。
Dataverse 環境 URL の指定方法を選択してください。
- 自動検出 — Azure アカウントから利用可能な環境を一覧表示します(Azure CLI が必要です)
- 手動入力 — URL を直接入力します
ユーザーの選択に基づいて、次のように進めます。
- 自動検出の場合:手順 2a に進みます
- 手動入力の場合:手順 2b に進みます
2a. 環境を自動検出する
前提条件を確認します。
- Azure CLI(
az)がインストールされていることを確認します(Windows ではwhich azまたはwhere azで確認します) - インストールされていない場合はユーザーに伝え、手順 2b に進みます
API を呼び出します。
-
ユーザーが Azure CLI にログインしているか確認します。
az account show失敗した場合は、ユーザーにログインを促します。
az login -
Power Apps API のアクセストークンを取得します。
az account get-access-token --resource https://service.powerapps.com/ --query accessToken --output tsv -
Power Apps API を呼び出して環境を一覧表示します。
GET https://api.powerapps.com/providers/Microsoft.PowerApps/environments?api-version=2016-11-01 Authorization: Bearer {token} Accept: application/json -
JSON 応答を解析し、
properties?.linkedEnvironmentMetadata?.instanceUrlが null ではない環境に絞り込みます。 -
一致した環境ごとに、次の値を抽出します。
properties.displayNameをdisplayNameとして取得しますproperties.linkedEnvironmentMetadata.instanceUrl(末尾のスラッシュを削除)をinstanceUrlとして取得します
-
次の形式で環境の一覧を作成します。
[ { "displayName": "My Org (default)", "instanceUrl": "https://orgfbb52bb7.crm.dynamics.com" }, { "displayName": "Another Env", "instanceUrl": "https://orgabc123.crm.dynamics.com" } ]
API 呼び出しが成功した場合は、手順 3 に進みます。
API 呼び出しが失敗した場合(ユーザーがログインしていない、ネットワークエラー、環境が見つからない、その他のエラー)は、何が問題だったかをユーザーに伝え、手順 2b に進みます。
2b. 手動入力 — URL を尋ねる
環境 URL を直接入力するようユーザーに求めます。
Dataverse 環境の URL を入力してください。
例:
https://myorg.crm10.dynamics.comPower Platform 管理センターの「環境」で確認できます。
その後、手順 4 に進みます。
3. 環境を選択するようユーザーに求める
環境を番号付きリストで表示します。各環境について、CONFIGURED_URLS 内のいずれかの URL がその環境の instanceUrl で始まるかを確認し、該当する場合は行の末尾に (設定済み) を追加します。
アカウントで次の Dataverse 環境が見つかりました。設定する環境を選択してください。
- My Org(既定) —
https://orgfbb52bb7.crm.dynamics.com(設定済み)- Another Env —
https://orgabc123.crm.dynamics.com選択した番号を入力するか、URL を自分で入力する場合は「manual」と入力してください。
ユーザーが設定済みの環境を選択した場合は、続行する前に、再登録する(エンドポイントの種類を変更する場合など)ことを確認します。
ユーザーが「manual」と入力した場合は、手順 2b に進みます。
4. 選択した URL を確認する
選択した環境(または手動で入力した URL)から instanceUrl を取得し、末尾のスラッシュを削除します。これが、以降のスキルで使用する USER_URL です。
5. ユーザーが「Preview」と「Generally Available (GA)」のどちらのエンドポイントを希望するかを確認する
ユーザーに質問します:
どのエンドポイントを使用しますか?
- Generally Available (GA) —
/api/mcp(推奨)- Preview —
/api/mcp_preview(最新機能、不安定な場合があります)
選択に応じて:
- GA の場合:
MCP_URLを{USER_URL}/api/mcpに設定します - Preview の場合:
MCP_URLを{USER_URL}/api/mcp_previewに設定します
6. MCP サーバーを登録する
CONFIG_PATH(手順 0 で決定)にある MCP 設定ファイルを更新して、新しいサーバーを追加します。
USER_URL から一意のサーバー名を生成します:
- URL からサブドメイン(組織識別子)を抽出します
- 例:
https://orgbc9a965c.crm10.dynamics.com→orgbc9a965c
- 例:
DataverseMcpを先頭に付けてサーバー名を作成します- 例:
DataverseMcporgbc9a965c
- 例:
これが SERVER_NAME です。
設定ファイルを更新します:
-
CONFIG_PATHがプロジェクトスコープの設定(.mcp/copilot/mcp.json)である場合は、まずディレクトリが存在することを確認します:mkdir -p .mcp/copilot -
CONFIG_PATHにある既存の設定ファイルを読み込みます。存在しない場合は、新しい空の設定を作成します:{} -
使用するトップレベルのキーを決定します:
- 設定にすでに
"servers"がある場合は、それを使用します - それ以外の場合は、
"mcpServers"を使用します
- 設定にすでに
-
サーバーエントリを追加または更新します:
{ "mcpServers": { "{SERVER_NAME}": { "type": "http", "url": "{MCP_URL}" } } } -
更新した設定を適切な JSON 形式(2 スペースのインデント)で
CONFIG_PATHに書き戻します。
重要な注意事項:
- 設定ファイル内の他のエントリを上書きしないでください
- 既存の構造と形式を維持してください
SERVER_NAMEがすでに存在する場合は、新しいMCP_URLで更新してください
手順 7 に進みます。
7. 成功を確認し、再起動を指示する
ユーザーに伝えます:
✅ Dataverse MCP サーバーが GitHub Copilot 用に
{MCP_URL}で設定されました。設定の保存先:
{CONFIG_PATH}重要: 変更を反映するには、エディターを再起動する必要があります。
エディターを再起動するかウィンドウを再読み込みすると、次のことができるようになります:
- Dataverse 環境内のすべてのテーブルを一覧表示する
- 任意のテーブルからレコードをクエリする
- レコードを作成、更新、削除する
- スキーマとリレーションシップを探索する
8. トラブルシューティング
問題が発生した場合は、ユーザーが以下を確認できるように支援します:
- URL の形式が正しい(
https://<org>.<region>.dynamics.com) - Dataverse 環境へのアクセス権がある
- 環境 URL が Power Platform Admin Center に表示されているものと一致している
- 環境管理者が Allowed Clients リストで「Dataverse CLI MCP」を有効にしている
- 環境で Dataverse MCP が有効になっている。また、プレビューエンドポイントを使用しようとしている場合はそれが有効になっている
- プロジェクトスコープの設定の場合は、
.mcp/copilot/mcp.jsonファイルが正常に作成されたことを確認する - グローバル設定の場合は、
~/.copilot/ディレクトリの権限を確認する