MCP server for managing YouTube playlists
Server has 5 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization) and input schemas with Zod validation. However, descriptions lack context about when to use each tool, prerequisites, and consequences of state-changing operations. Parameter descriptions are minimal (e.g., 'Playlist ID' vs. 'The unique YouTube playlist identifier'). No output schemas documented. Error handling is absent, tools return success messages but no guidance on failure modes or recovery. Destructive tool (remove_video_from_playlist) lacks confirmation pattern. No pagination support despite potential for large result sets.
Add video to playlist by video ID
Get all videos in a playlist
List all YouTube playlists
Move video from one playlist to another
Remove a video from a playlist using its playlist item ID
Descriptions are too brief (10-50 chars vs. 50-200 char baseline). 'List all YouTube playlists' and 'Get all videos in a playlist' lack context about when to call them, what data structure is returned, and dependencies. LLMs cannot distinguish between similar tools or plan multi-step workflows.
Parameter descriptions are minimal and lack format/constraint guidance. 'Playlist ID' does not explain format (e.g., 'YouTube playlist ID, typically 26 alphanumeric chars starting with PLxx'). 'playlistItemId' vs 'playlist_id' naming inconsistency forces LLM to reason about field mappings.
No output schemas documented. Tools return text responses without structured field definitions. LLMs cannot extract IDs for chaining (e.g., after list_playlists, agent needs playlist_id to call get_playlist_videos). Unstructured text requires parsing and wastes tokens.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Destructive tool (remove_video_from_playlist) lacks confirmation or dry-run pattern. Agents can permanently delete videos without a safety gate. No error handling to guide recovery if deletion fails.
No error handling or recovery guidance. Tools return success messages but no error responses, validation messages, or actionable next steps if a call fails. LLMs cannot self-correct or retry intelligently.