An MCP server for synthesizing interactive voice dialogues and cinematic text-to-video prompt configurations for product advertisements
This server exhibits significant quality gaps across all dimensions. While the two tools have action verbs and documented schemas, they lack proper parameter descriptions, contain overly generic descriptions, and the tools themselves are not properly registered via an MCP server interface. The source code shows a Python class with methods but no actual MCP server implementation using the Model Context Protocol, the mcp_server.py file is a stub that prints hardcoded JSON and never processes tool calls. Tools are inferred from voice_video_ad.py but there is no explicit tool registration, schema declaration, or MCP endpoint binding visible.
Generates interactive Alexa+ style voice ad scripts with branch mapping for voice assistant actions.
Generates detailed prompt configurations for text-to-video platforms.
No actual MCP server implementation. mcp_server.py is a stub that prints hardcoded JSON and never binds to tool definitions or processes incoming requests. There is no JSON-RPC 2.0 request handler, no tool initialization, and no protocol handshake.
Input parameter descriptions are missing or trivial. 'product_name', 'pitch', and 'mood' in generate_interactive_script lack descriptions explaining format, constraints, or expected values. 'mood' description is only 6 words and does not explain valid values or constraints.
Tool descriptions are generic and under-specified. 'Generates interactive Alexa+ style voice ad scripts...' (95 chars) does not answer: WHEN should the LLM call this? WHAT does it return? HOW does it differ from generate_video_prompts? Descriptions must be 50 - 200 chars and answer what/when/why.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No output schema documented. Tools return complex nested objects (voice_script, user_replies_mapped for tool 1; array of scene objects for tool 2) but no formal schema is provided. LLM cannot know what fields to expect or plan downstream calls.
Tools are inferred from Python class methods, not explicitly registered via MCP protocol. There is no visible tool registration call with name, description, and inputSchema in MCP format. Per scoring rule: when tool definitions are inferred rather than directly visible, cap per-tool scores at 50.
No error handling guidance. Methods raise generic VoiceVideoAdError without categorizing errors as retryable, user-fixable, or fatal. If API call fails, LLM receives only exception message with no recovery hint.
'mood' parameter lacks enum constraint. Description says 'e.g., futuristic', LLM may invent values like 'dystopian', 'retro', 'surreal'. Should declare enum: ['futuristic', 'cinematic', 'minimalist', ...] or provide regex pattern.
API key exposed as environment variable AD_CREATOR_API_KEY without documented secret injection pattern. While stored server-side, if traced or logged, credential may leak.