My AI agent learned to watch videos this week. Here is the 3-line version of how to give yours the same ability.
claude-real-video (MIT, 1.9k stars) extracts scene-aware, deduplicated keyframes plus a timestamped transcript from any video URL or local file — all processing on your machine. Since 0.8.0 it ships as an MCP server, so MCP clients can request a video directly.
pip install 'claude-real-video[mcp]'
Claude Code:
claude mcp add crv -- crv-mcp
Claude Desktop — add to claude_desktop_config.json
:
{ "mcpServers": { "crv": { "command": "crv-mcp" } } }
Cursor and any other MCP client: same stdio command, crv-mcp
.
Two tools show up:
watch_video(source, max_frames, language, transcribe)
— downloads (URL) or reads (local file), extracts keyframes at scene changes, drops near-duplicates, transcribes with Whisper, and returns the transcript plus the first batch of frames as images straight into the conversation.get_frames(source, start_index, count)
— pages through the rest of the frames.Analyses are cached per source under ~/.cache/crv-mcp
, so a follow-up question about the same video is instant.
Fixed-interval sampling wastes context on near-identical frames and still misses fast cuts. Scene detection keeps the frames that actually differ: a 58-second test clip goes from 58 sampled frames to 26 that matter. Fewer tokens, nothing missed. The benchmark folder in the repo has the full comparison, reproducible.
pip install 'claude-real-video[whisper]'
or [fast]
); frames work without it.