npm @sylphx/video-reader-mcpstdioMITupdated 13d ago
Local-first video evidence: streams, chapters, subtitles, scenes, and follow-up crops your agent can cite.
What can you do with Video Reader MCP?
Cue
Timeline proof for agents โ not frame-by-frame vision guesses.
Local-first video evidence: streams, chapters, subtitles, scenes, and follow-up crops your agent can cite.
Canonical @sylphx/cue ยท bin cue ยท live 0.2.1
Zero-config in one line
npx -y @sylphx/cue
No API key. No global install. Starts a stdio MCP server immediately.
| Client | Setup |
|---|---|
| Any agent / CLI | npx -y @sylphx/cue |
| Claude Code | claude mcp add cue -- npx -y @sylphx/cue |
| Desktop / Cursor / VS Code / Codex | "command": "npx", "args": ["-y", "@sylphx/cue"] |
Why Cue feels unfairly good
Your agent watched the video. Did it read the timeline?
| Frame-by-frame VLM | Cue |
|---|---|
| Expensive / slow captions | Timeline structure (streams, chapters, scenes) |
| Every follow-up is a new model call | video_evidence crops / frames with provenance |
| Cloud by default | Local-first |
| Setup: GPU + keys | npx -y โ done |
| Brand mix | @sylphx/cue ยท bin cue ยท brand-sole serverInfo.name=cue |
Five reasons teams pick Cue
- Zero-config MCP for video evidence.
- Timeline twin, not random frame captions.
- Local-first โ no required upload of whole videos to a cloud API.
- Fail closed without the matching native.
- Family ready โ Iris for stills, Citra for PDFs, Locus for code.
What agents get
Public tools: read_video, video_evidence.
Flagship use cases
- Meeting / lecture recordings โ chapters, subtitles, scene boundaries
- Product demos โ extract citeable frames with geometry context
- Long-form media triage โ structure first, then crop evidence
Product docs
| Doc | Purpose |
|---|---|
| docs/POSITIONING.md | Strategic positioning |
| docs/COMPETITIVE.md | Peer anchors and wedge |
| docs/EVIDENCE_CONTRACT.md | Evidence = result contract |
| docs/TOOL_SURFACE.md | Few clear tools policy |
| docs/PRODUCT_INDEPENDENCE.md | This repo is SSOT |
| docs/IPPB.md | Independent public product bar |
| docs/PUBLISH.md | npm / git publish status |
See it work
Install (30 seconds)
npm install -g @sylphx/cue
cue doctor
claude mcp add cue -- npx -y @sylphx/cue
Install once. Call once.
{
"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.13 - ffprobe (required) and ffmpeg (recommended for subtitles + scenes) on
PATH
MCP Tool Surface
| Tool | Use it when the agent needs to... |
|---|---|
read_video |
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 Desktop
Add this to claude_desktop_config.json:
{
"mcpServers": {
"cue": {
"command": "npx",
"args": ["-y", "@sylphx/cue"]
}
}
}
Any MCP Client
npx -y @sylphx/cue
HTTP transport (optional)
MCP_TRANSPORT=http MCP_HTTP_PORT=8080 npx -y @sylphx/cue
Security 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-gate
Artifact: 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-gate
Useful checks:
bun run check
bun run typecheck
bun run benchmark:release-gate
Example 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
- Issues
- npm package
- 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 |
|---|---|
| Glama MCP directory | Listed โ claim server for full discoverability |
| Official MCP Registry | Listed โ io.github.SylphxAI/video-reader-mcp @ v0.1.0 |
| TensorBlock MCP Index PR #1113 | Open โ multimedia/document processing listing |
| MCP servers community issue #4500 | Open โ community server highlight |
| mcp.so listing issue #3068 | Open โ directory submission request |
| mcpservers.org submit | Not listed yet โ free web-form submission |
Know another MCP directory? Open an issue with the link.
License
MIT ยฉ SylphxAI
Install
Add Video Reader MCP to your client. Pick the one you use.
claude mcp add video-reader-mcp -- npx -y @sylphx/video-reader-mcpcodex mcp add video-reader-mcp -- npx -y @sylphx/video-reader-mcpamp mcp add video-reader-mcp -- npx -y @sylphx/video-reader-mcp{
"mcpServers": {
"video-reader-mcp": {
"command": "npx",
"args": [
"-y",
"@sylphx/video-reader-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"video-reader-mcp": {
"command": "npx",
"args": [
"-y",
"@sylphx/video-reader-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"video-reader-mcp","command":"npx","args":["-y","@sylphx/video-reader-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"video-reader-mcp": {
"command": "npx",
"args": [
"-y",
"@sylphx/video-reader-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"video-reader-mcp": {
"command": "npx",
"args": [
"-y",
"@sylphx/video-reader-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"video-reader-mcp": {
"command": "npx",
"args": [
"-y",
"@sylphx/video-reader-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"video-reader-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@sylphx/video-reader-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"video-reader-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"@sylphx/video-reader-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @sylphx/video-reader-mcpRun `goose configure`, choose **Add Extension โ Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust16/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 6 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 0.1.0Latest | Jul 8, 2026 |