PowerPlatform Model Context Protocol server
Server has 9 tools with complete schemas and descriptions, but quality is uneven. Tool names follow verb_noun convention (query-entity, get-entity-metadata, create-entity-record, etc.), which is good. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. alternatives. Parameter descriptions exist but are minimal (10-30 chars). No output schemas documented. Error handling is absent, no recovery guidance, no categorization of retryable vs. fatal errors. Destructive tools (delete-entity-record) lack confirmation patterns. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Prompts feature is implemented but not integrated with tool discovery.
Create a new record in a Power Platform entity
Delete a record from a Power Platform entity
Get detailed metadata about a specific entity attribute
Get all attributes/fields for a Power Platform entity
Get metadata about a Power Platform entity
Get all relationships for a Power Platform entity
List all entities in the Power Platform environment
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., recordId from create-entity-record). Violates pattern:tool requirement.
Destructive tool (delete-entity-record) lacks confirmation pattern. No dry-run, no confirmation step. Agents can accidentally delete records without safeguards.
No error handling guidance. Tools return raw API errors with no recovery hints. LLM cannot determine if error is retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Query a Power Platform entity using OData filters
Update an existing record in a Power Platform entity
Tool descriptions are generic and lack LLM-optimized guidance. 'Query a Power Platform entity using OData filters' does not explain WHEN to use query-entity vs. get-entity-metadata vs. list-entities. Baseline: 194 chars avg; these are 40-60 chars.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk levels are declared in metadata but not exposed to LLM via tool schema. Violates current MCP spec (2026-07-28).