Non-destructive · MCP-native · FFmpeg-backed

The video editor
your AI can drive.

Kerf is a cross-platform desktop video editor with an embedded MCP server, so an LLM can analyze your footage and assemble the cut through the same engine the GUI uses, on the same live project — and it can actually see the frames it edits. Nothing is re-encoded until you export.

Free for noncommercial use · macOS · Windows · Linux · all builds & requirements

Illustrated: bin, preview, agent queue and a multi-track timeline — the agent is trimming a clip on V1.
78MCP tools over one live project
0re-encodes before you export
3platforms, signed auto-updates
16:9 · 9:16 · 1:1delivery frames with safe areas
The agent

Most tools bolt a chatbot onto an editor.
Kerf makes the editor an API.

The same Project is exposed twice — as the GUI you click and as Model Context Protocol tools an agent calls. It doesn't script a black box; it drives the identical engine — and its edits are staged for review, never applied behind your back.

Youthe Kerf GUIOne live projectassets · timeline · tasksnothing re-encodedThe agentClaude — any MCP clientFFmpeg engineprobe · frames · exportTauri IPCMCP · HTTP
Two hands, one cut — you click the GUI, the agent calls tools, and both land in the same live project.
👁

The agent has eyes

get_frame, skim_asset (a contact-sheet montage) and preview_timeline (the composited cut) return real images the model sees — so it finds the right moment and confirms the cut, not guesses from metadata.

🔗

Same engine, same project

The MCP server and the webview hold the same project behind one lock. No import/export round-trip, no second copy of the truth — and the agent previews its own work through the exact graph that renders your export.

📋

Staged, then reviewed

Agent edits build a proposal, not your cut. The review card shows a real diff — added, cut, moved, retrimmed — and you can watch the proposed timeline play, then apply it as one revertible revision, or discard it.

One loop of a real session: skim → cut → preview → hand back a diff. You apply — or discard.
Under the hood

A real NLE — not a scaffold.

Everything below is wired to real backend state and renders from a pure, unit-tested export graph. Clip positions, gaps, track layering, effects, keyframes, overlays, ducking and loudnorm all come out of one filter_complex — the same one that draws your preview.

sources — untouchedinterview.mp4b-roll.mp4timeline — just datainterviewb-roll
Non-destructive, literally: a clip is a source range at a timeline position. Cuts, effects and keyframes edit that data — sources are read once, at export.

Multi-track NLE

Video / audio / text tracks with free positioning and gaps, drag across tracks, edge-drag trim, razor split, ripple delete, markers, mute / solo / lock, and snapping to edges, the playhead and beats.

Real playback

Not a slideshow: one long-lived FFmpeg streams the composited cut — every track, effect, keyframe and overlay — paced against the audio clock, with J/K/L shuttle and audible Web-Audio scrub.

Delivery frames

Cut for the shape you ship: 16:9, 9:16, 1:1 or 4:5 is a property of the project, so preview, scrub and export all render the same frame — with platform safe-area guides and cover-crop instead of letterboxing.

Analysis & speech

Silence and scene detection, an onset / tempo grid, EBU R128 loudness and speech-vs-music from one decode — plus transcription in every build, via FFmpeg's whisper filter or in-process whisper.cpp.

Cut to the beat

Tempo is mapped onto timeline time as a confidence-gated beat grid the ruler draws and drags snap to — then one call ripples a whole track's cuts onto it, retrimming each clip at its outgoing edge.

Effects, color & looks

Per-clip video (blur / sharpen / hue / vignette / chroma-key) and audio (highpass / lowpass / EQ / compressor / gate) chains, a transform and color grade, and one-click Punchy / Warm / Cool / Faded / B&W looks.

Keyframe animation

Zoom, position, rotation and opacity animate over piecewise-linear keyframes — the Transform panel auto-keyframes at the playhead and shows the sampled pose.

360 & Insta360

Cut a normal, flat shot out of spherical footage: aim a virtual camera with yaw / pitch / roll / FOV and keyframe the pan. An Insta360 lens pair imports as one asset — Kerf stitches the two fisheyes into an equirect sphere and caches it.

Titles & captions

Text overlays and lower-thirds with their own keyframes, Title / Lower-third / Caption style presets, the system font list, one-click captions from a transcript, and SRT export.

Edit by transcript

The transcript is an editing surface: lines resolve to the clip carrying them, a click seeks, and × cuts that sentence out of the timeline and ripples the gap closed.

Smart mixing

Per-track ducking dips music under dialogue via sidechain compression, and a single-pass loudnorm brings the final mix to −14 LUFS on export.

