Extract video IDs and transcripts from YouTube videos, and search the web.
Server provides 3 tools with visible definitions, proper input schemas, and descriptions. However, there are notable gaps in output schema documentation, error handling guidance, and parameter constraints. Tools follow verb_noun naming but descriptions lack LLM-optimized structure. Parameters are typed but missing some validation constraints and range specifications. No tool annotations (readOnlyHint, idempotentHint) present despite all being read-only operations. Composition is reasonable, tools are single-purpose and chainable (video_id extractor feeds into transcript tool).
Get the full transcript of a YouTube video. Args: video_url_or_id: YouTube URL or video ID language: Language code for transcript (default: "en") Returns: Full transcript as formatted text
Extract YouTube video ID from various YouTube URL formats. Supports: - https://www.youtube.com/watch?v=VIDEO_ID - https://youtu.be/VIDEO_ID - https://youtube.com/watch?v=VIDEO_ID - And other common formats
Search the web using Tavily API to get comprehensive information about any topic. Args: query: The search query string max_results: Maximum number of results to return (default: 5, max: 20) include_domains: Optional list of domains to include in search (e.g., ["wikipedia.org", "github.com"]) exclude_domains: Optional list of domains to exclude from search (e.g., ["example.com"]) Returns: Formatted search results with titles, URLs, and content snippets
Output schemas not formally documented for any tool. LLMs cannot plan downstream calls or structure parsing logic without knowing return types and field names.
Tool descriptions lack LLM-optimized structure. Docstring format (Args/Returns) is readable to humans but wastes tokens and buries selection context. Should be 10 - 200 character narrative with WHAT, WHEN, and key output fields.
No tool annotations (readOnlyHint, idempotentHint, destructiveHint) despite all three tools being read-only and idempotent. This metadata aids agent planning and safety heuristics.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 77 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 52 | - | v1 |
Parameter constraints incomplete. 'max_results' mentioned as capped at 20 in description but not declared in schema (no maximum property). 'language' parameter is free-form string, should be constrained to ISO 639 codes or documented with examples.
Error handling returns unstructured strings rather than actionable guidance. search_web returns 'Error: TAVILY_API_KEY environment variable not set' but this error is only visible at runtime, agents won't know to set the key beforehand. Error messages lack classification (retryable vs user-fixable vs fatal).
TAVILY_API_KEY credential requirement not documented in tool description or parameters. Agents cannot discover that this tool requires external configuration. Secret injection should be transparent to the agent.