MCP server that fetches and analyzes trending content from YouTube, TikTok, and Instagram Reels, including video metadata, comments, and engagement statistics
This MCP server exposes 6 social media trending tools with significant quality gaps. While tool names follow verb_noun conventions and most include basic descriptions, the schemas are incomplete, parameter descriptions lack required context, and error handling is minimal. Tool outputs are either unstructured strings or minimally typed. The server lacks pagination controls, input validation guidance, and structured error recovery paths. Average tool score: 42/100.
Fetch YouTube comments by video ID. Returns up to `max_comments` comment texts.
Scrape this week's Instagram Reels trends. Returns list with trend name, date, and stats.
Get trending YouTube videos by region code. Returns list of titles and URLs.
Get trending YouTube videos globally (US). Returns list of titles and URLs.
Get metadata of a YouTube video from its URL. Includes title, views, likes, description, etc.
Fetches and summarizes trending TikTok videos with stats and hashtags.
Two tools (tiktok_trending_global, get_this_weeks_reels_trends) return free-form strings instead of structured objects. LLM must parse unstructured text, wasting tokens and risking misinterpretation.
Most tools lack parameter constraints (enums, min/max, format). 'region_code' accepts any two-letter string; 'limit' accepts any integer. No guidance on valid ranges, causing LLM to pass invalid values.
No output schemas documented. Functions return List[Dict[str, str]] or similar without field-level documentation. LLM cannot infer what dict keys to expect or how to chain results to other tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 44 | - | v1 |
No pagination or result limits enforced (except defaults). tiktok_trending_global and get_this_weeks_reels_trends may return hundreds of items, exhausting context window. No next_cursor or limit guidance.
Error handling returns raw error strings or silent None returns with no actionable guidance. LLM cannot retry intelligently or diagnose failures.
TikTok API key exposed via os.getenv('tiktok') with no indication that it should be injected server-side. If this server logs parameters, credentials leak into traces.
Web scraping for Instagram trends (get_this_weeks_reels_trends) depends on later.com page structure without fallback or version-awareness. Single change to HTML breaks tool silently.