Fetches transcripts and captions for YouTube videos via the MCP protocol
Two tools with clear verb-noun naming (get_youtube_transcript, list_transcript_languages) and reasonable descriptions (145 - 155 chars, within baseline 34 - 392 range). Input schemas are present with proper JSON Schema structure and type declarations. However, parameter descriptions are minimal (10 - 30 chars), falling well below the 72-char baseline for A+ tools. No output schema documentation. Error handling returns plain text rather than structured guidance. Missing idempotency hints, rate-limit guidance, and dependency documentation. Caching logic is present but undocumented to the LLM.
Fetches the transcript/captions for a YouTube video. Returns timestamped text by default.
Lists available transcript/caption languages for a YouTube video.
Parameter descriptions are too brief (10 - 30 chars vs. 72-char baseline). 'Language code (e.g. 'en', 'es', 'fr')' lacks format constraints, valid range, and fallback behavior. LLMs cannot infer that omitting language triggers auto-selection.
No output schema documented. LLMs cannot plan downstream operations or extract structured fields. Responses are formatted as plain text headers + body, but the structure is not declared in the tool definition.
Error responses are plain text ('Missing required parameter: url', 'Unknown tool') without recovery guidance. Per pattern:recovery-guide, errors should suggest next steps (e.g., 'Invalid URL. Try a YouTube video ID like dQw4w9WgXcQ or full URL https://youtube.com/watch?v=...').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | <=2025-11-25 | v2 |
No tool annotations (readOnlyHint, idempotentHint). Both tools are read-only and idempotent, but this is not declared in the schema. LLMs cannot infer safety properties without explicit hints.
Caching behavior is undocumented. LLMs do not know that repeated calls with the same video ID will return cached results, potentially stale data. No cache TTL, invalidation policy, or freshness guarantee is exposed.