YouTube transcript extraction and summarization MCP server
Single tool with critical definition gaps. Tool name 'get_youtube_video_summary' is appropriately verb-prefixed, but description is vague (41 chars, below 50-char minimum for clarity). Input schema present but parameter 'url' lacks format/validation guidance. No output schema documented. No error handling guidance. Tool performs external API calls with no timeout, retry, or failure recovery patterns. Missing parameter constraints (URL format validation). No pagination or result limits despite potentially large transcript outputs.
Get the transcript of the youtube video from a url.
Description too vague and short (41 chars). Does not explain WHEN to use this tool, what format the URL must be, or what the output contains. LLMs cannot determine if this is the right tool without guessing.
No output schema documented. Tool returns a string (transcript), but LLMs need to know: Is it plain text? Markdown? JSON? How long? Are there line breaks? Undocumented output forces LLMs to guess and wastes tokens on parsing.
URL parameter lacks format constraints. Description says 'The url of the youtube video' but does not specify: Must it be youtube.com? youtube.co.uk? Can it be a short URL (youtu.be)? What if the URL is malformed? Code splits on '=' which will fail on many valid YouTube URLs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If YouTubeTranscriptApi.get_transcript() fails (video not found, no transcript, network error), the tool crashes with a stack trace. LLM receives no actionable error message and cannot self-correct.
No result limits or pagination. Transcripts can be thousands of tokens long. Returning entire transcript without pagination or summarization will exhaust context windows and degrade LLM reasoning. Tool should cap output or offer a summary variant.