The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Video Reader MCP listing page.
Merged into anymd (2026-09-25). anymd reads PDFs, Office files, EPUB, web pages, images and video into clean Markdown for AI agents:
npx -y @sylphx/anymd. This repository is archived.
Cue gives agents a local video timeline they can search and cite. The default read returns container metadata, streams, chapters, and embedded subtitles. Scenes and frames are separate.
For Claude Code:
That call uses the fast profile. It returns container metadata, streams,
chapters, and embedded subtitles. It does not detect scenes, extract frames,
or run speech recognition.
Then ask:
“Which chapter covers the pricing change?”
Cue returns chapter and subtitle locators with timestamp_ms and the source
hash. It does not invent a transcript. A quote search matches embedded
subtitles only. Render or crop a frame afterwards with video_evidence, once
you have a timestamp.
| Ask your agent | Cue returns |
|---|---|
| “Find this quote.” | a timestamped match in embedded subtitles, when those subtitles exist |
| “Summarize this meeting.” | chapters and embedded subtitles |
| “Where is the code shown?” | one frame from video_evidence at a known timestamp |
| “What changed in this demo?” | scene boundaries when profile is quality or include_scenes is set |
| “Give me the useful moments.” | chapters, embedded subtitles, warnings, and gaps |
| Tool | Purpose |
|---|---|
read_video | Default fast profile: container metadata, streams, chapters, and embedded subtitles. Scenes are opt-in. |
search_video | Search embedded subtitle cues. It does not run speech recognition. |
video_evidence | Named follow-up: render, crop, or OCR one frame at a timestamp |
profile is fast: container metadata, streams, chapters, and embedded subtitles. No scenes, frames, or speech recognition.profile quality adds ffmpeg scene detection. It does not extract frames or run speech recognition.include_keyframes and include_transcript stay off. Setting either one on the shipped server returns a warning and an empty array.video_evidence.Every claim can point back to timestamp_ms, a stream index, a subtitle range,
or the source hash. A frame index is present only after video_evidence.
| Product | Job |
|---|---|
| Citra | PDF answers with page-level proof |
| Iris | Image facts and pixel evidence |
| Spine | Repository architecture and impact |
| Locus | Exact code-chunk retrieval |
| Lookout | Web research with source excerpts |
Each product is independent. Install only the tools your agent needs.
MIT