MCP server for YouTube — search videos, get transcripts, channels, and playlists. Works with Claude, Cursor & any MCP client.
The server provides 7 YouTube tools with reasonable naming and mostly present descriptions. Tool names follow verb-noun patterns (youtube_search, youtube_get_video, etc.), which is good. However, there are significant gaps: parameter descriptions are sparse or missing for many fields, output schemas are not documented anywhere in the source, and error handling is not visible. The server achieves basic quality but lacks the polish needed for production agent use. Average tool score across 7 tools is 62.
Get channel information.
Get comments for a YouTube video.
Get playlist details and video list.
Get transcript/captions for a YouTube video. Returns actual transcript text.
Get detailed information about a YouTube video.
List playlists for a channel.
Search YouTube for videos, channels, or playlists.
Output schemas not documented. No visible documentation of what each tool returns (field names, types, structure). LLMs cannot plan downstream tool calls or extract data without knowing response structure.
youtube_get_channel has ambiguous parameter requirements. Both 'channel_id' and 'username' are optional (null allowed), but it is unclear if at least one is required or what happens if both/neither are provided. Parameter relationship not documented.
Missing parameter descriptions for several fields. For example, the 'part' parameter in youtube_get_video lists options ['snippet','statistics','contentDetails'] but does not explain what each part retrieves or why an agent would choose one over another. Parameter descriptions should explain WHAT the field controls and WHY it matters.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 56 | - | v1 |
No error handling guidance visible in tool definitions or implementation. No indication of what errors can occur (quota exceeded, invalid IDs, missing transcripts), how to classify them (retryable vs user-fixable), or what the LLM should do next. The resources mention quota errors but tools do not document how to handle them.
Result limiting not enforced in tool descriptions. youtube_get_comments defaults to max_results=20 and youtube_get_playlist defaults to max_results=50, but no documentation of hard caps or guidance on why the LLM should not request 10,000+ items. Tools should cap results and document the limit in descriptions.
Pagination support incomplete. youtube_get_comments accepts 'page_token' for pagination, but youtube_search does not expose any pagination mechanism (no page_token or offset parameter visible). Tools returning lists should support explicit pagination.