MCP server for retrieving YouTube video captions and subtitles
Two tools present. 'validate' is a trivial stub with empty schema and vague description (23 chars). 'summarize_youtube_video' has a proper schema with Zod validation and tool annotations, but description is verbose (280 chars) and lacks clarity on when/why to use it. Parameter descriptions are present but generic. No output schema documented. Error handling returns raw error strings without recovery guidance. Overall: below-average definitions with one functional tool and one placeholder.
Extract and analyze YouTube video content by retrieving captions/subtitles. Use this tool whenever a user provides a YouTube URL or asks about YouTube video content - including summaries, key points, quotes, timestamps, topics discussed, or any questions about what's said in a video.
Validated this mcp server to be used by PuchAI
Tool 'validate' has empty input schema ({}), no meaningful description (23 chars: 'Validated this mcp server to be used by PuchAI'), and appears to be a stub/placeholder.
No output schema documented for either tool. LLMs cannot plan downstream calls or extract structured data. 'summarize_youtube_video' returns raw text concatenation of subtitles with no field structure.
Error handling returns raw error strings ('Error: {error}') without recovery guidance. Per pattern:recovery-guide, errors should tell the LLM what to do next (e.g., 'Invalid video ID. Video IDs are 11 characters. Try searching for the video first.').
'summarize_youtube_video' description is 280 chars (above 200-char baseline for LLM optimization) and mixes multiple concerns (extract, analyze, summaries, quotes, timestamps). Verbose descriptions waste tokens and dilute signal.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Parameter 'lang' description includes example values ('e.g. en, hi') instead of enum constraint.