TypeScript Model Context Protocol (MCP) server for VidCap YouTube API. Includes CLI support and extensible structure for connecting AI systems (LLMs) to VidCap YouTube API
VidCap provides 8 YouTube-focused tools with consistent naming (verb_noun pattern: youtube_getInfo, youtube_getCaption, etc.) and basic descriptions. All tools have input schemas with type definitions and parameter descriptions. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. alternatives. Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance or actionable error messages. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Parameter descriptions lack format constraints, ranges, or examples of valid values. The server lacks pagination guidance for list-returning tools (youtube_getComments, youtube_search). Overall: functional but below production baseline.
Get video captions/transcript. Provide a YouTube video URL and optionally locale, model, and extension.
Get YouTube video comments with optional pagination and replies. Provide a YouTube video ID.
Get and save YouTube video information. Provide a YouTube video URL.
Get available media formats for a YouTube video. Provide a YouTube video URL.
Get screenshot from video at specific timestamp. Provide a YouTube video URL and optionally a timestamp (in seconds or YouTube format).
Get multiple screenshots from video at different timestamps. Provide a YouTube video URL and an array of timestamps.
Output schemas not documented. LLMs cannot predict response structure, field names, or types. Forces agents to guess what data is returned and how to chain tools.
Descriptions lack LLM-optimized guidance. Generic text like 'Get YouTube video information' does not explain WHEN to use this tool vs. youtube_getCaption or youtube_getSummary. No dependency hints or prerequisites.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
Get AI-generated summary of video content. Provide a YouTube video URL and optionally locale, model, screenshot flag, and cache preference.
Search YouTube videos with query and optional filters. Provide search query and optional parameters for pagination and filtering.
Parameter descriptions lack format constraints and ranges. 'timestamp in seconds or YouTube format' is vague, no regex, min/max, or examples. 'AI model for processing' does not list valid model names. LLMs will hallucinate invalid values.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only but this is not declared. Agents cannot distinguish safe-to-retry operations from destructive ones.
Pagination tools (youtube_getComments, youtube_search) lack guidance on result limits and total counts. No documentation of max results per call or how to iterate through large result sets.