GPU-accelerated export

NVENC / QSV / VideoToolbox / AMF are verified with a real test encode before they are offered, hardware decode falls back to software on its own, and range export renders just your in / out marks.

78 tools, one live project

Connect any MCP client
and start editing.

The desktop app hosts the server over streamable HTTP. Point a client at it and ask in plain language — “skim the interview, cut the dead air, drop in captions.” It claims a task, works, and hands back a diff you review.

get_frame skim_asset preview_timeline analyze_asset cut_clip ripple_delete remove_silence snap_to_beats set_video_effects add_keyframe set_reframe captions_from_transcript set_delivery_format staged_diff export +63 more
connect with Claude Code
claude mcp add --transport http \
  kerf http://127.0.0.1:7777/mcp
…or any HTTP-capable client
{
  "mcpServers": {
    "kerf": {
      "type": "http",
      "url": "http://127.0.0.1:7777/mcp"
    }
  }
}
Get it

Download Kerf.

Free download for macOS, Windows and Linux — installers straight from the latest GitHub release, no account needed. Once installed, Kerf keeps itself up to date over a signature-verified update feed.

macOS

Your platform
Apple silicon .dmg Intel .dmg

macOS 10.15+. Needs a system ffmpeg on PATHbrew install ffmpeg. The build is unsigned, so open it once with right-click → Open.

Windows

Your platform
Installer .exe MSI package .msi

Windows 10/11 x64. FFmpeg is bundled — nothing else to install. Needs the WebView2 runtime, which ships with Windows 11.

Build from source

git clone https://github.com/OrellBuehler/kerf
cd kerf/frontend && bun install && cd ..
cargo run -p kerf-app

Needs Rust ≥ 1.95, Bun ≥ 1.2, and (for media) the FFmpeg dev libraries. Builds without them via --no-default-features — the engine drives the ffmpeg / ffprobe binaries either way.

Then point an agent at it

claude mcp add --transport http \
  kerf http://127.0.0.1:7777/mcp

The app hosts the MCP server itself — there is no second process to start. Queue a task in the agent panel, and review the diff it hands back.

Questions

Kerf, answered.

What the AI video editor is, what it costs, and what it needs to run.

What is Kerf?

Kerf is a free, cross-platform desktop video editor for non-destructive video and audio editing. What makes it different is the embedded MCP server: an AI assistant can analyze your footage, look at real frames, and assemble the cut through the same engine the GUI uses — on the same live project you have open.

How is Kerf different from an AI video editor with a chat sidebar?

Most tools bolt a chatbot onto an editor and let it script a black box. Kerf inverts that: the editor is an API, exposed twice over one shared project — as the GUI you click, and as 78 Model Context Protocol tools an agent calls. There is no import or export round-trip and no second copy of the truth.

Which AI assistants can drive Kerf?

Any MCP client. The desktop app hosts a streamable-HTTP MCP server on 127.0.0.1:7777/mcp, so Claude Code, Claude Desktop or any HTTP-capable Model Context Protocol client connects with a single command and starts editing.

Does the AI change my timeline without asking?

No. Agent edits build a staged proposal, not your cut. The review card shows a real diff — added, cut, moved, retrimmed — and you can watch the proposed timeline play before you apply it as one revertible revision, or discard it.

Is Kerf free?

Yes, free to download and free for noncommercial use under the PolyForm Noncommercial 1.0.0 license. The full source is on GitHub, and installers for macOS, Windows and Linux come straight from the latest release — no account needed.

Which platforms does Kerf run on?

macOS 10.15 or later (Apple silicon and Intel .dmg), Windows 10/11 x64 (.exe installer or .msi) and Linux x86_64 (AppImage, .deb, .rpm). The app keeps itself up to date over a signature-verified update feed.

Do I need FFmpeg installed?

On Windows, no — FFmpeg is bundled. On macOS and Linux, Kerf uses a system ffmpeg on your PATH (brew install ffmpeg, or your distribution's package). The engine drives the ffmpeg and ffprobe binaries, so the development libraries are never required.

What does non-destructive editing mean in Kerf?

Your timeline is an edit list over the original media: a clip is just a source range at a timeline position. Cuts, effects, colour and keyframes edit that data, never the files. Sources are read once, at export — nothing is re-encoded before then.

Can Kerf edit 360 and Insta360 footage?

Yes. Spherical footage is detected on import and clips cut from it are reframed to an ordinary flat shot: aim a virtual camera with yaw, pitch, roll and field of view, and keyframe the pan. An Insta360 lens pair imports as one asset — Kerf stitches the two fisheyes into an equirectangular sphere and caches it.