Configure canvas mcp
Skill LeonardSEO/power-platform-skills-codex/plugins/canvas-apps/skills/configure-canvas-mcp
Configure the Canvas Authoring MCP server for the current coauthoring session. USE WHEN "configure MCP", "set up MCP server", "MCP not working", "connect Canvas Apps MCP", "canvas-authoring not available", "MCP not configured", "set up canvas apps".From its SKILL.md
npx -y skills add LeonardSEO/power-platform-skills-codex --skill configure-canvas-mcpAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 17 days oldThe repository was created 17 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.3 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
Configure the Canvas Authoring MCP Server
This skill configures the Canvas Authoring MCP server for the user's current Power Apps coauthoring session. The MCP server is auto-registered by the plugin — this skill connects it to a specific app session.
Instructions
1. Ask for the studio URL
Ask the user:
What is the URL of your canvas app studio session?
Copy the URL from the browser address bar while your app is open in Power Apps Designer (it should look like
https://make.powerapps.com/e/Default-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/canvas/?action=edit&app-id=...).Make sure coauthoring is enabled in the app (Settings → Updates → Coauthoring).
Keep this browser tab open for the entire session. The MCP server communicates with Power Apps through the coauthoring session tied to that tab. Closing the tab ends the coauthoring session, which prevents
compile_canvasandsync_canvasfrom working and means you can't see or save generated changes.
2. Extract parameters from the URL
Parse the following from the studio URL:
- ENV_ID: the path segment between
/e/and the next/(e.g.Default-91bee3d9-0c15-4f17-8624-c92bb8b36ead). - APP_ID: URL-decode the
app-idquery parameter value, then take the last segment after the final/(e.g.6fc3e3d1-292b-4281-8826-577f78512e56) - MAKER_HOSTNAME: the hostname of the URL (e.g.
make.powerapps.com) - CLUSTER_CATEGORY: determined from MAKER_HOSTNAME (see table below)
Determine CLUSTER_CATEGORY from MAKER_HOSTNAME:
| MAKER_HOSTNAME | CLUSTER_CATEGORY |
|---|---|
make.powerapps.com | prod |
make.preview.powerapps.com | prod |
make.gov.powerapps.us | gov |
make.high.powerapps.us | high |
make.apps.appsplatform.us | dod |
make.powerapps.cn | china |
| Any other hostname | test |
Example:
Example 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 - CLUSTER_CATEGORY →
prod
3. Configure the MCP server
Call the connect MCP tool to connect the server to the user's coauthoring session:
mcp__canvas-authoring__connect(
environment_id: ENV_ID,
app_id: APP_ID,
cluster_category: CLUSTER_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
)
Optional parameters — do NOT prompt the user for these. Only include them if the user has already expressed a preference earlier in the conversation, or if a prior connect attempt failed:
login_hint: Pass the user's UPN or email only if they have indicated they want to connect as a specific/different user (e.g. "log in as [email protected]"). These values cannot be derived from the maker portal URL — never guess. Omit otherwise to use the first signed-in user. When reconnecting to switch environment/app, reuse the samelogin_hintvalue as the previous successful connect (if known) so the same user is reused without re-prompting.auth_flow: Pass"browser","broker", or"devicecode"only if the user has explicitly stated a preferred auth flow (e.g. "use browser sign-in"). Use"devicecode"on headless/SSH hosts where neither broker nor browser flow can pop a UI — the verification URL and user code are surfaced via an MCP elicitation request and require a client that supports elicitation. Omit otherwise to use the default.tenant_id: Pass a tenant GUID only for Entra B2B guest access — set it to the host/resource tenant where the user is a guest so the token is issued by that tenant rather than the user's home tenant. Combine withlogin_hint(the guest's home UPN) to pre-fill the account. Omit for normal same-tenant sign-in.force_account_select: Passtrueonly to force the account picker instead of silently reusing a cached account — set this when a previous connect failed with a 401/403 and nologin_hintwas given, so the user can pick the correct account. Omit otherwise.
If the mcp__canvas-authoring__connect tool is not available (the MCP server did not start), run the following command to check whether the server failed to launch due to a missing .NET 10 SDK:
dotnet --list-sdks
If a version 10.x.y or higher is not listed, tell the user:
⚠️ .NET 10 SDK is required to run the Canvas Authoring MCP server. It looks like you don't have it installed. Please install it from https://dotnet.microsoft.com/download/dotnet/10.0 and then try again.
If the tool is available but the call returns an error, report the error and suggest checking that:
- The studio URL is correct and the browser tab is still open
- Coauthoring is enabled in the app settings
- If sign-in failed, the user may need to specify
auth_flow(broker,browser, ordevicecode) or alogin_hint(UPN/email) to authenticate as the correct account. On a headless/SSH host, useauth_flow: "devicecode". If a cached account keeps getting picked, retry withforce_account_select: true. For Entra B2B guest access, settenant_idto the host tenant.
4. Confirm
Tell the user:
✅ Canvas Authoring MCP server configured for your coauthoring session.
You can now use Canvas App skills like
/canvas-appto create or edit your app.To verify the setup, try: "List available Canvas App controls" — this should invoke
list_controls.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most mcp tooling skills give in ~1.6k tokens
Counted across 638 of the 750 authors here whose files we hold, read 2026-08-07
- Create ten complex or independent read-only evaluation questionsin 69 of 638, across 15 files
- Test servers using MCP Inspectorin 61 of 638, across 19 files
- Provide actionable error messages with specific next stepsin 54 of 638, across 12 files
- Prioritize comprehensive API coverage over specific workflows or workflow toolsin 54 of 638, across 12 files
- Use TypeScript and Streamable HTTP for remote servers or clientsin 54 of 638, across 8 files
- Define structured output schemas where possiblein 50 of 638, across 8 files
- Use Zod or Pydantic for input schemasin 47 of 638, across 5 files
- Fetch MCP specification pages with markdown suffixin 46 of 638, across 4 files
- Load framework documentation using WebFetchin 45 of 638, across 3 files
- Verify each evaluation answer independentlyin 45 of 638, across 3 files
- Implement API client with authentication and paginationin 45 of 638, across 3 files
- Define input schemas with validationin 27 of 638, across 9 files
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.