Install
$ agentstack add skill-microsoft-power-platform-skills-configure-canvas-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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
0. Check prerequisites
Verify that .NET 10 SDK or higher is installed:
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 first to use this skill. https://dotnet.microsoft.com/download/dotnet/10.0
Then wait for the user to install it before continuing. If they say it's installed, run the command again to confirm. If it's still not found, repeat the message until they have it installed.
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_canvas and sync_canvas from 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) - CLUSTERCATEGORY: determined from MAKERHOSTNAME (see table below)
Determine CLUSTERCATEGORY from MAKERHOSTNAME:
| MAKERHOSTNAME | CLUSTERCATEGORY | | ---------------------------- | ---------------- | | 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 (see below):
auth_flow: "broker" | "browser",
login_hint: "user@contoso.com"
)
Optional parameters — do NOT prompt the user for these. Only include them if the user has already expressed a preference earlier in the conversation:
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.auth_flow: Pass"browser"or"broker"only if the user has explicitly stated a preferred auth flow (e.g. "use browser sign-in"). Omit otherwise to use the default.
If the call fails, report the error to the user and suggest checking that:
- The studio URL is correct and the browser tab is still open
- Coauthoring is enabled in the app settings
- .NET 10 SDK is correctly installed
- If sign-in failed, the user may need to specify
auth_flow(brokervs.browser) or alogin_hint(UPN/email) to authenticate as the correct account
4. Confirm
Tell the user:
> ✅ Canvas Authoring MCP server configured for your coauthoring session. > > You can now use Canvas App skills like /canvas-app to create or edit your app. > > To verify the setup, try: "List available Canvas App controls" — this should invoke list_controls.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: microsoft
- Source: microsoft/power-platform-skills
- License: MIT
- Homepage: https://aka.ms/ppskills
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.