Comprehensive YouTube Data API v3 MCP Server for content research, analytics, and keyword discovery workflows
This YouTube MCP server has solid parameter schemas and detailed tool descriptions, but falls short in critical areas: output schemas are completely undocumented, error handling is generic, tool naming lacks clarity about what distinguishes similar tools, and composition risks create inefficient multi-tool workflows. The 6 tools follow a consistent pattern of long, marketing-focused descriptions (200-400 chars) that emphasize use cases but omit actionable constraints. Parameters are well-typed with enums and ranges, but the actual response structures users receive are never defined, violating a core pattern requirement. Error messages appear generic (ErrorHandler.handleToolError pattern suggests catch-all behavior without recovery guidance). Tool composition is fragile: analyze_channel_videos, analyze_competitor, and analyze_keywords overlap significantly in purpose and output, forcing LLMs to reason about which to call; there is no guidance on dependencies or prerequisite tool calls.
DEEP ANALYSIS of all videos from any channel - yours or competitors. Analyzes up to 1000 videos to uncover: best performing content types, optimal video lengths, upload time patterns, engagement rates by video type, and performance trends. Use AFTER get_channel_details to get comprehensive insights. Returns: top 10 videos ranked by views/engagement, average metrics, content categorization, and specific recommendations. NOTE: Video descriptions are excluded from this analysis to optimize response size - use get_video_details tool for complete metadata including descriptions. ESSENTIAL for understanding what content actually works. Results can be sorted by views, likes, comments, duration, viewsPerMonth, daysSinceUpload, or uploadDate (default).
DEEP DIVE into any competitor channel to uncover their winning strategies. Analyzes upload patterns, best performing videos, content themes, and engagement metrics. Use this to COPY what works and avoid what doesn't. Returns: upload schedule patterns, top 10 performing videos, content categories they dominate, average views/engagement, and specific gaps you can exploit. Input channel ID from search_channels. Essential for competitive intelligence.
OPPORTUNITY SCANNER that finds untapped keywords with high potential. Analyzes competition difficulty, search volume, and ranking potential for each keyword. Returns opportunity score (1-100) showing which keywords are easiest to rank for. Use this to find "golden keywords" - high search, low competition. INCLUDES: related keyword suggestions, competition analysis per keyword, and specific content recommendations. Essential for finding keywords where you can actually rank on page 1.
NO DOCUMENTED OUTPUT SCHEMAS for any tool. Tools return prose summaries ('Returns: top 10 videos ranked by views…') but zero field definitions, types, or structure. LLMs cannot plan downstream operations or extract required IDs for chaining. Violates core pattern: 'Document the output schema. LLMs need to know what fields to expect.'
NAMING AMBIGUITY creates composition friction: analyze_keyword_opportunities and analyze_keywords both promise keyword analysis; only descriptions distinguish purpose. Similarly, analyze_channel_videos and analyze_competitor both analyze channel content. LLMs waste reasoning cycles choosing between overlapping tools. No clear naming scheme (get_ vs describe_ vs analyze_) to disambiguate.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 44 | - | v1 |
Perform DEEP analysis on keywords to find winning opportunities. Evaluates search volume, competition difficulty, and generates related keywords. Use AFTER unified_search to analyze keywords from actual content. Returns: keyword scores (0-100), difficulty ratings, clusters of related terms, and specific recommendations. CRITICAL for: choosing video topics, optimizing titles/tags, finding low-competition keywords. Analyzes up to 100 keywords and identifies hidden opportunities.
DECODE the viral formula by analyzing videos with 1M+ views in your niche. Examines titles, thumbnails patterns, video length, upload timing, and engagement ratios that correlate with viral success. Use this to REVERSE ENGINEER viral hits and apply winning formulas to your content. Returns: common title patterns, optimal video lengths, best upload times, engagement benchmarks. Filter by category and region for laser-focused insights.
MAP the hidden network of connected channels in any niche. Recursively discovers featured/recommended channels up to 5 levels deep, revealing collaboration networks and niche communities. Use this to: find ALL players in your niche, identify collaboration opportunities, understand channel alliances. Start with 1-3 seed channels and watch it spider out. Returns visual network showing who features whom. POWERFUL for discovering channels you'd never find through search alone.
GENERIC ERROR HANDLING. Source shows ErrorHandler.handleToolError(error) catch-all pattern with no tool-specific recovery guidance. No tool documents what errors are retryable, what causes API limits, or what the LLM should do on failure. Pattern requires 'Error responses must tell the LLM what to do next.'
PARAMETER DESCRIPTIONS lack actionable constraints. 'includeParts' array in analyze_competitor lists valid enums (snippet, statistics, etc.) but no description explains what each part returns or when to include it. 'keywords' array in analyze_keyword_opportunities has no min/max length, no guidance on array size limits or batching behavior.
TOOL COMPOSITION FRICTION: No documented dependencies or prerequisite calls. Description of analyze_channel_videos says 'Use AFTER get_channel_details' but get_channel_details is not in the tool list. No guidance on chaining order, required input IDs, or data flow between tools.
MISSING LOOKUP/SEARCH TOOLS. Tools like analyze_competitor and discover_channel_network require 'channelId' as input, but no tool exists to search for channels by name, URL, or keywords. This forces users to supply IDs manually or requires agents to infer them from context, breaking the 'natural identifiers' pattern.