An MCP server that allows you to directly download transcripts of YouTube videos and analyze videos using TwelveLabs Pegasus video-understanding model.
Two tools with complete input schemas and output schemas. Tool descriptions are adequate (194 - 280 chars, within baseline 34 - 392 range). Both tools have proper verb-noun naming (get_*, analyze_*). Parameters are typed and mostly described. However, parameter descriptions lack actionable constraints (e.g., no regex for video ID format, no token range validation for max_tokens). Output schemas are present but minimal. Error handling is basic, no recovery guidance or actionable error messages visible in the code sample. Tool annotations (readOnlyHint, openWorldHint) are present, which is good. Missing: per-parameter validation rules, dependency hints, and structured error responses.
Analyze a video with TwelveLabs Pegasus (video-understanding model) to generate a summary or answer a question. Unlike get_transcript, this reasons over what is shown on screen, so it works for videos with little or no speech. Requires a TWELVELABS_API_KEY and a publicly reachable direct video URL (e.g. .mp4/.mov/.webm); a YouTube watch page URL is NOT a direct media file and will not work.
Extract transcript from a YouTube video URL or ID. Automatically falls back to available languages if requested language is not available.
Parameter descriptions lack actionable constraints. 'max_tokens' says '2-4096 for pegasus1.2' but no validation logic visible; 'lang' accepts any string with no enum or pattern. LLMs will pass invalid values.
Error handling is minimal. Code shows McpError throws but no recovery guidance (e.g., 'Try search_users() first'). Agents cannot self-correct from failures.
Output schema for get_transcript is sparse: only 'meta' (string) and 'content' (string). No structure for metadata fields (title, author, viewCount, publishDate), LLMs cannot extract these reliably.
analyze_video description warns 'Not a YouTube watch page' but does not explain what 'direct video URL' means or how to obtain one. Users/LLMs may still pass YouTube links and fail.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2025-06-18+ | v2 |
No pagination or result limits documented. get_transcript may return very long transcripts; no mention of chunking, truncation, or streaming. Large responses risk context window exhaustion.