The browser video editor
agents can drive.

A Premiere-style editor whose whole timeline is one JSON file. Any agent that writes JSON can edit video.

Zero npm dependencies. One node server.js. MIT licensed.

editing timeline 0s 0 tokens

The FableCut editor: a timeline with four video and four audio tracks, per-track and master audio meters, a preview monitor, and the inspector showing a clip's volume and pan.

This reel was edited by Claude Code, live.

No timeline dragging, no keyframing by hand. An agent wrote project.json in a real session while the browser reloaded in real time. What you see is the actual output.

Music: Digital Lemonade by Kevin MacLeod, CC BY 4.0.

How does an AI actually edit my video?

If you cut video but have never let software do the cutting, here is the whole idea in three steps. No coding required to follow along.

  1. 01

    You describe the edit

    Ask in plain language: cut this to the beat, drop in a title, grade it cinematic. An agent is simply software that reads your request and acts on it.

  2. 02

    It writes the timeline

    Your whole edit lives in one text file, project.json: clips, tracks, effects, keyframes, transitions. The agent edits that instead of clicking around.

  3. 03

    You watch it happen

    The open editor reloads in about 150 milliseconds. The timeline updates in front of you. Nudge anything by hand, then export when it feels right.

The project file is the interface.

Most AI video tools hide the edit behind a black-box API. FableCut does the opposite: the timeline is a plain document, and anything that can write it can edit video. A human and an agent can work the same timeline at once.

  • MCP serverClaude Code, Claude Desktop, or any MCP client drives it with typed tools.
  • project.jsonEdit the file directly. The UI hot-reloads over server-sent events.
  • REST APIPlain HTTP for media, analysis, live-reload and export.
project.json
{
  "fps": 30, "width": 1080, "height": 1920,
  "clips": [
    {
      "kind": "video", "track": "V1",
      "start": 0, "in": 2.5, "duration": 3.4,
      "props": { "filterPreset": "teal-orange" },
      "keyframes": {
        "scale": [{ "t": 0, "v": 1 },
                  { "t": 3.4, "v": 1.18 }]
      }
    }
  ]
}

Up and running in under a minute.

Node 18+ and a Chromium browser. ffmpeg on PATH is optional but recommended for fast export.

Run the editor

git clone https://github.com/ronak-create/FableCut.git
cd FableCut
node server.js

Opens at http://localhost:7777. Since v1.3.1 it binds to localhost only.

Let an agent drive it

claude mcp add -s user fablecut -- \
  node "/path/to/FableCut/mcp-server.js"

Registers the MCP server for every Claude Code session. Full setup in the README.

Works with the agent you already use.

The MCP server speaks plain stdio and asks for nothing vendor-specific, so any client that supports MCP can drive the timeline. Point these at your own checkout.

Claude Code

claude mcp add -s user fablecut -- \
  node "/path/to/FableCut/mcp-server.js"

Codex CLI

codex mcp add fablecut -- \
  node "/path/to/FableCut/mcp-server.js"

Gemini CLI

gemini mcp add -s user fablecut \
  node "/path/to/FableCut/mcp-server.js"

Amp

amp mcp add fablecut -- \
  node "/path/to/FableCut/mcp-server.js"

Cursor CLI

// ~/.cursor/mcp.json
{
  "mcpServers": {
    "fablecut": {
      "command": "node",
      "args": ["/path/to/FableCut/mcp-server.js"]
    }
  }
}

opencode

// opencode.json
{
  "mcp": {
    "fablecut": {
      "type": "local",
      "command": ["node", "/path/to/FableCut/mcp-server.js"],
      "enabled": true
    }
  }
}

Questions people ask first.

Can an AI actually edit video?

Yes, and you get to watch it happen. Your whole edit lives in one file called project.json: the clips, the tracks, the effects, every keyframe. An agent rewrites that file the same way it writes code, and the open editor picks up the change in about 150 milliseconds. Nothing is hidden behind a render API you cannot see into.

What is an MCP video editor?

MCP is the Model Context Protocol, the standard way an AI client talks to outside tools. FableCut ships an MCP server, so Claude Code, Claude Desktop or any other MCP client gets real typed tools for reading and rewriting your timeline instead of guessing at it.

Do I need ffmpeg?

Only if you want the fast export. Put ffmpeg on your PATH and exports run through it. Skip it and the editor records the timeline in the browser instead. Everything else, preview and trimming and effects and titles, works fine without it.

Does my footage get uploaded anywhere?

No. The server runs on your own machine and listens on 127.0.0.1 only, so your media sits in a local folder and never goes near anyone's cloud. Two things do touch the network, and both are your call: the + URL button downloads a file you paste in, and AI background removal fetches its model from a CDN the first time you use it.

Is FableCut free?

Yes. MIT licensed, free for personal and commercial work, with no account, no telemetry and no paid tier waiting for you later. It also has zero npm dependencies, so node server.js really is the whole install.

What do I need to run it?

Node 18 or newer and a Chromium browser. Clone the repo, run node server.js, open http://localhost:7777. It works on Windows, macOS and Linux, and if you would rather not deal with paths at all, it installs as a Claude Code plugin.

Latest release

Fetching the newest version from GitHub.