Power Apps canvas app authoring over the Model Context Protocol with live Power Apps Studio sync
Canvas Builder MCP has 10 tools with complete input schemas and basic descriptions, but lacks critical parameter documentation and output schema specifications. All tools are explicitly registered in index.ts with names, descriptions, and inputSchema. However, parameter descriptions are entirely absent, LLMs cannot infer what 'controlName', 'directoryPath', 'apiName', or 'dataSourceName' mean without explicit guidance. No output schemas are documented, forcing LLMs to guess what fields to expect. Error handling is present but generic. Tool naming follows verb_noun convention (list_, describe_, get_, sync_) which is good, but descriptions are terse (avg ~80 chars) and lack WHEN/WHY context. No tool annotations (readOnlyHint, destructiveHint) despite clear risk classifications in metadata.
Validate canvas YAML files in a directory.
Describe a specific API connector — operations, parameters, return types.
Describe a specific canvas control's property schema.
Check the current canvas app for accessibility issues — missing accessible text, screen names, etc.
Check the current canvas app for quality issues — performance, offline readiness, data source config errors.
Get the schema (columns and Power Fx types) for a bound data source.
List all available APIs (connectors) in the current authoring session.
No parameter descriptions. All 10 tools accept parameters (controlName, directoryPath, apiName, dataSourceName) with no documentation of what they mean, expected format, or constraints. LLMs cannot infer whether 'controlName' is a display name, internal ID, or qualified path.
No output schemas documented. Tools return results but LLMs have no specification of response structure, field names, or types. Agents cannot plan downstream calls or extract required data reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
List all canvas controls available in this catalog.
List all data sources bound to the current canvas app.
Sync the current Studio state to a local directory.
Tool descriptions lack WHEN/WHY context. Descriptions state WHAT (e.g. 'List all canvas controls') but not WHEN to call or how this tool differs from similar ones. Average description length ~80 chars; baseline for A+ tools is 50-200 chars with explicit context.
No tool annotations despite clear risk metadata. Tools are marked READ_ONLY or WRITE in metadata but not exposed via MCP tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot infer safety properties from the tool definition alone.
Error handling is generic. Catch block returns 'needs the Power Apps canvas authoring runtime' but does not guide recovery. No distinction between retryable (network timeout) vs user-fixable (missing env vars) vs fatal (SDK not installed) errors.