Local-first AI video editor: recordings to a finished film, cut by transcript, then verified
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
- !Licence file present but not machine-readable
claude mcp add proofcut -- uvx --from{
"mcpServers": {
"proofcut": {
"command": "uvx",
"args": ["--from"]
}
}
}MCP Servers overview
# proofcut **An AI video editor that proves its cuts.** Your recordings in, a finished, mastered film out: cut by transcript, with b-roll, cards, music and captions, and every step an agent can call. proofcut renders on your own machine, then transcribes the render and checks that it says what the edit says. https://github.com/user-attachments/assets/4153d180-3d7c-4c70-af5f-54d63d0a8bd5 Above: an agent cutting a demo video, unattended. The two runs it was cut from, uncut (silent: the recorder took frames only, and the voice is in the film the agent cut): [the workspace](https://github.com/tydude001/proofcut/releases/download/v0.23.0/proofcut-v0.23.0-uncut-workspace-run.mp4) (2:26) and [Claude Code with the proofcut plugin](https://github.com/tydude001/proofcut/releases/download/v0.23.0/proofcut-v0.23.0-uncut-claude-code-run.mp4) (3:09). That is not a staged run. [TRIAL.md](docs/TRIAL.md) scores three unattended ones, each handed a goal and no steps, and each passed every one of its checks. - **The demo cut**, the one above. - **Real footage:** 96 seconds of narration with its fluffed takes left in, plus four clips of film footage. The agent cut it to 45 seconds, chose footage by what each line was about, burned captions, and checked its own render: all 123 expected words heard back. - **A whole film:** the demo material plus a score, briefed as a finished film ready to upload. In 192 seconds and $2.27 the agent cut it, laid the music under the voice, ended on a card, mastered it to −16 LUFS, and checked it. The score, the level and the end card were each measured in the delivered file, not taken from the project. > **Have a Mac or a Windows PC and half an hour?** Nobody has run proofcut on > a Mac yet, and on Windows only its author has. One script runs the whole > test and removes what it installed: > [Mac](#help-wanted-the-first-run-on-a-mac) or [Windows](#help-wanted-a-windows-run-by-someone-else). ## From recordings to a finished film One project, and proofcut's own commands from the first import to the delivered file. No NLE finishes the film, and nothing else touches the render. Each stage is one command. The [manual](docs/MANUAL.md) walks every one, and its [§ Music, holds, a cold open and the master](docs/MANUAL.md#music-holds-a-cold-open-and-the-master) covers the sound: | Stage | Command | |---|---| | Bring in the voiceover and footage, and transcribe | `import`, `transcribe` | | Cut retakes and asides by naming their words | `cut vo 111:114` | | Hang b-roll and cards off the lines they belong to | `cue add`, `card new` | | Open cold on a scene, end on a card | `head`, `tail` | | Play the footage's own lines in a gap, or under the narration | `hold add`, `hold under` | | Score it: placed passages, crossfaded, levelled under the voice | `music` | | Pull breaths down without cutting them | `attenuate` | | Render and master to a loudness target | `export --render --loudness -16` | | Burn in captions | `captions --burn` | | Check the render says what the edit says | `verify`, `frames`, `hold check` | Two video essays of five to six minutes have been rebuilt this way and measured against their originals, which had been finished outside proofcut. One came out the same length to the frame. The other matched its original's 63 voiceover ranges to the millisecond, with the voice aligned to the sample, starting from a retake pass made in Kdenlive. Both master at the original's −16 LUFS (HISTORY.md § The Lambs/Longlegs native rebuild, § The Scream native rebuild). proofcut makes no footage and writes no script. It takes what you recorded to a film, and proves the film matches the edit. ## Why proofcut - **It checks its own work.** `verify` transcribes the finished file and diffs it word by word against the timeline, so a retake left in the film is caught before anyone watches it. Frame counts and the picture are measured too, because ffmpeg, melt and auto-editor all exit 0 on some failures. - **Cuts stay addressable.** Every word in a recording keeps a fixed index that never renumbers, so `cut vo 111:114` names the same words however many cuts came before it. `--plan` prints what a range says before anything changes, and `restore` and `undo` walk it back. - **Built for agents.** 90 MCP tools with typed inputs and structured returns, so Claude Code, Codex or your own agent can drive it. Tools like `shot-sheet` return an image of the edit, not a file path the agent can't open. - **One engine, three ways in.** The MCP server, the `proofcut` command line and a browser workspace all call the same operations. Every tool has a matching command (the test suite enforces it), so anything an agent does, you can script or re-run by hand. - **Local-first.** Commercial AI editors are apps around a metered cloud service. proofcut transcribes, edits and renders on your machine, and calls no cloud service of its own: no account, no per-minute billing. The only thing that talks to a model provider is the agent you choose to run (the optional footage-description and voice models download once, on first use). - **No lock-in.** The timeline is OpenTimelineIO. Export a `.kdenlive` or OTIO file, finish in Resolve, Premiere or Kdenlive, and bring your trim back with `import-edit`.  ## How it works Every hard part of an editor already exists as mature open source. proofcut is the layer that lets an agent drive them, and check what they produced: | Job | Done by | |---|---| | Cutting, concatenating, captions, rendering | ffmpeg | | Word-timed transcription (30+ languages) | openai-whisper | | Silence and bad-take removal | auto-editor | | The timeline, and export to other editors | OpenTimelineIO | | Layered rendering (b-roll, cards, music) | MLT | | Title and end cards | SVG templates, rendered by ImageMagick | ## Try it Check your machine first, before cloning anything. `proofcut doctor` probes every tool proofcut uses and prints the fix for anything missing ([§ Requirements](#requirements) has the list). With [uv](https://docs.astral.sh/uv/) and git installed: ```sh uvx --from git+https://github.com/tydude001/proofcut proofcut doctor ``` The first run downloads Python 3.13 if uv has none, plus proofcut's dependencies, about 230 MB together. The demo and your own recordings run from a checkout: ```sh git clone https://github.com/tydude001/proofcut && cd proofcut uv sync ``` ### The two-minute demo No footage needed. [docs/DEMO.md](docs/DEMO.md) generates a voiceover with a real retake, b-roll and a score, then walks a whole small film: cut the retake by naming its words, hang b-roll off a phrase, lay the score under the voice, render and master it, end on a card, and check the render against the timeline. ```sh uv run python scripts/make_demo.py ~/proofcut-demo ``` ### In Claude Code The plugin registers proofcut's MCP server, so all 90 tools are available with no setup of your own: ``` /plugin marketplace add tydude001/proofcut /plugin install proofcut@proofcut ``` The first start downloads about 175 MB of Python dependencies, and Claude Code gives a server 30 seconds to connect. On a slow connection, start that first session as `MCP_TIMEOUT=300000 claude`. If `/mcp` already shows proofcut as failed, reconnect it there; the download keeps what it fetched. Any other MCP client runs the same server, from a checkout or with no checkout at all: ```sh uv run --project /path/to/proofcut proofcut mcp uvx --from git+https://github.com/tydude001/proofcut proofcut mcp ``` ### On your own recording ```sh uv run proofcut init myproject uv run proofcut -C myproject import VO.wav --clip-id vo uv run proofcut -C myproject transcribe vo # whisper, word-timed uv run proofcut -C myproject seed vo # auto-editor strips silences uv run proofcut -C myproject transcript vo --search "here's the thing" uv run proofcut -C myproject cut vo 111:114 --plan # what do those indices say? uv run proofcut -C myproject cut vo 111:114 --pad 0.1 # inclusive word range uv run proofcut -C myproject export final.mp4 --render # or a .kdenlive to finish in an NLE uv run proofcut -C myproject verify final.mp4 # did the render say what you edited? ``` To watch the edit instead, open the workspace. It plays the source through the edit, so seeing a cut costs no render: ```sh uv run proofcut -C myproject open # server plus an app window uv run proofcut -C myproject web --open # the same page in a browser tab ``` ## What it does One line each. The [manual](docs/MANUAL.md) covers every command and the reasoning behind it. **Editing** - **Cut by transcript.** Word ranges, phrases, or spans of timeline time, all undoable. - **The workspace.** Edit (transcript, preview, drag-trim and razor), Frame (review every crop in place) and Finish (presets, verify, and the finished file). The truth strip warns while you edit if the film would ship wrong. - **Captions from the timeline.** They stay right after cuts, and the style is saved with the project. Karaoke highlight, sidecar ASS, or burned in. - **Multi-mic recordings.** A file with two mics is refused until you say how to use it (`--mix` or `--audio-stream k`), and `attribute-speakers` labels each word with who said it. **Sound** - **A score, placed.** `music` lays a bed under the voiceover from a word, as passages that crossfade into each other or assets that rotate. Its level is measured against the voice, and it moves with every cut because it stores words, not seconds. - **The footage's own lin
What people ask about proofcut
What is tydude001/proofcut?
+
tydude001/proofcut is mcp servers for the Claude AI ecosystem. Local-first AI video editor: recordings to a finished film, cut by transcript, then verified It has 2 GitHub stars and its last recorded update is dated 2026-09-16.
How do I install proofcut?
+
You can install proofcut by cloning the repository (https://github.com/tydude001/proofcut) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is tydude001/proofcut safe to use?
+
Our security agent has analyzed tydude001/proofcut and assigned a Trust Score of 80/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains tydude001/proofcut?
+
tydude001/proofcut is maintained by tydude001. The last recorded GitHub activity is dated 2026-09-16, with 2 open issues.
Are there alternatives to proofcut?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy proofcut to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/tydude001-proofcut)<a href="https://claudewave.com/repo/tydude001-proofcut"><img src="https://claudewave.com/api/badge/tydude001-proofcut" alt="Featured on ClaudeWave: tydude001/proofcut" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ
The fastest path to AI-powered full stack observability, even for lean teams.