YouTube video summarization and transcript extraction via MCP (Model Context Protocol)
Two tools with clear, action-verb naming (get_summary, get_transcript) and complete input schemas. Both have descriptions (88 and 95 chars respectively). However, parameter descriptions are minimal or missing precision, output schemas are not documented, and there is no structured error guidance for agents. The schema quality is moderate, all parameters have types and basic descriptions, but lack detail on constraints, formats, and recovery paths. Error handling exists (McpError for invalid params, method not found) but does not guide LLM recovery. No tool annotations (readonly hints) are present. Overall definition quality is fair but lacks the depth needed for confident production use.
Get summary for a YouTube video
Get transcript for a YouTube video with timestamps
No output schema documented. Callers cannot predict response structure (summary text format, transcript format with timestamps, fields returned). LLMs cannot plan downstream operations or extract data reliably.
Parameter 'lang' lacks specific format guidance. Descriptions say 'default: zh-tw' and 'default: en' but do not state what language codes are valid (ISO 639-1? BCP 47?). For get_transcript, description says 'Preferred language code' but LLMs may pass invalid codes, causing API failures.
Parameter descriptions lack depth. 'videoId' says 'YouTube video ID' but get_transcript also accepts 'full YouTube URL', this is mentioned in the description but not reflected in the parameter description. Agents may not realize URLs are accepted and pass a separate URL parser call.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 19 | - | v1 |
No error recovery guidance. The code throws McpError with generic messages ('Invalid summary arguments', 'Could not fetch video details', 'No captions available'). Agents receive errors but have no guidance on next steps (e.g., 'Try with a different language code' or 'Video does not have transcripts'). This violates the recovery guide pattern.
No tool annotations. Neither get_summary nor get_transcript declares readOnlyHint (both are readonly operations). Agents cannot determine which tools are safe to retry or whether side effects are possible without reading source code.
Mode enum for get_summary is hardcoded ('narrative', 'bullet') but the enum constraint is present in schema. However, if the API supports additional modes, this is not extensible. No description explains when to use each mode.