Local MCP server for YouTube metadata, thumbnails, comments, and analytics.
YouTube Studio MCP has 9 tools with basic naming and descriptions, but significant gaps in schema completeness, parameter documentation, and error handling. Tool names follow verb_noun convention (get_*, list_*, update_*), which is good. However, most parameters lack detailed descriptions explaining constraints, formats, and valid ranges. Input schemas are present but sparse, many parameters have minimal or no description text. Output schemas are not documented. Error handling is minimal; no recovery guidance or actionable error messages visible. The server lacks pagination metadata (total counts, next_cursor), which is critical for list operations. No tool annotations (readOnlyHint, destructiveHint) despite clear risk distinctions (READ_ONLY vs WRITE). Overall, this is a functional but underdeveloped tool set that would benefit from richer parameter documentation and structured error responses.
Get the authenticated YouTube channel overview including snippet, statistics, branding settings, and content details.
Get YouTube Analytics data for the authenticated channel with customizable date range and metrics.
Get the current authentication status, including whether client secrets and token files exist.
Get comments for a video with optional filtering and pagination.
Get detailed information about a specific video by ID including snippet, statistics, status, and content details.
Download and return a video thumbnail as base64-encoded image data.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields without knowing response structure. Critical for tools like list_videos, get_analytics, and channel_overview which return complex nested data.
Parameter descriptions are minimal or missing detail. E.g., 'max_results' lacks min/max bounds; 'quality' in get_video_thumbnail lacks enum values; 'metrics' and 'dimensions' in get_analytics lack valid option examples. LLMs cannot validate inputs without explicit constraints.
No pagination metadata returned. list_videos and get_comments accept page_token but no documentation of total_count, has_more, or next_page_token in response. Without this, agents cannot determine if more results exist or plan multi-page fetches.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
List videos from the authenticated channel's uploads playlist with optional pagination.
Update video metadata including title, description, tags, category, language, and privacy settings.
Upload a custom thumbnail for a video from a file path or base64-encoded data.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk labels in metadata. update_video and upload_thumbnail are marked WRITE but lack destructiveHint annotation. Agents cannot distinguish safe retry operations from irreversible ones.
Error handling not visible in tool definitions. No recovery guidance, error classification, or actionable error messages documented. Agents will not know whether to retry, ask user, or abort on failure.