Local-first AI video editor: cut by transcript, hang b-roll off phrases, render, then verify
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
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 (2:26) and Claude Code with the proofcut plugin (3:09).
Most of the work in a narrated video, whether an essay, a tutorial, a screencast or a talk, is bookkeeping. Find the retakes and cut them clean. Put the right footage under each line. Level the music under the voice, caption it, end on a card, render it, master it. An agent can do that bookkeeping now, given an editor it can drive.
What an agent cannot do on its own is know that the file it rendered is the film it meant. ffmpeg, melt and auto-editor all exit 0 on some failures, so a render can drop a line, keep a retake, add a frame of black or carry no captions and still report success. Every check that reads the project rather than the file agrees with it. The usual way to find out is to watch the whole thing.
proofcut is an editor built around that gap. You, or an agent, edit a timeline addressed by the words in it. proofcut renders it on your machine, then transcribes the render, counts its frames, and says where the file and the edit disagree.
TRIAL.md scores three unattended runs, each handed a goal and no steps, and each passed every one of its checks:
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, and each row links the section of the manual that walks it.
| 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, words fading or blurring in, spelled your way | captions --burn, caption-style --reveal, lexicon add |
| Check the render says what the edit says | verify, frames, hold check |
Two video essays of five to six minutes, first finished in Kdenlive, have been rebuilt with these commands alone and measured against the delivered files. One came out the same length to the frame. The other matched all 63 of its voiceover ranges to the millisecond, with the voice aligned to the sample. Both master at the original's −16 LUFS. The measurements are in HISTORY.md.
Beyond those stages:
cut vo 111:114 names the same words however many cuts came before it,
and a cue hung off a phrase stays addressed through every cut around it.shot-sheet draws the whole picture track as
one labelled grid, and footage-sheet browses a clip you haven't cut yet.
Both return the image itself over MCP, not a path the agent can't open.describe writes what is on screen in each
~10-second window of footage, so an agent can choose a clip by what a line
is about.unspoken lets the render itself testify to words nobody said.reframe-detect), a review sheet, and stacked splits for two
speakers. Cards are redrawn at the new frame size, never stretched.events) that a crop, a sound or a
speed change can hang off, a clip inset into the recording, and a retime
for the slow parts..kdenlive or OTIO file and
finish anywhere.
Tell an agent what film you want. In Claude Code, install the plugin and describe the film: which recording is the voice, what the b-roll is, where the music goes, what it ends on. The agent imports, transcribes, cuts the retakes, hangs footage off the lines it belongs to, scores, masters and checks the render, using proofcut's tools and nothing else. It can look at the picture track as a labelled grid while it works, so it sees what it placed rather than a filename. Every MCP client runs the same server; the plugin is the one that needs no setup.
Cut from a shell, by naming words. Every tool is also a proofcut
subcommand printing JSON, so a cut is a script you can read, re-run and
diff. --plan prints what a range says before anything changes, and undo
walks it back.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/proofcut)<a href="https://allmcps.com/mcp/proofcut"><img src="https://allmcps.com/api/badge/proofcut?style=directory" alt="Proofcut on AllMCPs" /></a>