MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Configure the Canvas Authoring MCP server for the current coauthoring session.
$ npx skills add microsoft/power-platform-skills --skill configure-canvas-mcp -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/power-platform-skills configure-canvas-mcp --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/canvas-apps/skills/configure-canvas-mcp .claude/skills/configure-canvas-mcp && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "configure-canvas-mcp" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/canvas-apps/skills/configure-canvas-mcp into .claude/skills/configure-canvas-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configure-canvas-mcp", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/microsoft/power-platform-skills/tree/main/plugins/canvas-apps/skills/configure-canvas-mcpType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add microsoft/power-platform-skills --skill configure-canvas-mcp -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/power-platform-skills configure-canvas-mcp --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/canvas-apps/skills/configure-canvas-mcp .agents/skills/configure-canvas-mcp && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "configure-canvas-mcp" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/canvas-apps/skills/configure-canvas-mcp into .agents/skills/configure-canvas-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configure-canvas-mcp", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/power-platform-skills --skill configure-canvas-mcp -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/power-platform-skills configure-canvas-mcp --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/canvas-apps/skills/configure-canvas-mcp .cursor/skills/configure-canvas-mcp && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "configure-canvas-mcp" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/canvas-apps/skills/configure-canvas-mcp into .cursor/skills/configure-canvas-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configure-canvas-mcp", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/microsoft/power-platform-skills.git --path plugins/canvas-apps/skills/configure-canvas-mcp--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add microsoft/power-platform-skills --skill configure-canvas-mcp -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/power-platform-skills configure-canvas-mcp --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/canvas-apps/skills/configure-canvas-mcp .gemini/skills/configure-canvas-mcp && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "configure-canvas-mcp" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/canvas-apps/skills/configure-canvas-mcp into .gemini/skills/configure-canvas-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configure-canvas-mcp", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install microsoft/power-platform-skills configure-canvas-mcpInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add microsoft/power-platform-skills --skill configure-canvas-mcp -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/canvas-apps/skills/configure-canvas-mcp .github/skills/configure-canvas-mcp && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "configure-canvas-mcp" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/canvas-apps/skills/configure-canvas-mcp into .github/skills/configure-canvas-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configure-canvas-mcp", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/power-platform-skills --skill configure-canvas-mcp -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/power-platform-skills configure-canvas-mcp --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/canvas-apps/skills/configure-canvas-mcp .opencode/skills/configure-canvas-mcp && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "configure-canvas-mcp" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/canvas-apps/skills/configure-canvas-mcp into .opencode/skills/configure-canvas-mcp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configure-canvas-mcp", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
configure-canvas-mcpConfigure the Canvas Authoring MCP server for the current coauthoring session.
Configure Canvas MCP is an agent skill from microsoft/power-platform-skills, published by the product's own GitHub organization. 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".
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering MCP servers. It works with Model Context Protocol. The repository describes itself as: A plugin marketplace for GitHub Copilot and other AI agents that provides Power Platform development plugins, including reusable skills, agents, and commands for building and… The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8c4b447. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashAskUserQuestionmcp__canvas-authoring__connectFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
dotnetFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
make.powerapps.comAlso links to:
dotnet.microsoft.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Configure Canvas MCP loads about 1.6k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 716 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, AskUserQuestion, mcp__canvas-authoring__connectAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from microsoft/power-platform-skills at commit 8c4b447, republished under its MIT licence (© microsoft). 716 words, ~1,625 tokens.
.claude/skills/configure-canvas-mcp/SKILL.md (or your agent's skills folder).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.
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.
Parse the following from the studio URL:
/e/ and the next / (e.g. Default-91bee3d9-0c15-4f17-8624-c92bb8b36ead).app-id query parameter value, then take the last segment after the final / (e.g. 6fc3e3d1-292b-4281-8826-577f78512e56)make.powerapps.com)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
Default-91bee3d9-0c15-4f17-8624-c92bb8b36ead6fc3e3d1-292b-4281-8826-577f78512e56make.powerapps.comprodCall 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,
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 same login_hint value 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 with login_hint (the guest's home UPN) to pre-fill the account. Omit for normal same-tenant sign-in.force_account_select: Pass true only to force the account picker instead of silently reusing a cached account — set this when a previous connect failed with a 401/403 and no login_hint was 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-sdksIf 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:
auth_flow (broker, browser, or devicecode) or a login_hint (UPN/email) to authenticate as the correct account. On a headless/SSH host, use auth_flow: "devicecode". If a cached account keeps getting picked, retry with force_account_select: true. For Entra B2B guest access, set tenant_id to the host tenant.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.
© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/canvas-apps/skills/configure-canvas-mcp of microsoft/power-platform-skills.
Open the folder on GitHubat commit 8c4b447
Configure Canvas MCP next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Configure Canvas MCP this skillmicrosoft/power-platform-skills | 979 | — | ~1.6k | Automated safety check: Notes | MIT | |
| MCP Server Builderanthropics/skills | 180k | 63 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| MCP Server BuildershareAI-lab/learn-claude-code | 78k | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| MCP Integration for Pluginsanthropics/claude-plugins-official | 38k | 11 repos | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Crush Configurationcharmbracelet/crush | 29k | — | ~3.7k | Automated safety check: Pass | Custom licence | |
| Context Mode Output Sandboxmksglu/context-mode | 26k | — | ~4.1k | Automated safety check: Pass | Custom licence |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
shareAI-lab/learn-claude-code
Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.
anthropics/claude-plugins-official
Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.
charmbracelet/crush
Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.
mksglu/context-mode
Routes large command, file, API and browser output through context-mode tools so only the needed result enters the agent's context, instead of dumping it via Bash.
warpdotdev/warp
Migrates the compatible subset of settings and global file-based MCP servers from the Warp desktop app into Warp Agent CLI without exposing credentials or state.
microsoft/power-platform-skills
Inspects and configures the web application firewall (WAF) in front of a Power Pages production site.
microsoft/power-platform-skills
Inspects and configures the security headers a Power Pages site sends to browsers — Content Security Policy, frame and clickjacking protection, cross-origin sharing, cookie behavior, and related…
microsoft/power-platform-skills
Scans a Power Pages site project for security issues in source code and dependencies.
microsoft/power-platform-skills
Runs a security scan on a deployed Power Pages site, fetches the latest scan report, and produces a plain-language summary.
microsoft/power-platform-skills
Creates Dataverse tables, columns, and relationships for a Power Pages site based on a data model proposal.
microsoft/power-platform-skills
Creates, edits, and manages Power Pages Server Logic files — server-side JavaScript that runs securely on the Power Pages runtime.
Works with
Categories
Configure the Canvas Authoring MCP server for the current coauthoring session. Configure Canvas MCP is an agent skill from microsoft/power-platform-skills, published by the product's own GitHub organization. Configure the Canvas Authoring MCP server for the current coauthoring session.
Configure Canvas MCP fits situations like: set up MCP server; MCP not working; connect Canvas Apps MCP; canvas-authoring not available.
Run `npx skills add microsoft/power-platform-skills --skill configure-canvas-mcp -a claude-code`. Or copy the skill folder (plugins/canvas-apps/skills/configure-canvas-mcp in microsoft/power-platform-skills) into .claude/skills/configure-canvas-mcp in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/power-platform-skills --skill configure-canvas-mcp -a codex`. Or copy the skill folder (plugins/canvas-apps/skills/configure-canvas-mcp in microsoft/power-platform-skills) into .agents/skills/configure-canvas-mcp in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/power-platform-skills --skill configure-canvas-mcp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/configure-canvas-mcp, .gemini/skills/configure-canvas-mcp, .github/skills/configure-canvas-mcp and .opencode/skills/configure-canvas-mcp in your project.
Going by SKILL.md and its folder, Configure Canvas MCP needs the command-line tools its instructions call (dotnet). Its frontmatter pre-approves these tools: Bash, AskUserQuestion, mcp__canvas-authoring__connect.
SKILL.md names 2 domains. In commands or code: make.powerapps.com; the agent is likely to contact it when it follows the instructions. As links in the text: dotnet.microsoft.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Configure Canvas MCP is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Configure Canvas MCP: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Crush Configuration (charmbracelet/crush, 29k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/power-platform-skills, which has 979 GitHub stars. The repository holds 92 skills in this directory. The repository was last updated on October 9, 2026.
Source: microsoft/power-platform-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.