Cutloupe
Exports timelines as FCPXML 1.10 files that can be opened in DaVinci Resolve, carrying the edit into Resolve while leaving behind text animation, grades, shapes, and fills.
Provides an optional edit ledger on Solana devnet, allowing agents to create reel accounts, commit timeline hashes, and seal exported files against the current timeline head for later verification.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CutloupeMake a 20s vertical teaser with captions and calm music, check it, then export MP4"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Cutloupe is an MCP server with a live studio. Your agent (Claude Code, Antigravity, Codex, or any MCP client) edits a real timeline: cuts, titles, shapes, keyframes, captions, music. You watch each edit land in the studio and can edit alongside it. Before the agent calls the job done, the look tool renders the actual frames and returns them as an image, so the agent checks its own work instead of guessing.
When you are finished, export an MP4, or carry the timeline into DaVinci Resolve, Premiere Pro, CapCut or Remotion.

Why it exists
Agents can already write ffmpeg commands and Remotion code. What they cannot do is see the result. They hand back a file and hope the title is not sitting on the subtitle. Cutloupe gives the agent eyes on the same compositor that produces the export, and gives the person a live view of what the agent is doing so they can step in early.
Related MCP server: Lazynext MCP Server
What is in the box
Part | What it does |
| The timeline model, a pure |
| The browser studio: preview, timeline with drag and trim, inspector, library, activity feed. Also runs headless in |
| The MCP server (stdio) plus a local HTTP and WebSocket server that keeps every open studio in sync. 28 tools. |
| Anchor program on Solana devnet: commit the timeline hash, seal an exported file against it. Optional. |
| The landing page, in English, Indonesian, Spanish and Japanese. |
Install
Requirements: Node 20 or newer, ffmpeg and ffprobe on your PATH, Chrome or Edge installed (used headless for rendering).
git clone https://github.com/bryankwandou/cutloupe
cd cutloupe
npm install
npm run buildRegister the server with your agent.
Claude Code (run inside the cutloupe folder):
claude mcp add cutloupe -- node "$PWD/packages/mcp/bin/cutloupe.mjs"Antigravity: Agent panel → MCP servers → Manage → View raw config, then add:
{
"mcpServers": {
"cutloupe": { "command": "node", "args": ["C:/path/to/cutloupe/packages/mcp/bin/cutloupe.mjs"] }
}
}Codex CLI (~/.codex/config.toml):
[mcp_servers.cutloupe]
command = "node"
args = ["C:/path/to/cutloupe/packages/mcp/bin/cutloupe.mjs"]Then ask for something like: "Make a 20-second vertical teaser from intro.mp4 with bold captions and calm music, and check it before you export." The studio opens at http://127.0.0.1:4321 on the first edit.
To open only the studio, without an agent: node packages/mcp/bin/cutloupe.mjs studio.
The npm package is not published yet; install from GitHub for now.
Environment
Variable | Meaning |
| Studio port. Default 4321; the next free port is used if it is taken. |
| Projects, music and exports. Default |
|
|
| Chrome or Edge executable, if not in the usual place. |
| A Solana devnet keypair file. Turns on the |
| Override the ledger program and RPC endpoint. |
| Whisper model name, or a ggml file for whisper.cpp. |
Tools
Group | Tools |
Project |
|
Media |
|
Graphics and motion |
|
Edit |
|
Sound and captions |
|
See and ship |
|
Every edit, from the agent or from a person in the studio, goes through the same applyOp reducer and the same undo history. apply_ops applies a batch all at once or not at all.
Exports
Format | Opens in | Left behind (listed in NOTES.txt) |
| anywhere | nothing: it is the render |
| DaVinci Resolve, Final Cut Pro | text animation, grades, shapes and fills |
| Adobe Premiere Pro | titles, shapes and fills; captions travel as |
| CapCut desktop, experimental | shapes, fills, keyframes; newer builds encrypt drafts and may refuse it |
| Remotion project ( | Remotion's license terms apply to larger companies |
| OpenTimelineIO adapters | overlapping clips on one track |
| players, editors, Cutloupe | caption styling |
Captions and music
extract_captions reads .srt/.vtt files, or the first subtitle stream in a video. If neither exists and Whisper (openai-whisper or whisper.cpp) is installed, it transcribes locally. Words get their own timings in every case.
The music library is six original tracks synthesized from code (packages/core/src/music.ts), released under CC0.
Edit ledger (Solana devnet)
Optional. With CUTLOUPE_KEYPAIR set, the ledger tool:
open_reel: creates a Reel account for the project (PDA["reel", authority, reel_id]).commit_cut: moves the reel head from the previous timeline hash to the new one. A staleprevis rejected (StaleHead).seal_export: writes a Seal account (PDA["seal", file_sha256]) for an exported file, only against the current head (NotHeadotherwise). The seal records who edited (agent, person, both) and whether media or voice are synthetic.
Anyone can verify a file by hashing it; the website does this in the browser. Program ID G6kWfHR1X2tHFgwHvrc5soiXwUF4bYXprv7YMTJnx5eY. Transactions and checks are in docs/DEVNET.md.
Development
npm run build # studio, server, site, core
npm test # core unit tests (node --test)
npm run typecheck # tsc --noEmit over every package
npm run smoke # drives the real MCP server over stdio through every tool and export
npm run site # serve site/ at http://127.0.0.1:4400
npm run walkthrough # re-record the walkthrough video from the site and studio
CUTLOUPE_KEYPAIR=... npm run ledger:check # devnet success and failure pathsLimits
It does not generate footage. It edits and animates what you give it.
Speech-to-text needs Whisper installed locally.
The FCPXML, Premiere and CapCut exports pass structural tests, but have not yet been opened in Resolve, Premiere or CapCut on this release.
MP4 export renders each frame in headless Chrome. An 8-second 1080p reel took 97 to 150 seconds on the test machine.
License
MIT. The music library is CC0.
This server cannot be deployed
Maintenance
Related MCP Connectors
Agentic AI video editor: edit a real timeline, generate clips, music and voice, then render.
- tonpitOAuthcom.tonpit
Video production studio for AI agents: AI media, motion graphics as code, timeline and export.
Video editing for AI agents: cuts, captions, audio, motion graphics, previews, and exports.
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to edit videos through natural language, providing tools for timeline editing, audio management, rendering, and more.2MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to read, edit, and export real video projects with a full multitrack timeline, effects, captions, and export capabilities.2-
- AlicenseNot gradedqualityBmaintenanceAI-native timeline editor for short-form video. Your agent cuts, captions, adds motion graphics and renders against a real, editable timeline over MCP — not a render queue. Human-in-the-loop by design: it calls request_review and waits while you supervise in a browser. Local-first and AGPL; your footage never leaves your machine.2AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to autonomously edit raw video footage into publish-ready videos with millisecond-accurate cuts, Whisper transcription, karaoke captions, motion graphics, and high-CTR thumbnails.34 npm6MIT