Fetches YouTube transcripts through a self-hosted server (residential IP, so YouTube does not block it). Use get_transcript for any YouTube link the user shares or asks about, then work with the returned Markdown (summarize, extract, compare). Transcripts are also saved and can be re-read later with list_transcripts / read_transcript instead of fetching again.
Three tools with clear verb-noun naming (get_, list_, read_) and complete input schemas. Descriptions are present and moderately detailed (100-200 chars), explaining WHAT each tool does and key parameters. However, parameter descriptions lack depth on constraints and error conditions. Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no guidance on recovery paths or retryability. Tool composition is sound (single responsibility), but missing idempotency hints and pagination details for list_transcripts.
Fetch the transcript of one YouTube video as Markdown (title, channel, URL, language header, then ~60s paragraphs). Accepts watch/youtu.be/shorts/live URLs or a bare 11-char video ID. languages: optional preferred languages in order, comma separated (e.g. "de,en"); empty uses the server default. Falls back to any available transcript. timestamps: prefix each paragraph with a clickable [mm:ss] link. Also saves the file on the server.
List transcript files already saved on the server, newest first. filter: optional case-insensitive substring to match against the filename (title or video ID).
Read a previously saved transcript by its exact filename (as returned by list_transcripts).
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Markdown content format, file paths, and metadata fields are undocumented.
Parameter descriptions lack constraint details. 'languages' accepts comma-separated codes but no format/length limits stated. 'filter' substring matching not explained. LLMs may pass invalid values.
No error handling guidance. Tool descriptions do not explain failure modes (invalid video ID, transcript unavailable, file not found) or recovery paths. LLMs cannot self-correct.
list_transcripts lacks pagination. No limit/offset parameters or total count in response. Large transcript libraries will blow context window.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
get_transcript description mentions 'saves the file on the server' but does not document idempotency or side effects. LLMs cannot reason about retry safety.