MCP server for generating multiple variants of social media ad creatives with AI-powered optimization for different platforms and target audiences
Critical failures across all dimensions. The single tool 'execute_skill_action' has a reasonable name and basic parameter schema, but the MCP server implementation is non-functional. The mcp_server.py file does not implement the MCP protocol at all, it merely prints a JSON status message and exits. There is no request/response loop, no tool invocation handling, no error handling, and no actual integration with the client logic. The tool description is generic (10 words, below the 34-char p10 baseline). Parameter descriptions are present but minimal. The server cannot receive or process tool calls from an MCP client. This is a stub implementation, not a working MCP server.
Execute the social ad creative multi-variant generator skill
MCP server does not implement the protocol. mcp_server.py prints a status message and exits; it does not listen for requests, parse tool calls, or invoke the skill. The server is non-functional.
Tool description is 10 words ('Execute the social ad creative multi-variant generator skill'). Below the 34-char p10 baseline and lacks WHAT, WHEN, and WHY context. LLMs cannot determine when to select this tool.
No output schema documented. The tool returns a dict with 'ad_variants', 'recommended_variant', and 'estimated_ctr_pct', but this structure is not declared in the tool definition. LLMs cannot plan downstream actions.
No error handling or recovery guidance. If the skill fails, the LLM receives no actionable error message, no classification (retryable vs fatal), and no next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Parameter 'ad_platform' has a default value ('LinkedIn') but no enum constraint. LLMs may hallucinate unsupported platforms (e.g., 'TikTok', 'Snapchat'). Should declare valid values: LinkedIn, Twitter, Facebook, Instagram.