
configure-canvas-mcp
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".
- Installs
- 296
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/microsoft/power-platform-skills --skill configure-canvas-mcp- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads configure-canvas-mcp automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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.
FAQ
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 https://github.com/microsoft/power-platform-skills --skill configure-canvas-mcp in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/configure-canvas-mcp/ (personal) or .claude/skills/configure-canvas-mcp/ (project).
Which AI agents can use configure-canvas-mcp?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is configure-canvas-mcp safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains configure-canvas-mcp?
It is published by microsoft in microsoft/power-platform-skills, and it is an official skill from the maker of the technology it covers. It has 296 recorded installs.
More from microsoft/power-platform-skills
add-sharepoint
microsoft/power-platform-skills
Adds SharePoint Online connector to a Power Apps code app. Use when reading lists, managing documents, or integrating with SharePoint sites. Can also create new SharePoint lists.
create-code-app
microsoft/power-platform-skills
Creates Power Apps code apps using React and Vite. Use when building code apps, scaffolding projects, or deploying to Power Platform.
add-dataverse
microsoft/power-platform-skills
Adds Dataverse tables to a Power Apps code app with generated TypeScript models and services. Can also create new Dataverse tables. Use when connecting to Dataverse, adding tables, creating schema, or querying Dataverse data.
add-office365
microsoft/power-platform-skills
Adds Office 365 Outlook connector to a Power Apps code app. Use when accessing calendars, sending emails, reading inbox, or managing Outlook events.
canvas-app
microsoft/power-platform-skills
Creates or edits a Power Apps Canvas App through the Canvas Authoring MCP coauthoring session. Handles staged experience design, direct and partitioned targeted edits, planned multi-screen changes, responsive layout, and compile-error convergence. Trigger on requests to create, build, generate, modify, update, change, fix, or edit a Canvas App or .pa.yaml files.
genpage
microsoft/power-platform-skills
Open the skill to read its SKILL.md instructions.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available