Video intelligence MCP server - analyze any video with AI vision
Server has 5 tools with complete input schemas and descriptions. Naming follows verb_noun convention (analyze_video, extract_video_frames, get_video_transcript, get_frame_at_time, video_to_strategy). Descriptions are substantive (100-250 chars), exceeding the 10-char minimum. All parameters have type definitions and descriptions. However, output schemas are not formally documented, tools return list[TextContent | ImageContent] or str without specifying field structure. Error handling is absent: no guidance on retryability, user-fixable vs fatal errors, or recovery paths. No input validation constraints (e.g., max_frames bounds, URL format validation). Parameter descriptions lack format/range details (e.g., 'timestamp: Time in seconds' does not specify valid range). Tool descriptions do not clarify when to use one over another (analyze_video vs extract_video_frames distinction is unclear).
Analyze a video by extracting key frames and transcript. Supports YouTube, Vimeo, Twitter/X, and 1000+ sites via yt-dlp. Returns key scene-change frames as images plus the transcript text.
Extract frames from a video without transcript.
Extract a single frame at a specific timestamp from a video.
Get the transcript/captions of a video. Returns timestamped transcript segments. Works best with YouTube videos that have captions (auto-generated or manual).
Extract a trading strategy from a video and return structured data for code generation. Analyzes trading/investing tutorial videos (YouTube, Instagram, etc.) by extracting chart screenshots, indicator visuals, and spoken strategy rules. Returns everything the LLM needs to generate runnable trading strategy code. Supported frameworks: backtrader, zipline, pandas-ta, freqtrade
Output schemas not documented. Tools return list[TextContent | ImageContent] or str without specifying field structure, cardinality, or downstream chaining IDs. LLMs cannot plan multi-step workflows or extract structured data reliably.
No error handling or recovery guidance. Tools do not document failure modes (network timeout, unsupported video format, missing captions), retryability, or what the LLM should do next. Agents cannot self-correct.
Parameter descriptions lack format/range constraints. 'max_frames' has default but no min/max bounds (e.g., 1 - 100). 'timestamp' has no range validation (negative, beyond video duration). 'url' has no format validation. LLMs may pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Tool purpose overlap unclear. 'analyze_video' and 'extract_video_frames' both extract frames; difference is transcript inclusion. 'video_to_strategy' is a specialized variant of analyze_video. Naming does not disambiguate intent.
No pagination or result limits documented. Tools return variable-length lists (frames, transcript segments) without specifying max cardinality or pagination strategy. Large videos could exhaust context window.