MCP server exposing the content-automation platform as tools for any MCP client (Claude Desktop, Claude Code, Cursor…). Provides script generation, originality injection, perspective retrieval, and multi-agent episode production.
Four tools with complete schemas and descriptions, but significant quality gaps. Tool names lack clear action verbs (generate_script is acceptable, but inject_originality_tool and produce_story_episode are awkward). Descriptions are present but generic, they explain WHAT but not WHEN or WHY to use each tool. Parameter descriptions are minimal (e.g., 'The channel name' lacks context about valid values or defaults). No output schemas documented, callers must infer structure from code. Error handling absent: no guidance on retryability, failure modes, or recovery paths. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Composition is reasonable (each tool has one responsibility), but chaining is unclear, e.g., find_perspectives returns a list but inject_originality_tool expects a 'script' string, forcing manual composition.
Retrieve the k creator perspectives most semantically relevant to a topic, using vector search over the perspective bank (RAG).
Generate a hook-driven short-form video script for the given topic and channel, targeting the given spoken duration in seconds.
Run a script through the originality gate: injects 1-2 creator perspectives from the Notion bank and returns the rewritten script with its originality score (0-4) and pass/fail.
Produce a serialized story episode via the multi-agent director: writer drafts, editor critiques (max one revision), then visual and audio agents produce shot list and audio direction.
Tool names lack clear action verbs. 'inject_originality_tool' is awkward (verb_noun should be 'inject_originality'); 'produce_story_episode' is vague (does it draft, edit, or finalize?). LLMs struggle to infer intent from unclear names.
Parameter descriptions are minimal and lack constraints. 'channel' param has no enum or valid values; 'duration_sec' has no min/max bounds; 'k' has no guidance on typical ranges. LLMs cannot validate inputs without explicit constraints.
Output schemas not documented. Tools return dicts/lists but callers must reverse-engineer structure from code. No documentation of fields, types, or required keys. Breaks tool chaining and forces LLM guessing.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
No error handling or recovery guidance. Tools may fail (e.g., Notion API timeout, LLM rate limit) but provide no error messages, retryability hints, or fallback suggestions. Agents cannot self-correct.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only but this is not declared. Agents cannot reason about side effects or retry safety.