configure-canvas-mcp について
configure-canvas-mcpは、Canvas Authoring MCPサーバーを現在のPower Apps共同編集セッションに接続するスキルです。Studio URLから環境とアプリの情報を取得し、接続設定や認証エラーからの復旧を案内します。
主な機能
- 01Studio URLからセッション情報を抽出
- 02指定したPower Appsアプリへの接続
- 03任意の認証フローの指定
- 04接続失敗やアカウント選択の復旧案内
- 05接続成功後の設定確認
活用シーン
- 01Canvas Authoringを現在のアプリセッションに接続
- 02Power Apps URLからサービス環境を判定
- 03接続失敗時にアカウントや認証フローを切り替え
MCP 対応
Canvas Authoring MCPサーバーのconnectツールを呼び出し、現在のPower Apps共同編集セッションに接続します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ microsoft/ power-platform-skills --skill configure-canvas-mcpインストール後、Claude Code で/configure-canvas-mcpを入力して読み込まれたか確認します。
詳細
Canvas Authoring MCP サーバーを構成する
このスキルは、ユーザーの現在の Power Apps 共同編集セッション用に Canvas Authoring MCP サーバーを構成します。MCP サーバーはプラグインによって自動登録されます。このスキルは、特定のアプリセッションに接続します。
手順
1. スタジオの URL を尋ねる
ユーザーに次のように尋ねます。
キャンバスアプリのスタジオセッションの URL を教えてください。
Power Apps Designer でアプリを開いた状態で、ブラウザーのアドレスバーから URL をコピーしてください。URL は
https://make.powerapps.com/e/Default-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/canvas/?action=edit&app-id=...のような形式です。アプリで共同編集が有効になっていることを確認してください(設定 → 更新 → 共同編集)。
セッション中は、このブラウザータブを開いたままにしてください。 MCP サーバーは、このタブに紐付けられた共同編集セッションを通じて Power Apps と通信します。タブを閉じると共同編集セッションが終了し、
compile_canvasとsync_canvasが動作しなくなるため、生成された変更を確認したり保存したりできなくなります。
2. URL からパラメーターを抽出する
スタジオの URL から次の情報を解析します。
- ENV_ID:
/e/とその次の/の間にあるパスセグメント(例:Default-91bee3d9-0c15-4f17-8624-c92bb8b36ead)。 - APP_ID:
app-idクエリパラメーターの値を URL デコードし、最後の/より後のセグメントを取得します(例:6fc3e3d1-292b-4281-8826-577f78512e56)。 - MAKER_HOSTNAME:URL のホスト名(例:
make.powerapps.com)。 - ENVIRONMENT_CATEGORY:MAKER_HOSTNAME から判定します(下の表を参照)。
MAKER_HOSTNAME から ENVIRONMENT_CATEGORY を判定する:
| MAKER_HOSTNAME | ENVIRONMENT_CATEGORY |
|---|---|
make.powerapps.com | prod |
make.preview.powerapps.com | prod |
make.preprod.powerapps.com | preprod |
make.gov.powerapps.us | gov |
make.high.powerapps.us | high |
make.apps.appsplatform.us | dod |
make.powerapps.cn | china |
| その他のホスト名 | test |
例:
URL の例:https://make.powerapps.com/e/Default-91bee3d9-0c15-4f17-8624-c92bb8b36ead/canvas/?action=edit&app-id=%2Fproviders%2FMicrosoft.PowerApps%2Fapps%2F6fc3e3d1-292b-4281-8826-577f78512e56
- ENV_ID →
Default-91bee3d9-0c15-4f17-8624-c92bb8b36ead - APP_ID →
6fc3e3d1-292b-4281-8826-577f78512e56 - MAKER_HOSTNAME →
make.powerapps.com - ENVIRONMENT_CATEGORY →
prod
3. MCP サーバーを設定する
canvas-authoring サーバーの connect MCP ツールを呼び出して、ユーザーの共同編集セッションに接続します。
connect(
environment_id: ENV_ID,
app_id: APP_ID,
environment_category: ENVIRONMENT_CATEGORY,
// Optional — include only if the user has expressed a preference or a prior sign-in failed (see below):
auth_flow: "broker" | "browser" | "devicecode",
login_hint: "[email protected]",
tenant_id: "00000000-0000-0000-0000-000000000000",
force_account_select: true
)
省略可能なパラメーター — ユーザーにこれらを尋ねてはいけません。 ユーザーが会話の中ですでに希望を示している場合、または以前の接続試行が失敗した場合にのみ指定してください。
login_hint:特定のユーザー/別のユーザーとして接続したいとユーザーが明示している場合(例:「[email protected] でログイン」)に限り、ユーザーの UPN またはメールアドレスを渡します。これらの値はメーカー ポータルの URL から導き出すことはできません。推測してはいけません。それ以外の場合は省略し、最初にサインインしたユーザーを使用します。環境/アプリを切り替えるために再接続する場合、同じユーザーを再利用して再度確認を求めないよう、前回の接続に成功したときと同じlogin_hint値が分かっていれば再利用します。auth_flow:ユーザーが希望する認証フローを明示している場合(例:「ブラウザーでサインイン」)、または以下の 404 エラーからの復旧時には、"browser"、"broker"、または"devicecode"を渡します。ブローカーもブラウザーフローも UI を表示できないヘッドレス/SSH ホストでは、"devicecode"を使用します。確認 URL とユーザーコードは MCP のエリシテーションリクエストを通じて提示されるため、エリシテーションに対応したクライアントが必要です。それ以外の場合は省略し、既定値を使用します。tenant_id:Entra B2B ゲストアクセスの場合に限り、テナント GUID を渡します。ユーザーのホームテナントではなく、そのテナントによってトークンが発行されるよう、ユーザーがゲストとして所属するホスト/リソーステナントを設定します。アカウントを事前入力するには、ゲストのホーム UPN であるlogin_hintと組み合わせます。同一テナントへの通常のサインインでは省略します。force_account_select:キャッシュされたアカウントを黙って再利用する代わりに、アカウント選択画面を必ず表示する場合に限り、trueを渡します。以下の 404 エラーからの復旧時、またはlogin_hintを指定せずに以前の接続が 401/403 で失敗したときに設定し、ユーザーが正しいアカウントを選択できるようにします。それ以外の場合は省略します。
現在のホスト名で Canvas Authoring の connect ツールを利用できない場合は、次のコマンドを実行し、.NET 10 SDK が見つからないためにサーバーの起動に失敗したかどうかを確認します。別のホスト名のツールが見つからないことを、サーバーの障害と判断してはいけません。
dotnet --list-sdks
バージョン 10.x.y 以上が表示されない場合は、ユーザーに次のように伝えます。
⚠️ Canvas Authoring MCP サーバーの実行には .NET 10 SDK が必要です。インストールされていないようです。https://dotnet.microsoft.com/download/dotnet/10.0 からインストールして、もう一度お試しください。
connect が HTTP 404 で失敗した場合、Studio セッションで使用したアカウントとは異なるアカウントでサインインしていることが原因として考えられます。エラーを報告し、次の順序で復旧します。
- Power Apps Studio のブラウザーセッションで使用したものと同じアカウントでサインインするよう、ユーザーに伝えます。
- 同じ環境/アプリのパラメーターを指定し、
force_account_select: trueを設定してconnectを再実行し、ユーザーがそのアカウントを選択できるようにします。 - 再試行が失敗した場合は、同じ環境/アプリのパラメーターを維持したまま、
auth_flow: "browser"とforce_account_select: trueを指定してconnectをもう一度実行します。ブラウザーでのサインイン時に Studio のアカウントを選ぶよう、ユーザーに伝えます。ブラウザーでのサインインが利用できないヘッドレス/SSH ホストでは、上記のとおりauth_flow: "devicecode"を使用します。
接続に成功したら、再試行を終了します。復旧を試みても両方とも失敗した場合は、最終エラーを報告し、以下の確認事項に従います。サーバーが設定されたと伝えてはいけません。
その他の接続エラーが発生した場合、または 404 エラーからの復旧に失敗した場合は、エラーを報告し、次の点を確認するよう提案します。
- Studio の URL が正しく、ブラウザーのタブが開いたままであること
- アプリの設定で共同編集が有効になっていること
- サインインに失敗した場合、正しいアカウントで認証するために、ユーザーが
auth_flow(broker、browser、またはdevicecode)またはlogin_hint(UPN/メールアドレス)を指定する必要がある場合があります。ヘッドレス/SSH ホストでは、auth_flow: "devicecode"を使用します。キャッシュされたアカウントが繰り返し選択される場合は、force_account_select: trueを指定して再試行します。Entra B2B ゲストアクセスの場合は、tenant_idにホストテナントを設定します。
4. 確認
connect が成功した場合に限り、ユーザーに次のように伝えます。
✅ Canvas Authoring MCP サーバーが、共同作業セッション用に設定されました。
/canvas-appなどの Canvas App スキルを使って、アプリを作成または編集できるようになりました。