MCP server for YouTube API integration, providing tools to search videos, get video details, retrieve comments, and extract transcripts
Four tools with basic descriptions and input schemas present, but significant gaps in parameter documentation and output schema clarity. All tools are READ_ONLY and follow verb_noun naming (search_, get_). However, parameter descriptions are minimal (e.g., 'YouTube video ID or full video URL' lacks format constraints), and output schemas are not documented in the source. No error handling guidance visible. Tool descriptions average ~60 chars, below the 194-char baseline for A+ tools. Parameters lack type constraints (enums, ranges, patterns). No pagination documented despite tools returning lists.
Get comments from a YouTube video
Get detailed information about a YouTube video including snippet, content details, and statistics
Extract transcript/subtitles from a YouTube video using yt-dlp
Search YouTube videos by query
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields (e.g., video_id, channel_id, view_count). Responses are opaque to agent reasoning.
Parameter descriptions lack format constraints and ranges. 'maxResults' and 'maxComments' have no min/max bounds stated in descriptions; LLMs may pass invalid values. 'videoID' description does not specify the 11-character ID format or URL patterns accepted.
No pagination support documented. search_videos and get_video_comments return lists but lack offset/limit/cursor parameters and total_count in response. Large result sets will blow context windows.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Tool descriptions are too brief (40 - 50 chars). Lack WHEN to use, prerequisites, and dependencies. E.g., get_video_transcript does not mention yt-dlp dependency or that transcripts may not exist for all videos.
No error handling guidance. Code returns generic errors (e.g., 'error executing search', 'video not found') without recovery hints. LLMs cannot determine if errors are retryable or require user intervention.