MCP Server for TikTok marketing automation — search trending videos, analyze hashtags, draft scripts, optimize posting. Free + Premium.
This server has significant definition quality gaps. All 5 tools have basic descriptions (10-100 chars, mostly under 50), but lack depth on WHEN to use them and prerequisites. Input schemas are present but minimal: most parameters lack type constraints (enums, ranges). No output schemas documented anywhere. Parameters like 'hook_type' have enums (good), but 'keyword', 'hashtag', 'topic', 'niche' are bare strings with no format guidance. Error handling is generic ('Error: {message}') with no recovery guidance. Tool implementations return free-text instructions rather than structured data, forcing LLMs to parse unstructured responses. No tool distinguishes between free and premium tiers in a machine-readable way.
FREE: Analyze a TikTok hashtag (public data). Returns view count, video count, trend direction.
FREE: Draft a TikTok video script. Template-based (no API key needed).
PREMIUM: Generate a hashtag strategy for your niche. Requires DEESEEK_API_KEY.
PREMIUM: Get optimal posting times for your audience. Requires DEESEEK_API_KEY.
FREE: Search for trending TikTok videos by keyword/hashtag. Returns video titles, views, likes.
No output schemas documented. Tools return free-text markdown instructions instead of structured JSON. LLMs cannot extract data for downstream tool calls or agent reasoning.
Parameter descriptions are minimal or missing. 'keyword', 'hashtag', 'topic', 'niche' have no format guidance, length limits, or examples of valid input. LLMs will guess at valid formats.
Premium tools (optimize_posting_time, generate_hashtag_strategy) require DEESEEK_API_KEY but do not validate it or provide actionable error messages if missing. No guidance on how to obtain or configure the key.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | <=2025-11-25 | v2 |
Error handling is generic. All errors return 'Error: {message}' with no recovery guidance, categorization (retryable vs fatal), or actionable next steps for the LLM.
Tool descriptions do not explain WHEN to use each tool or how they relate. An LLM cannot distinguish when to call search_trending_videos vs analyze_hashtag vs draft_video_script without trial and error.