Configure the Canvas Authoring MCP Server for Codex
This skill registers the Canvas Authoring MCP server with Codex CLI by writing to
~/.codex/config.toml.
Step 0 — Check Prerequisites
Run:
dotnet --list-sdks
If no SDK version starting with 10. is listed, tell the user:
⚠️ .NET 10 SDK is required to run the Canvas Authoring MCP server. Please install it from https://dotnet.microsoft.com/download/dotnet/10.0 before continuing.
Wait for the user to install it. Re-run the check to confirm before proceeding.
Step 1 — Ask for the Studio URL
Ask the user:
What is the URL of your Power Apps Studio session?
Copy the full URL from your browser while your canvas 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=...Also confirm that coauthoring is enabled: Settings → Updates → Coauthoring → ON.
Step 2 — Extract Parameters from the URL
From the URL the user provides, extract:
- ENV_ID: the path segment between
/e/and the next/- Example:
Default-91bee3d9-0c15-4f17-8624-c92bb8b36ead
- Example:
- APP_ID: URL-decode the
app-idquery parameter, then take the last segment after the final/- Example from
%2Fproviders%2FMicrosoft.PowerApps%2Fapps%2F6fc3e3d1-292b-4281-8826-577f78512e56→6fc3e3d1-292b-4281-8826-577f78512e56
- Example from
- MAKER_HOSTNAME: the hostname portion of the URL (e.g.,
make.powerapps.com) - CLUSTER_CATEGORY: derive from MAKER_HOSTNAME:
make.powerapps.com→prodmake.preview.powerapps.com→prod- Any other hostname →
test
Echo the extracted values to the user for confirmation before writing anything:
Extracted:
- ENV_ID:
<value>- APP_ID:
<value>- CLUSTER_CATEGORY:
<value>Shall I write these to
~/.codex/config.toml? (yes/no)
Step 3 — Write to ~/.codex/config.toml
After user confirms, read the existing ~/.codex/config.toml if it exists. Preserve all
existing content. Add or replace only the [mcp_servers.canvas-authoring] block.
The block to add (substituting the actual extracted values):
[mcp_servers.canvas-authoring]
command = "dnx"
args = [
"Microsoft.PowerApps.CanvasAuthoring.McpServer",
"--yes",
"--prerelease",
"--source",
"https://api.nuget.org/v3/index.json"
]
[mcp_servers.canvas-authoring.env]
CANVAS_ENVIRONMENT_ID = "<ENV_ID>"
CANVAS_APP_ID = "<APP_ID>"
CANVAS_CLUSTER_CATEGORY = "<CLUSTER_CATEGORY>"
Write the full updated file back to ~/.codex/config.toml.
Step 4 — Confirm and Give Next Steps
Tell the user:
✅ Canvas Authoring MCP server configured in
~/.codex/config.toml.You must restart Codex for the MCP server to activate.
After restarting, verify the setup by asking: "List available Canvas App controls"
This should invoke
list_controlsvia thecanvas-authoringMCP server. If it does not respond, ensure your Power Apps Studio session is still open with coauthoring enabled, then run$configure-canvas-mcpagain with a fresh URL.