MCP server for estimating fair market rates and CPM valuations for content creators based on follower count, median views, and content format
This MCP server has severe definition quality issues across both tools. The server exposes only 2 tools, both with critical gaps in naming, descriptions, schema completeness, and error handling. Tool naming violates verb-first conventions ('execute_skill_action' is generic and vague; 'estimate_fair_market_rate' is acceptable but lacks clarity on what 'estimate' returns). Descriptions are present but minimal (under 100 chars each). Critical schema issues: 'estimate_fair_market_rate' has input parameters with type definitions but lacks proper JSON Schema validation, enum constraints for 'content_format', and no documented output schema. 'execute_skill_action' appears to be a wrapper with no visible input schema or concrete purpose. No error handling guidance, no parameter constraints, no recovery patterns. The server reads like a demo, not production-grade tooling.
Estimate fair market rate for content creators based on followers count, median views, and content format
Execute the Creator Rate Card CPM Valuation Estimator skill
execute_skill_action: Generic verb 'execute' + no visible input schema. Violates pattern:tool naming (verb_noun, action clarity). Tool purpose is opaque, does it run a simulation, invoke an API, or trigger a background job? LLM cannot infer intent.
estimate_fair_market_rate: Missing output schema documentation. LLM cannot plan downstream usage without knowing return fields, types, and structure. Current example shows a dict with 5 fields but no formal schema is declared in the MCP server definition.
estimate_fair_market_rate: 'content_format' parameter accepts free-form string with only one example ('TIKTOK_SPONSORED_60S_VIDEO'). Violates pattern:constrained-input. Should be an enum: ['TIKTOK_SPONSORED_60S_VIDEO', 'YOUTUBE_INTEGRATED_90S_SPONSORSHIP', ...]. LLM will hallucinate invalid formats.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | 2026-07-28+ | v2 |
Numeric parameters (followers_count, median_views_30d) lack min/max bounds. Rubric: 'Unbounded numbers let LLMs pass absurd values.' No constraint prevents followers_count=-5 or median_views_30d=999999999.
No error handling. If invalid followers_count is passed, or content_format is not recognized, no guidance on recovery. Should return 'Invalid content_format: got "INVALID_FORMAT", must be one of: TIKTOK_SPONSORED_60S_VIDEO, YOUTUBE_INTEGRATED_90S_SPONSORSHIP, ...'
Tool descriptions are under 100 characters, borderline too short for LLM clarity. 'execute_skill_action' description (95 chars) is generic. 'estimate_fair_market_rate' description (138 chars) omits WHEN to use it and what the output represents.
Parameter descriptions are minimal. 'followers_count' description is just '(Number of followers, default 250000)', 40 chars. Should explain: 'Total followers count (positive integer, 0-100000000). Used to estimate reach. Typical values: 10k-10M.'
No composition guidance. If 'execute_skill_action' and 'estimate_fair_market_rate' are related, describe their relationship. Can execute_skill_action invoke estimate_fair_market_rate? Are they independent? Unclear.