video-reader-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@video-reader-mcpread video sample.mp4 including subtitles and scene changes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ฌ Video Reader MCP
Your agent watched the video. Did it read the timeline?
Evidence-first video reading for AI agents. One call turns any local video into a timeline document โ ffprobe streams, chapters, embedded subtitles, scene boundaries, and warnings you can cite without frame-by-frame vision LLM calls.
Local-first ยท One smart read_video call ยท Timeline evidence + provenance ยท 20 tests
SOTA family roadmap: docs/roadmap/sota-family-roadmap.md.
โญ Star this repo if agents should read video timelines with proof, not sampled frame captions. ยท Quick start ยท See it work ยท Why not frame-by-frame vision?
Part of the Sylphx Reader portfolio โ orchestration and portfolio ADR live in smart-reader-mcp.
The problem
Videos are not a pile of frames. They are codecs, chapters, embedded subtitles, scene cuts, variable frame rates, and timelines measured in milliseconds.
Most agent stacks sample frames and ask a vision LLM what it sees. Subtitles get skipped. Scene boundaries vanish. Duration and stream metadata never reach context. Citations become "around minute two, I think." Then the agent hallucinates โ confidently.
Video Reader MCP is built for the moment your agent needs a citeable timeline, not a slideshow summary.
Related MCP server: vidsight
Why not frame-by-frame vision?
Typical vision path | Video Reader MCP |
Sample N frames into a vision model | ffprobe format + stream metadata in one call |
Paraphrased "what happens" | Embedded subtitle cues with |
Scene changes guessed from captions | Optional ffmpeg scene filter with timestamp evidence |
Missing audio / VFR silently ignored | Warnings for missing ffmpeg/ffprobe, VFR, missing audio, skipped ASR |
Cloud API by default | Local-first โ ffprobe + ffmpeg on your machine |
Ship and pray | 20 tests on parsers, fixture corpus, doctor, release gate, and integration |
See it work
Install once. Call once.
claude mcp add video-reader -- npx @sylphx/video-reader-mcp{
"sources": [{ "path": "/absolute/path/to/demo.mp4" }],
"include_subtitles": true,
"include_scenes": true
}read_video builds a timeline document per source โ no per-frame vision LLM
calls:
{
"source": "/absolute/path/to/demo.mp4",
"success": true,
"data": {
"provenance": {
"source": "/absolute/path/to/demo.mp4",
"tool": "read_video",
"version": "0.1.0",
"extracted_at": "2026-07-09T12:00:00.000Z"
},
"format": {
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"duration_ms": 125500
},
"streams": [
{ "index": 0, "codec_type": "video", "width": 1920, "height": 1080 },
{ "index": 1, "codec_type": "audio", "channels": 2, "sample_rate": 48000 }
],
"chapters": [
{ "id": 0, "start_ms": 0, "end_ms": 60250, "title": "Intro" }
],
"subtitles": [
{
"index": 0,
"start_ms": 1200,
"end_ms": 3400,
"text": "Welcome to the demo.",
"provenance": { "method": "ffmpeg_extract", "format": "srt" }
}
],
"scenes": [
{
"index": 0,
"time_ms": 45200,
"provenance": { "method": "ffmpeg_scene_filter", "threshold": 0.4 }
}
],
"warnings": []
}
}Abbreviated shape โ optional local ASR transcript hooks skip gracefully when no adapter is wired.
Prerequisites
Node.js
>=22.13ffprobe (required) and ffmpeg (recommended for subtitles + scenes) on
PATH
MCP Tool Surface
Tool | Use it when the agent needs to... |
| Read one or more local videos and return ffprobe metadata, chapters, subtitles, scenes, and timeline warnings. |
Supported formats: MP4, M4V, MKV, MOV, WebM, and other formats ffprobe can inspect.
Quick Start
Claude Code
claude mcp add video-reader -- npx @sylphx/video-reader-mcpClaude Desktop
Add this to claude_desktop_config.json:
{
"mcpServers": {
"video-reader": {
"command": "npx",
"args": ["@sylphx/video-reader-mcp"]
}
}
}Any MCP Client
npx @sylphx/video-reader-mcpHTTP transport (optional)
MCP_TRANSPORT=http MCP_HTTP_PORT=8080 npx @sylphx/video-reader-mcpSecurity model
Local-first โ
read_videoinspects local files; remote URLs are not fetched by default.ffprobe/ffmpeg boundary โ probe and frame tools shell out to configured binaries on PATH; missing tools return explicit errors.
Fixture corpus โ CI validates parser and safety fixtures; corrupted inputs fail closed with structured diagnostics.
Evidence envelope โ timestamps, frame indices, and extraction routes are preserved so agents can verify claims.
Release proof
Claims are backed by CI benchmark:release-gate, fixture corpus checks, and the shipped-path matrix (Rust-default primary tools).
bun run benchmark:release-gateArtifact: benchmark-artifacts/video_reader_release_gate.json โ must report status: passed before release.
Development
git clone https://github.com/SylphxAI/video-reader-mcp.git
cd video-reader-mcp
bun install
bun run build
bun test
bun run doctor
bun run benchmark:release-gateUseful checks:
bun run check
bun run typecheck
bun run benchmark:release-gateExample read_video requests live in examples/. CI runs parser,
fixture corpus, doctor, and release-gate checks; integration tests exercise ffmpeg
when available on the runner.
Support
Portfolio orchestration: smart-reader-mcp
Help this reach more builders
If frame-by-frame vision guesses have wasted your context, your citations, or your trust in agent output, you are exactly who this project is for.
โญ Star the repo โ it is the fastest way to help more agent builders find evidence-first video reading. Share it in your MCP client setup, team wiki, or agent stack README.
Discovery (in progress)
Channel | Status |
Listed โ claim server for full discoverability | |
Listed โ | |
Open โ multimedia/document processing listing | |
Open โ community server highlight | |
Open โ directory submission request | |
Not listed yet โ free web-form submission |
Know another MCP directory? Open an issue with the link.
License
MIT ยฉ SylphxAI
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables AI assistants to watch YouTube videos by extracting frames at scene changes and visual references, pairing each frame with the exact words spoken at that timestamp. Provides dense frame-transcript interleaving for any model.Last updated412MIT
- Alicense-qualityBmaintenanceEnables AI agents to query local video timelines by extracting speech, frame captions, and on-screen text into a SQLite store, exposing search and retrieval tools via MCP.Last updatedPolyForm Noncommercial 1.0.0
- Flicense-qualityDmaintenanceBridges Claude and video content by extracting keyframes and transcribing audio, enabling Claude to analyze video files.Last updated
- AlicenseAqualityBmaintenanceProvides image and video analysis capabilities for LLMs, with local preprocessing (ffmpeg/OpenCV) and any OpenAI-compatible vision model for understanding and Q&A.Last updated4MIT
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Multimodal video analysis MCP โ transcription, vision, and OCR for any video URL.
15 media & data tools for AI agents: search, transcribe, subtitles, voiceover, translate & more.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SylphxAI/video-reader-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server