Read-only access to a local YouTube transcript archive. Call search with a natural-language query, then call fetch with a returned id to read the complete transcript and its source URL.
Server has 12 tools with consistent naming (verb_noun pattern) and documented schemas. All tools are READ_ONLY and properly typed. However, descriptions are terse (avg ~50 chars, well below the 194-char baseline), parameter descriptions lack depth, and output schemas are not explicitly documented in the tool definitions. Error handling is minimal, no recovery guidance or actionable error messages visible. Tool composition is sound (single responsibility), but descriptions do not explain WHEN to use each tool vs. similar ones (e.g., search vs. search_transcripts vs. search_passages).
Fetch the complete transcript and metadata for a video by ID
Get a research collection as markdown
Get statistics about the transcript library
Get videos related to a given video by topic
Get a specific transcript by video ID
List research collections
List topics extracted from transcripts
Descriptions are too terse (avg ~50 chars vs. 194-char baseline). Most lack WHEN/WHY guidance. E.g., 'Search the transcript archive' does not explain when to use search vs. search_transcripts vs. semantic_search.
Output schemas not documented in tool definitions. LLMs cannot plan downstream calls or extract fields without knowing response structure. E.g., does search return video_id or id? Does fetch include metadata?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
List all transcripts in the archive
Search the transcript archive with a natural-language query
Search for passages in transcripts matching a query
Search transcripts by title, channel, or content
Perform semantic search on transcripts using embeddings
Overlapping tool names create ambiguity. search, search_transcripts, and search_passages all search but with unclear distinctions. LLMs will waste reasoning cycles deciding which to call.
No error handling guidance visible. If a video_id is invalid or not found, what does the tool return? How should the LLM recover? No recovery hints or actionable error messages.
Parameter descriptions lack format/constraint details. E.g., 'query' does not specify length limits, character restrictions, or examples. 'limit' parameters lack explicit min/max in descriptions (only in code constants).