{"_id":"@sylphx/video-reader-mcp","_rev":"7-82cdf649b97313d51ea148a6d159b779","name":"@sylphx/video-reader-mcp","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.0":{"name":"@sylphx/video-reader-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","video","reader","evidence","ffprobe","ffmpeg","subtitles","sylphx"],"license":"MIT","_id":"@sylphx/video-reader-mcp@0.1.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/video-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/video-reader-mcp/issues"},"bin":{"video-reader-mcp":"dist/index.js"},"dist":{"shasum":"df71be3547d4acb73bfc591c167a212bdeb70988","tarball":"https://registry.npmjs.org/@sylphx/video-reader-mcp/-/video-reader-mcp-0.1.0.tgz","fileCount":17,"integrity":"sha512-WX0HGvUt636nNBXQkYnj1ZqPUz3fXXqASnhckaRaHSvX/6XYVNas4o4preiHFLTUcCHlaP3tP+Va6PqOrpGKUA==","signatures":[{"sig":"MEQCID+N6EBOYsh+BxyTarMXJNg3c2NkuhVD0Puejz3F2w3NAiApU33rghJA7gVIBC1g6XZca/sjua40wWztwSpEhB2pUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35310},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"de3b106ae24eac81e461522cc8a202277d74d640","mcpName":"io.github.SylphxAI/video-reader-mcp","scripts":{"test":"bun test","build":"tsc && chmod +x dist/index.js","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","release":"bun run typecheck && bun run check && bun run build && bun test && changeset publish","check:fix":"biome check --write .","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.test.json","prepublishOnly":"bun run clean && bun run build","sync:server-json":"bun scripts/sync-server-json.ts","version-packages":"changeset version && bun run sync:server-json"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"repository":{"url":"git+https://github.com/SylphxAI/video-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Evidence-first video reading for AI agents — ffprobe, subtitles, scenes, transcripts, and timelines without frame-by-frame LLM vision.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"@types/bun":"^1.2.19","typescript":"^7.0.2","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/video-reader-mcp_0.1.0_1783548144537_0.19019563280552187","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Retired install CTA. Use brand-sole @sylphx/cue (bin: cue)."},"0.1.1":{"name":"@sylphx/video-reader-mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","video","reader","evidence","ffprobe","ffmpeg","subtitles","sylphx"],"license":"MIT","_id":"@sylphx/video-reader-mcp@0.1.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/video-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/video-reader-mcp/issues"},"bin":{"cue":"bin/video-reader-mcp","video-reader-mcp":"bin/video-reader-mcp"},"dist":{"shasum":"192ba9d700acd32ef426e37699caf876ebfef6cf","tarball":"https://registry.npmjs.org/@sylphx/video-reader-mcp/-/video-reader-mcp-0.1.1.tgz","fileCount":30,"integrity":"sha512-tbaVZZUxjyH48IFwFoY+qSPJiQrRNHlGylKbbL3rX7iwXcAsDjgBrWt6MO2RjpzfBlze0kueWIjjKMzs507hlQ==","signatures":[{"sig":"MEYCIQDnnHXNp+0Do6FCAw81iz7bK++QdyrQKMIFRwOppTBNkgIhALDLNnhExN6TyI2wB8rjP1QGEGVozaKcNhRICSDVJ/Qi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7786435},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/doctor-cli.js","./cue":"./src/sdk.ts","./sdk":"./src/sdk.ts"},"gitHead":"3cdc93b4cd7a35e12db6105f5b1bb9c17b9de598","mcpName":"io.github.SylphxAI/video-reader-mcp","private":false,"scripts":{"test":"bun test","build":"bun build src/doctor-cli.ts --outdir dist --target node && chmod +x dist/doctor-cli.js","check":"biome check .","clean":"rm -rf dist coverage","start":"./bin/video-reader-mcp","doctor":"bun run src/doctor-cli.ts","release":"bun run typecheck && bun run check && bun run build && bun test && changeset publish","check:fix":"biome check --write .","test:rust":"cargo test","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.test.json","build:rust":"cargo build --release -p video-reader-core -p video-reader-cli -p video-reader-mcp-server && bun scripts/stage-rust-mcp.ts","prepublishOnly":"bun run clean && bun run build && bun run build:rust","brand:pack-plan":"bun scripts/brand-pack-plan.ts","sync:server-json":"bun scripts/sync-server-json.ts","version-packages":"changeset version && bun run sync:server-json","test:rust-timeline":"cargo test && bun test test/rustTimeline.boundary.test.ts","benchmark:public-proof":"bun scripts/public-proof.ts","benchmark:release-gate":"bun scripts/release-gate.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"repository":{"url":"git+https://github.com/SylphxAI/video-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Cue — Evidence-first video reading for AI agents — ffprobe, subtitles, scenes, transcripts, and timelines without frame-by-frame LLM vision.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"@types/bun":"^1.2.19","typescript":"^7.0.2","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/video-reader-mcp_0.1.1_1785538129704_0.9342033181881146","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Retired install CTA. Use brand-sole @sylphx/cue (bin: cue)."},"0.1.2":{"name":"@sylphx/video-reader-mcp","version":"0.1.2","keywords":["mcp","model-context-protocol","video","reader","evidence","ffprobe","ffmpeg","subtitles","sylphx"],"license":"MIT","_id":"@sylphx/video-reader-mcp@0.1.2","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/video-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/video-reader-mcp/issues"},"bin":{"cue":"bin/video-reader-mcp","video-reader-mcp":"bin/video-reader-mcp"},"dist":{"shasum":"8fe2bc53cfb3c6d7815cb65eb3b349a73c9cb839","tarball":"https://registry.npmjs.org/@sylphx/video-reader-mcp/-/video-reader-mcp-0.1.2.tgz","fileCount":32,"integrity":"sha512-ozvKt60vou/2gUeAf0xOx/cy3C8xRH2HgixLjc3RfbaMCje1D4+s10gR83O+iveJzN9Cn+jEeYxUp4Azcz+6DA==","signatures":[{"sig":"MEUCIQD6c6cGFxKvlW78Gz14jV1PcnaeVLnXpsgRJOyoF6plAQIgIXMBUbj8FSH34nTPhRAeIeyNvk/teXRGP+P2oW30Px8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7797040},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/doctor-cli.js","./cue":"./src/sdk.ts","./sdk":"./src/sdk.ts"},"gitHead":"5e0e4b27e4d607aaef5b76143583944f33cec39d","mcpName":"io.github.SylphxAI/video-reader-mcp","private":false,"scripts":{"test":"bun test","build":"bun build src/doctor-cli.ts --outdir dist --target node && chmod +x dist/doctor-cli.js","check":"biome check .","clean":"rm -rf dist coverage","start":"./bin/video-reader-mcp","doctor":"bun run src/doctor-cli.ts","release":"bun run typecheck && bun run check && bun run build && bun test && changeset publish","check:fix":"biome check --write .","test:rust":"cargo test","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.test.json","build:rust":"cargo build --release -p video-reader-core -p video-reader-cli -p video-reader-mcp-server && bun scripts/stage-rust-mcp.ts","prepublishOnly":"bun run clean && bun run build && bun run build:rust","brand:pack-plan":"bun scripts/brand-pack-plan.ts","sync:server-json":"bun scripts/sync-server-json.ts","version-packages":"changeset version && bun run sync:server-json","test:rust-timeline":"cargo test && bun test test/rustTimeline.boundary.test.ts","benchmark:public-proof":"bun scripts/public-proof.ts","benchmark:release-gate":"bun scripts/release-gate.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"repository":{"url":"git+https://github.com/SylphxAI/video-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Cue — Evidence-first video reading for AI agents — ffprobe, subtitles, scenes, transcripts, and timelines without frame-by-frame LLM vision.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"@types/bun":"^1.2.19","typescript":"^7.0.2","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/video-reader-mcp_0.1.2_1785541017241_0.38449597286485493","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Retired install CTA. Use brand-sole @sylphx/cue (bin: cue)."},"0.1.3":{"name":"@sylphx/video-reader-mcp","version":"0.1.3","keywords":["mcp","model-context-protocol","video","reader","evidence","ffprobe","ffmpeg","subtitles","sylphx"],"license":"MIT","_id":"@sylphx/video-reader-mcp@0.1.3","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/video-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/video-reader-mcp/issues"},"bin":{"cue":"bin/video-reader-mcp","video-reader-mcp":"bin/video-reader-mcp"},"dist":{"shasum":"b308f0473be159b8a491b66648b9d1ce78a60838","tarball":"https://registry.npmjs.org/@sylphx/video-reader-mcp/-/video-reader-mcp-0.1.3.tgz","fileCount":32,"integrity":"sha512-F0ZkiELHK08KIJTpWiwVZTL//7Leg9GGTyu6QDZqR5CsvvJLRaR5LEmxCocRvnuumULu1ghabWyczC61CoNZQQ==","signatures":[{"sig":"MEUCIQCpBcnTIadq1zvro0YzdY2pYyUc5DfNRSHHX8jGW55nSQIgI1SAj2zdWTb1TutNR51yOjFFmd3t4c0lJqhmkYgIj5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7801465},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/doctor-cli.js","./cue":"./src/sdk.ts","./sdk":"./src/sdk.ts"},"gitHead":"9ed179282ba825e30960fa1608005dd403d9c69f","mcpName":"io.github.SylphxAI/video-reader-mcp","private":false,"scripts":{"test":"bun test","build":"bun build src/doctor-cli.ts --outdir dist --target node && chmod +x dist/doctor-cli.js","check":"biome check .","clean":"rm -rf dist coverage","start":"./bin/video-reader-mcp","doctor":"bun run src/doctor-cli.ts","release":"bun run typecheck && bun run check && bun run build && bun test && changeset publish","check:fix":"biome check --write .","test:rust":"cargo test","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.test.json","build:rust":"cargo build --release -p video-reader-core -p video-reader-cli -p video-reader-mcp-server && bun scripts/stage-rust-mcp.ts","prepublishOnly":"bun run clean && bun run build && bun run build:rust","brand:pack-plan":"bun scripts/brand-pack-plan.ts","sync:server-json":"bun scripts/sync-server-json.ts","version-packages":"changeset version && bun run sync:server-json","test:rust-timeline":"cargo test && bun test test/rustTimeline.boundary.test.ts","benchmark:public-proof":"bun scripts/public-proof.ts","benchmark:release-gate":"bun scripts/release-gate.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"repository":{"url":"git+https://github.com/SylphxAI/video-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Cue — Evidence-first video reading for AI agents — ffprobe, subtitles, scenes, transcripts, and timelines without frame-by-frame LLM vision.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"@types/bun":"^1.2.19","typescript":"^7.0.2","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/video-reader-mcp_0.1.3_1785543063762_0.8717085532171982","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Retired install CTA. Use brand-sole @sylphx/cue (bin: cue)."},"0.1.5":{"name":"@sylphx/video-reader-mcp","version":"0.1.5","keywords":["mcp","model-context-protocol","video","reader","evidence","ffprobe","ffmpeg","subtitles","sylphx"],"license":"MIT","_id":"@sylphx/video-reader-mcp@0.1.5","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/video-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/video-reader-mcp/issues"},"bin":{"cue":"bin/video-reader-mcp","video-reader-mcp":"bin/video-reader-mcp"},"dist":{"shasum":"11851e18e2bb1587605d08ea72d023509438550f","tarball":"https://registry.npmjs.org/@sylphx/video-reader-mcp/-/video-reader-mcp-0.1.5.tgz","fileCount":31,"integrity":"sha512-lVB/IaTu8LU0CCT5q93A3gBiUKJUIhtxmWvLN/fsr3eOPciH8opiivGnEF024PhxFn3XsHLQmAD1Vp7dAsR2Zg==","signatures":[{"sig":"MEUCIQC5UYkRkgWiIXsSDVM0omgBoAIeW1je4N1b3cTP7Gur6wIgftJu1Wf9rkFMgSlK5T1sL6rYxxmAmcO5kzomSfHNWP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103420},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/doctor-cli.js","./cue":"./src/sdk.ts","./sdk":"./src/sdk.ts"},"gitHead":"b431ee02632c5352da3e15164313dddc416644d2","mcpName":"io.github.SylphxAI/video-reader-mcp","private":false,"scripts":{"test":"bun test","build":"bun build src/doctor-cli.ts --outdir dist --target node && chmod +x dist/doctor-cli.js","check":"biome check .","clean":"rm -rf dist coverage","start":"./bin/video-reader-mcp","doctor":"bun run src/doctor-cli.ts","release":"bun run typecheck && bun run check && bun run build && bun test && changeset publish","check:fix":"biome check --write .","test:rust":"cargo test","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.test.json","build:rust":"cargo build --release -p video-reader-core -p video-reader-cli -p video-reader-mcp-server && bun scripts/stage-rust-mcp.ts","prepublishOnly":"bun run clean && bun run build && bun run build:rust","brand:pack-plan":"bun scripts/brand-pack-plan.ts","sync:server-json":"bun scripts/sync-server-json.ts","version-packages":"changeset version && bun run sync:server-json","test:rust-timeline":"cargo test && bun test test/rustTimeline.boundary.test.ts","benchmark:public-proof":"bun scripts/public-proof.ts","benchmark:release-gate":"bun scripts/release-gate.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"repository":{"url":"git+https://github.com/SylphxAI/video-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Cue — Evidence-first video reading for AI agents — ffprobe, subtitles, scenes, transcripts, and timelines without frame-by-frame LLM vision.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"@types/bun":"^1.2.19","typescript":"^7.0.2","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/video-reader-mcp-darwin-x64":"0.1.5","@sylphx/video-reader-mcp-darwin-arm64":"0.1.5","@sylphx/video-reader-mcp-linux-x64-gnu":"0.1.5","@sylphx/video-reader-mcp-linux-arm64-gnu":"0.1.5"},"_npmOperationalInternal":{"tmp":"tmp/video-reader-mcp_0.1.5_1785548516405_0.6041416541807461","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Retired install CTA. Use brand-sole @sylphx/cue (bin: cue)."},"0.1.7":{"name":"@sylphx/video-reader-mcp","version":"0.1.7","keywords":["mcp","model-context-protocol","video","reader","evidence","ffprobe","ffmpeg","subtitles","sylphx"],"license":"MIT","_id":"@sylphx/video-reader-mcp@0.1.7","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/video-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/video-reader-mcp/issues"},"bin":{"cue":"bin/video-reader-mcp","video-reader-mcp":"bin/video-reader-mcp"},"dist":{"shasum":"2d8ecdad9092132524fef9728f1e0128827a23b3","tarball":"https://registry.npmjs.org/@sylphx/video-reader-mcp/-/video-reader-mcp-0.1.7.tgz","fileCount":31,"integrity":"sha512-CehqN3qYt9poRNjP/DyoubLu/YsAnn49L2mobE3ieyJRuLh5WzLxvvLbOqPMDluVAi77sRDLSm3RZPvG+LXShA==","signatures":[{"sig":"MEUCIAhL1CbKKTpXy9DsbBGvdpT73iiCKueMpSqOK3c22s2RAiEAw61VqVnLf2hmI/N39cqFvXsSQRRdK5sMwhxGICVfBBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103420},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/doctor-cli.js","./cue":"./src/sdk.ts","./sdk":"./src/sdk.ts"},"gitHead":"8970355858f5a8e971196d36a21e55d8fa2a4631","mcpName":"io.github.SylphxAI/video-reader-mcp","private":false,"scripts":{"test":"bun test","build":"bun build src/doctor-cli.ts --outdir dist --target node && chmod +x dist/doctor-cli.js","check":"biome check .","clean":"rm -rf dist coverage","start":"./bin/video-reader-mcp","doctor":"bun run src/doctor-cli.ts","release":"bun run typecheck && bun run check && bun run build && bun test && changeset publish","check:fix":"biome check --write .","test:rust":"cargo test","typecheck":"tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.test.json","build:rust":"cargo build --release -p video-reader-core -p video-reader-cli -p video-reader-mcp-server && bun scripts/stage-rust-mcp.ts","prepublishOnly":"bun run clean && bun run build && bun run build:rust","brand:pack-plan":"bun scripts/brand-pack-plan.ts","sync:server-json":"bun scripts/sync-server-json.ts","version-packages":"changeset version && bun run sync:server-json","test:rust-timeline":"cargo test && bun test test/rustTimeline.boundary.test.ts","benchmark:public-proof":"bun scripts/public-proof.ts","benchmark:release-gate":"bun scripts/release-gate.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"repository":{"url":"git+https://github.com/SylphxAI/video-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Cue — Evidence-first video reading for AI agents — ffprobe, subtitles, scenes, transcripts, and timelines without frame-by-frame LLM vision.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"@types/bun":"^1.2.19","typescript":"^7.0.2","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/video-reader-mcp-darwin-x64":"0.1.7","@sylphx/video-reader-mcp-darwin-arm64":"0.1.7","@sylphx/video-reader-mcp-linux-x64-gnu":"0.1.7","@sylphx/video-reader-mcp-linux-arm64-gnu":"0.1.7"},"_npmOperationalInternal":{"tmp":"tmp/video-reader-mcp_0.1.7_1785552842325_0.05378773646161661","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Retired install CTA. Use brand-sole @sylphx/cue (bin: cue)."}},"time":{"created":"2026-07-08T22:02:24.426Z","modified":"2026-08-08T00:57:37.417Z","0.1.0":"2026-07-08T22:02:24.675Z","0.1.1":"2026-07-31T22:48:49.900Z","0.1.2":"2026-07-31T23:36:57.437Z","0.1.3":"2026-08-01T00:11:04.147Z","0.1.5":"2026-08-01T01:41:56.543Z","0.1.7":"2026-08-01T02:54:02.461Z"},"bugs":{"url":"https://github.com/SylphxAI/video-reader-mcp/issues"},"license":"MIT","homepage":"https://github.com/SylphxAI/video-reader-mcp#readme","keywords":["mcp","model-context-protocol","video","reader","evidence","ffprobe","ffmpeg","subtitles","sylphx"],"repository":{"url":"git+https://github.com/SylphxAI/video-reader-mcp.git","type":"git"},"description":"Cue — Evidence-first video reading for AI agents — ffprobe, subtitles, scenes, transcripts, and timelines without frame-by-frame LLM vision.","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"readme":"<div align=\"center\">\n\n# Cue\n\n### Timeline proof for agents \n\n**Cue** (transitional package `@sylphx/video-reader-mcp`) — local video timeline evidence, not frame-by-frame VLM.\n\n<p align=\"center\">\n  <img src=\"https://mark.sylphx.com/api/v1/banner?type=mesh&theme=tokyonight&text=video+reader+mcp&desc=Evidence-first+video+reading+for+AI+agents+%E2%80%94+ffprobe%2C+subtitles%2C+scenes%2C+transcr&height=200&animation=rise&credit=0\" alt=\"video-reader-mcp — Sylphx Mark banner\" width=\"100%\" />\n</p>\n\n### Your agent watched the video. **Did it read the timeline?**\n\nEvidence-first video reading for AI agents. One call turns any local video into a\n**timeline document** — ffprobe streams, chapters, embedded subtitles, scene\nboundaries, and warnings you can cite without frame-by-frame vision LLM calls.\n\n[![npm version](https://img.shields.io/npm/v/@sylphx/video-reader-mcp?style=flat-square)](https://www.npmjs.com/package/@sylphx/video-reader-mcp)\n[![License](https://img.shields.io/badge/License-MIT-blue?style=flat-square)](https://opensource.org/licenses/MIT)\n[![CI/CD](https://img.shields.io/github/actions/workflow/status/SylphxAI/video-reader-mcp/ci.yml?style=flat-square&label=CI/CD)](https://github.com/SylphxAI/video-reader-mcp/actions/workflows/ci.yml)\n[![TypeScript](https://img.shields.io/badge/TypeScript-7.0-blue.svg?style=flat-square)](https://www.typescriptlang.org/)\n\n**Local-first** · **One smart `read_video` call** · **Timeline evidence + provenance** · **20 tests**\n\nSOTA family roadmap: [docs/roadmap/sota-family-roadmap.md](docs/roadmap/sota-family-roadmap.md).\n\n[⭐ Star this repo](https://github.com/SylphxAI/video-reader-mcp) if agents should read video timelines with proof, not sampled frame captions.\n· [Quick start](#quick-start) · [See it work](#see-it-work) · [Why not frame-by-frame vision?](#why-not-frame-by-frame-vision)\n\nThis repository is product SSOT. Sibling agent tools live in separate repos.\nEach instrument is an independent repository (marketplace + stars).\n\n</div>\n\n---\n\n\n\n## Read video structure (not N-second frame spam)\n\nCue is **local-first timeline architecture**: streams, dialogue, scene cuts, **structural keyframes**, and **agent_index** for text-only agents.\n\nSpec: [docs/specs/agent-video-read-contract.md](docs/specs/agent-video-read-contract.md)\n\n**Local-first frontier:** ffmpeg/ffprobe + structural keyframes, optional local whisper ASR. No cloud required.\n\n## Product docs\n\n| Doc | Purpose |\n| --- | --- |\n| [docs/POSITIONING.md](docs/POSITIONING.md) | Strategic positioning |\n| [docs/COMPETITIVE.md](docs/COMPETITIVE.md) | Peer anchors and wedge |\n| [docs/EVIDENCE_CONTRACT.md](docs/EVIDENCE_CONTRACT.md) | Evidence = result contract |\n| [docs/TOOL_SURFACE.md](docs/TOOL_SURFACE.md) | Few clear tools policy |\n| [docs/PRODUCT_INDEPENDENCE.md](docs/PRODUCT_INDEPENDENCE.md) | This repo is SSOT |\n| [docs/IPPB.md](docs/IPPB.md) | Independent public product bar |\n| [docs/PUBLISH.md](docs/PUBLISH.md) | npm/git publish status |\n\n## The problem\n\nVideos are not a pile of frames. They are codecs, chapters, embedded subtitles,\nscene cuts, variable frame rates, and timelines measured in milliseconds.\n\nMost agent stacks sample frames and ask a **vision LLM** what it sees. Subtitles\nget skipped. Scene boundaries vanish. Duration and stream metadata never reach\ncontext. Citations become \"around minute two, I think.\" Then the agent\nhallucinates — confidently.\n\n**Video Reader MCP is built for the moment your agent needs a citeable timeline,\nnot a slideshow summary.**\n\n## Why not frame-by-frame vision?\n\n| Typical vision path | Video Reader MCP |\n| --- | --- |\n| Sample N frames into a vision model | ffprobe format + stream metadata in one call |\n| Paraphrased \"what happens\" | Embedded subtitle cues with `start_ms`, `end_ms`, and provenance |\n| Scene changes guessed from captions | Optional ffmpeg scene filter with timestamp evidence |\n| Missing audio / VFR silently ignored | Warnings for missing ffmpeg/ffprobe, VFR, missing audio, skipped ASR |\n| Cloud API by default | **Local-first** — ffprobe + ffmpeg on your machine |\n| Ship and pray | **20** tests on parsers, fixture corpus, doctor, release gate, and integration |\n\n## See it work\n\n### Install (30 seconds)\n\n```bash\nnpm install -g @sylphx/video-reader-mcp\ncue doctor\nclaude mcp add cue -- npx @sylphx/video-reader-mcp\n```\n\n**Install once. Call once.**\n\n```bash\nclaude mcp add video-reader -- npx @sylphx/video-reader-mcp\n```\n\n```json\n{\n  \"sources\": [{ \"path\": \"/absolute/path/to/demo.mp4\" }],\n  \"include_subtitles\": true,\n  \"include_scenes\": true\n}\n```\n\n`read_video` builds a timeline document per source — no per-frame vision LLM\ncalls:\n\n```json\n{\n  \"source\": \"/absolute/path/to/demo.mp4\",\n  \"success\": true,\n  \"data\": {\n    \"provenance\": {\n      \"source\": \"/absolute/path/to/demo.mp4\",\n      \"tool\": \"read_video\",\n      \"version\": \"0.1.0\",\n      \"extracted_at\": \"2026-07-09T12:00:00.000Z\"\n    },\n    \"format\": {\n      \"format_name\": \"mov,mp4,m4a,3gp,3g2,mj2\",\n      \"duration_ms\": 125500\n    },\n    \"streams\": [\n      { \"index\": 0, \"codec_type\": \"video\", \"width\": 1920, \"height\": 1080 },\n      { \"index\": 1, \"codec_type\": \"audio\", \"channels\": 2, \"sample_rate\": 48000 }\n    ],\n    \"chapters\": [\n      { \"id\": 0, \"start_ms\": 0, \"end_ms\": 60250, \"title\": \"Intro\" }\n    ],\n    \"subtitles\": [\n      {\n        \"index\": 0,\n        \"start_ms\": 1200,\n        \"end_ms\": 3400,\n        \"text\": \"Welcome to the demo.\",\n        \"provenance\": { \"method\": \"ffmpeg_extract\", \"format\": \"srt\" }\n      }\n    ],\n    \"scenes\": [\n      {\n        \"index\": 0,\n        \"time_ms\": 45200,\n        \"provenance\": { \"method\": \"ffmpeg_scene_filter\", \"threshold\": 0.4 }\n      }\n    ],\n    \"warnings\": []\n  }\n}\n```\n\nAbbreviated shape — optional local ASR transcript hooks skip gracefully when no\nadapter is wired.\n\n## Prerequisites\n\n- Node.js `>=22.13`\n- **ffprobe** (required) and **ffmpeg** (recommended for subtitles + scenes) on `PATH`\n\n## MCP Tool Surface\n\n| Tool | Use it when the agent needs to... |\n| --- | --- |\n| `read_video` | Read one or more local videos and return ffprobe metadata, chapters, subtitles, scenes, and timeline warnings. |\n\nSupported formats: MP4, M4V, MKV, MOV, WebM, and other formats ffprobe can inspect.\n\n## Quick Start\n\n### Claude Code\n\n```bash\nclaude mcp add video-reader -- npx @sylphx/video-reader-mcp\n```\n\n### Claude Desktop\n\nAdd this to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"video-reader\": {\n      \"command\": \"npx\",\n      \"args\": [\"@sylphx/video-reader-mcp\"]\n    }\n  }\n}\n```\n\n### Any MCP Client\n\n```bash\nnpx @sylphx/video-reader-mcp\n```\n\n### HTTP transport (optional)\n\n```bash\nMCP_TRANSPORT=http MCP_HTTP_PORT=8080 npx @sylphx/video-reader-mcp\n```\n\n## Security model\n\n- **Local-first** — `read_video` inspects local files; remote URLs are not fetched by default.\n- **ffprobe/ffmpeg boundary** — probe and frame tools shell out to configured binaries on PATH; missing tools return explicit errors.\n- **Fixture corpus** — CI validates parser and safety fixtures; corrupted inputs fail closed with structured diagnostics.\n- **Evidence envelope** — timestamps, frame indices, and extraction routes are preserved so agents can verify claims.\n\n## Release proof\n\nClaims are backed by CI `benchmark:release-gate`, fixture corpus checks, and the shipped-path matrix (Rust-default primary tools).\n\n```bash\nbun run benchmark:release-gate\n```\n\nArtifact: `benchmark-artifacts/video_reader_release_gate.json` — must report `status: passed` before release.\n\n## Development\n\n```bash\ngit clone https://github.com/SylphxAI/video-reader-mcp.git\ncd video-reader-mcp\nbun install\nbun run build\nbun test\nbun run doctor\nbun run benchmark:release-gate\n```\n\nUseful checks:\n\n```bash\nbun run check\nbun run typecheck\nbun run benchmark:release-gate\n```\n\nExample `read_video` requests live in [`examples/`](examples/). CI runs parser,\nfixture corpus, doctor, and release-gate checks; integration tests exercise ffmpeg\nwhen available on the runner.\n\n## Support\n\n- [Issues](https://github.com/SylphxAI/video-reader-mcp/issues)\n- [npm package](https://www.npmjs.com/package/@sylphx/video-reader-mcp)\n- Portfolio orchestration: [smart-reader-mcp](https://github.com/SylphxAI/smart-reader-mcp)\n\n## Help this reach more builders\n\nIf frame-by-frame vision guesses have wasted your context, your citations, or\nyour trust in agent output, you are exactly who this project is for.\n\n**[⭐ Star the repo](https://github.com/SylphxAI/video-reader-mcp)** — it is the\nfastest way to help more agent builders find evidence-first video reading. Share\nit in your MCP client setup, team wiki, or agent stack README.\n\n### Discovery (in progress)\n\n| Channel | Status |\n| --- | --- |\n| [Glama MCP directory](https://glama.ai/mcp/servers/SylphxAI/video-reader-mcp) | Listed — [claim server](https://glama.ai/mcp/servers/SylphxAI/video-reader-mcp/admin) for full discoverability |\n| [Official MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.SylphxAI/video-reader-mcp) | Listed — `io.github.SylphxAI/video-reader-mcp` @ v0.1.0 |\n| [TensorBlock MCP Index PR #1113](https://github.com/TensorBlock/awesome-mcp-servers/pull/1113) | Open — multimedia/document processing listing |\n| [MCP servers community issue #4500](https://github.com/modelcontextprotocol/servers/issues/4500) | Open — community server highlight |\n| [mcp.so listing issue #3068](https://github.com/chatmcp/mcpso/issues/3068) | Open — directory submission request |\n| [mcpservers.org submit](https://mcpservers.org/submit) | Not listed yet — free web-form submission |\n\nKnow another MCP directory? [Open an issue](https://github.com/SylphxAI/video-reader-mcp/issues/new) with the link.\n\n## License\n\nMIT © [SylphxAI](https://github.com/SylphxAI)\n","readmeFilename":"README.md"}