MCP-native orchestrator for content operations with server registry and AI QA gate
Critical failures across all dimensions. All 12 tools use `additionalProperties: true` with no explicit property definitions, violating the schema requirement. Descriptions are present but generic (10-60 chars, well below the 50-200 char baseline for LLM optimization). No parameter descriptions exist, LLMs cannot infer what inputs mean. Tool names lack clarity (e.g., duplicate 'get_page' across Notion and WordPress). No output schemas documented. Error handling absent. Irreversible operations (publish_post, override_and_publish) have no confirmation or dry-run patterns. This server is not production-ready.
Create a WordPress draft.
Extract links from a WordPress page or content body.
Get one Notion page.
Fetch a WordPress draft/page.
Get editorial pages from a Notion database.
Override QA result and continue publishing.
Post a Slack message.
All 12 tools use `additionalProperties: true` with no explicit property definitions. This violates JSON Schema best practices and provides zero guidance to LLMs about required inputs, types, or constraints.
Duplicate tool names across servers: 'get_page' appears in both Notion and WordPress registries. LLMs cannot disambiguate which server to call. Rename to 'get_notion_page' and 'get_wordpress_page' or namespace by server.
No parameter descriptions provided for any tool. The 'database_id' in get_pages, 'title'/'content' in create_draft, and 'channel'/'text' in post_message lack guidance on format, constraints, or examples. LLMs cannot infer intent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
Publish a WordPress post after QA approval.
Retry QA gate after the editor updates the draft.
Run draft-to-publish QA gate.
Send email through Resend.
Send QA result to an editor channel.
Irreversible operations (publish_post, override_and_publish) lack confirmation or dry-run patterns. Agents can trigger destructive actions without safeguards. No error recovery guidance provided.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., does publish_post return a post_id for verification?). Responses are opaque.