Open source · Apache-2.0 · MCP server + skill
A nonlinear video editor that lives inside Claude Code.
It opens beside the chat like a living artifact. Cut by hand, direct by comment, never re-render the whole video.
The loop
You cut. You comment. Claude builds that one piece.
-
01
Cut by hand
Real footage on a timeline with the keys you already know: J/K/L to 8×, add edit, ripple trims, lift, drag an edge. Camera audio and your external mic follow every trim.
-
02
Comment on a range
Press M and say what you want, right where you want it: “scroll pops up here”, “tighten this”, “warmer on the lav”. Each comment is a task pinned to exact frames.
-
03
One layer renders
Claude turns the comment into one edit or one motion graphic. The graphic is code, rendered alone with an alpha channel and composited live over your picture.
The rule
Change one, render one.
Every graphic is its own element with its own alpha file, cached by a hash of its content. So most of what you do renders nothing at all.
Where it stands
Honest about what is built.
Works today
- Timeline editing on 540p proxies with thumbnails and waveform
- Linked dual audio: camera mic and external recorder, never summed
- Comments as tasks on exact ranges, for picture or either audio track
- Alpha layers from HTML, CSS and canvas: VP9-alpha preview, ProRes 4444 master
- One undo history for your edits and Claude's
- Two versions side by side: a shorter and a longer cut, one key to switch, one to see what differs
- Chat passes with model tiers: edit on one model, a read-only story pass on a stronger one
- MCP server with 28 tools and a
/cuentoskill
Not built yet
- Person matte, for text behind the head
- Export to Premiere, Resolve and OpenTimelineIO with every layer intact
- Voice comments
- Brand kits
- Frame rates other than 23.976
Install
Local-first. One small daemon. Nothing uploaded.
macOS, Python 3.11+, ffmpeg and Chrome. No Python packages, no Node, no account.
git clone https://github.com/ckaico/cuento.git ~/Projects/cuento
cd ~/Projects/cuento
claude mcp add cuento -s user -- "$PWD/bin/cuento" mcp
ln -s "$PWD/skill" ~/.claude/skills/cuento
Then, in any Claude Code session: /cuento open myfilm
FAQ
Questions people ask first.
Is Cuento a Claude Artifact?
It behaves like one. In the Claude desktop app the editor opens in the browser pane beside the chat and stays live while you and Claude both edit. It is served by a small local daemon, because multi-gigabyte camera files cannot live in a hosted page.
Does my footage get uploaded?
No. The daemon binds to 127.0.0.1 and makes no network requests of its own. Footage, proxies and project files stay on your disk.
Does it replace Premiere Pro or DaVinci Resolve?
No. It is for cutting and building graphics fast with Claude. Final color and finishing belong in Premiere or Resolve; export with every layer intact is the next milestone and is not built yet.
What does it need to run?
macOS, Python 3.11 or newer, ffmpeg, and Google Chrome or another Chromium-based browser for layer renders. No Python packages and no Node.
Does it work with MCP clients other than Claude Code?
The server speaks standard MCP over stdio, so any MCP client can call its tools. The /cuento skill and the beside-the-chat editor are built for Claude Code.
Films first, tools second.
Cuento exists because a real edit needed it. It is built by a filmmaker, in the open, and it is free.