Install Configure Canvas MCP
Pick your agent. Every command is ready to paste.
npx skills add microsoft/power-platform-skills --skill configure-canvas-mcpThe open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.
01
Install it
Run the command above, or upload the folder in Claude.
02
Ask naturally
Describe the task. Your agent loads configure-canvas-mcp when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the configure-canvas-mcp skill”. In Codex, type $configure-canvas-mcp.
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) - ENVIRONMENT_CATEGORY: determined from MAKER_HOSTNAME (see table below)
Determine ENVIRONMENT_CATEGORY from MAKER_HOSTNAME:
| 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 |
| 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 - ENVIRONMENT_CATEGORY →
prod
3. Configure the MCP server
Call the connect MCP tool on the canvas-authoring server to connect to the user's coauthoring session.
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: "user@contoso.com",
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 alice@contoso.com"). 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"if the user has explicitly stated a preferred auth flow (e.g. "use browser sign-in"), or use"browser"for the 404 recovery below. 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 for the 404 recovery below, or 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 Canvas Authoring connect tool is not available under the current host's name, run the following command to check whether the server failed to launch due to a missing .NET 10 SDK. Do not treat the absence of the other host's tool name as a server failure.
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 connect fails with HTTP 404, a likely cause is signing in with a different account from the one used for the Studio session. Report the error and recover in this order:
- Remind the user to sign in with the same account they used for the Power Apps Studio browser session.
- Run
connectagain with the same environment/app parameters andforce_account_select: trueso the user can select that account. - If that retry fails, run
connectonce more withauth_flow: "browser"andforce_account_select: true, keeping the same environment/app parameters. Remind the user to select their Studio account in the browser sign-in. On a headless/SSH host where browser sign-in is unavailable, useauth_flow: "devicecode"instead as described above.
Stop retrying after a successful connection. If both recovery attempts fail, report the final error and follow the checks below; do not claim the server is configured.
For other connection errors, or if 404 recovery fails, 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
Only after connect succeeds, 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.
Tips for Configure Canvas MCP
- • Start a fresh session after installing so your agent picks up the new skill.
- • It is part of a pack with 24 skills. Install only the ones you need with --skill to keep triggers precise.
- • If two skills overlap, mention the one you want by name.
Questions about Configure Canvas MCP
What does the Configure Canvas MCP skill do?
Configure the Canvas Authoring MCP server for the current coauthoring session. Use before starting to edit a canvas app with the /canvas-app skill if not already connected. 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".
How do I install Configure Canvas MCP?
Run "npx skills add microsoft/power-platform-skills --skill configure-canvas-mcp" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.
Does Configure Canvas MCP work in Cursor and Codex?
Yes. Configure Canvas MCP uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.
Is Configure Canvas MCP free?
Configure Canvas MCP is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.
Who made Configure Canvas MCP?
Configure Canvas MCP is published by Microsoft in the microsoft/power-platform-skills repository, together with 23 other skills.

