OpenChatCut

mcp
Security Audit
Fail
Health Warn
  • License — License: AGPL-3.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Fail
  • rm -rf — Recursive force deletion command in .github/workflows/desktop.yml
  • exec() — Shell command execution in desktop/env-file.ts
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Local-first conversational AI video editor with a professional multi-track timeline, Agent Skills, MCP integration, and Remotion-powered rendering.

README.md

OpenChatCut

OpenChatCut

简体中文 · English

An agent-native, local-first AI video editor

Let Codex, Claude Code, and the built-in agent read, edit, and export real video projects that remain fully editable.

Introduction · Product Tour · Quick Start · Agent / MCP · Contributing

GitHub Repository Status Local First TypeScript React Remotion Electron MCP

OpenChatCut editor overview with the agent workspace, media pool, preview, and multitrack timeline

From a single instruction to a real timeline: agents, media, previews, motion graphics, transitions, effects, and multitrack audio all work together in one project.


What is OpenChatCut?

OpenChatCut is a video editor that brings conversational agents and professional timeline editing into the same workspace.

OpenChatCut = local video projects + multitrack timeline + AI agents + MCP + production-ready exports.

It does not merely generate a video that can no longer be changed. Every edit is written to real tracks, clips, transitions, captions, effects, and media inside the project. You can continue editing manually, undo or redo changes, save versions, or hand the project to another agent.

OpenChatCut is built for creators and developers who want AI to participate in the actual editing workflow without giving up professional control, rather than starting over from an empty chat box or an immutable generated result.

  • 🤖 Agent-native: the built-in agent and external MCP agents share the same editing tools.
  • 🎞️ Real timeline: multiple video and audio tracks, transitions, effects, LUTs, zooms, and keyframes.
  • 📝 Transcript-driven editing: word-level transcription, text-based cuts, pause handling, speakers, and linked captions.
  • Generation and media: images, video, speech, music, sound effects, and online media search.
  • 🧩 Motion Graphics and WebGL: editable motion templates, custom shaders, visual effects, and transitions.
  • 📦 Production-ready exports: MP4, audio, captions, FCPXML, and complete project data.
  • 🖥️ Local-first: projects and media stay on your machine by default, while API keys remain server-side.

Product Tour

The following screenshots show real OpenChatCut projects and editor states, not static mockups.

OpenChatCut local project dashboard
Local project management — Create, import, duplicate, export, and continue editing multiple real projects.
An agent generating music and editing transitions on a multitrack timeline
Complete agent-driven editing — Generate music, invoke tools, and write transitions, captions, and multitrack media directly to the timeline.
Agent tool execution history and the Motion Graphics library
Motion Graphics and agents — Browse motion templates or let an agent generate and assemble editable MG clips.
OpenChatCut WebGL visual effects library
WebGL visual effects — Apply pixelation, duotone, fisheye, kaleidoscope, softening, light leaks, and more directly to clips.
OpenChatCut camera movement and zoom effects library
Camera movement and zoom — Push, pull, slow zoom, fast zoom, and eased camera effects work directly with the timeline.
Comparing LUT color styles in OpenChatCut using a Tokyo Tower reference image
LUTs and color styles — Compare camera transforms and film looks in real time against a consistent reference frame.

Why OpenChatCut?

Traditional editors excel at precise control. One-shot AI video generators excel at producing results quickly. OpenChatCut connects both approaches through one continuously editable project:

Capability Traditional timeline editor One-shot AI video generation OpenChatCut
Track- and clip-level precision
Modify a project with natural language
Inspectable and undoable changes Usually unavailable
Linked transcript and visuals Partial
Direct control from Codex / Claude Code ✅ MCP
Built-in and external agent collaboration ✅ Shared tools
Local projects and BYOK Product-dependent Usually cloud-based

The core editing loop:

Describe the goal → Agent reads the project → Produces verifiable edits → Writes to the timeline
                  → Preview / adjust / undo → Captions and mixing → Export

Core Capabilities

Area Implemented capabilities
Timeline Multitrack editing, move, trim, split, ripple edits, snapping, keyframes, markers, undo, and redo
Visuals WebGL effects, LUTs, chroma key, zoom, transitions, and custom shaders
Audio Multiple audio tracks, sound effects, background music, voice-over recording, loudness, auto-ducking, and vocal isolation
Transcript Transcription jobs, word-level editing, pause compression, search, speakers, and clip views
Captions Automatic captions, named styles, translation, timeline overlays, and SRT export
Motion Graphics Built-in templates, a secure sandbox, custom templates, and video rendering
AI generation Image, video, speech, music, and sound-effect jobs with progress tracking
Media Uploads, folders, online image/video/audio search, and Firecrawl visual-media fallback
Export MP4, audio, captions, FCPXML, project import/export, and export history
Agent Built-in conversational agent, skills, proposal-based edits, and external Streamable HTTP MCP

Use Cases

  • Talking-head and interview editing: transcribe audio or video, remove mistakes, pauses, and repetition through text, then generate captions automatically.
  • Fast multiformat assembly: import video, images, and audio, then let an agent create the rough cut, transitions, soundtrack, and pacing.
  • Short-form and social content: reframe the canvas and generate titles, captions, voice-over, music, and visual packaging.
  • Motion Graphics: use built-in templates or ask an agent to create editable motion-graphics clips.
  • Developer automation: use MCP to let Codex, Claude Code, or another compatible client inspect and modify a real project.

Workflow

  1. Create a project and import local media.
  2. Edit manually on the timeline or describe the result you want.
  3. The agent reads project context and invokes editing tools.
  4. Review the proposal and preview the result, then apply, adjust, or undo it.
  5. Finish captions, audio, effects, and color.
  6. Export video, audio, captions, FCPXML, or the complete project.

Quick Start

Run from source

Requires Node.js 24.x and npm. The supported Node.js range is enforced by package.json, and .nvmrc selects the matching major version for Node version managers.

git clone https://github.com/0xsline/OpenChatCut.git
cd OpenChatCut
npm install
cp .env.example .env.local
npm run dev

Open:

http://localhost:5199

Only add the model or media-service credentials you actually use to .env.local. Features without configured third-party credentials report the missing key explicitly; local timeline editing, built-in media, and other configured capabilities continue to work.

Desktop development

npm run desktop:dev

The desktop app uses an Electron shell with the same embedded services. The web development build and desktop build share project, agent, generation, and export logic.


Project Status

OpenChatCut is under active development. The editor, project format, and agent tools will continue to evolve. The web development build and macOS and Windows packaging pipelines are available; running from source is recommended until official installers are released.

The core timeline, local projects, built-in media, and manual editing do not depend on cloud services. Connected features such as AI models, online media, generation, and transcription are enabled only after you configure the corresponding services.


Using OpenChatCut with Codex / Claude Code

OpenChatCut exposes a Streamable HTTP MCP endpoint:

http://localhost:5199/api/external-mcp/mcp

The repository's root .mcp.json already contains the local connection. Before using timeline tools, run OpenChatCut and open the target project. Project listing, creation, and navigation tools do not require the editor to remain open.

Codex

Add the following to your Codex configuration:

[mcp_servers.openchatcut]
url = "http://localhost:5199/api/external-mcp/mcp"

Claude Code

claude mcp add --transport http openchatcut \
  http://localhost:5199/api/external-mcp/mcp

You can then describe an editing task directly to the agent:

Read the current project. Add a scratch sound effect at 8 seconds on the
second audio track, add a glitch transition between the adjacent video clips,
inspect the frames at 1, 6, and 11 seconds, then export a vertical MP4.

External agents invoke the same internal editing tools and EditorCore commands as the editor itself. There are no separate project formats that can drift apart.

Protecting MCP access

When exposing the MCP endpoint yourself, configure:

OPENCHATCUT_MCP_TOKEN=your-token
OPENCHATCUT_EDITOR_URL=https://your-editor.example.com

Clients must send Authorization: Bearer <token>. The current bridge is designed for a single user on one machine, not as a multi-tenant service.


Architecture

OpenChatCut runtime architecture connecting agents, MCP, EditorCore, local storage, preview, rendering, and export

One shared set of agent tools and EditorCore commands connects the built-in agent, external MCP clients, the real timeline, local data, and production exports.

Layer Technology
Frontend React 19, TypeScript 6, Vite 8
Editing core Immutable timeline state, command layer, and proposal-based application
Agent Anthropic native tool use, Agent Skills, MCP SDK
Preview and visuals Remotion Player, WebGL / GLSL
Server Dual-host Vite / Electron plugins and a server-side keystore
Persistence Shared local project store under ~/.openchatcut, IndexedDB cache, configurable local media directory, optional Cloudflare R2
Desktop Electron 43
Export Remotion, FFmpeg, FCPXML, SRT

Directory Overview

Directory Responsibility
src/editor/ Timeline state and commands, independent of UI and LLMs
src/agent/ Agent assembly, tools, skills, progress, and settings
src/library/ Library UI for Motion Graphics, sound effects, transitions, effects, LUTs, and more
src/transcript/ Transcription, word-level editing, and transcript UI
src/captions/ Caption models, styles, controls, and preview layer
src/gl/ WebGL effects, transitions, and shader runtime
src/generate/ Clients for image, video, speech, music, and sound-effect generation
src/persist/ Project, chat, version, and media persistence
server/plugins/ Generation, transcription, media, export, and storage services
desktop/ Electron main process and embedded services
remotion/ Headless rendering and export pipeline

Data and Privacy

  • Projects, chat history, and version data are stored in the shared local store under ~/.openchatcut; IndexedDB provides a browser-side cache and legacy-data migration.
  • User media is stored in a local media directory that you can back up or migrate.
  • Whether AI requests leave your machine depends on the model, generation, or media services you configure.
  • Unconfigured cloud features do not affect the local timeline or editing of existing media.
  • When exposing MCP externally, configure a Bearer Token and restrict network access to the editor endpoint.

Security Model

  • API keys are only available to server-side configuration; vendor credentials must never be exposed to the browser through VITE_.
  • LLM output, plugin packages, template code, and user input are validated at trust boundaries.
  • Motion Graphics and shader code run in a restricted sandbox, with dedicated checks blocking malicious templates.
  • Agents modify projects only through EditorCore commands, making edits traceable and undoable.
  • MCP binds locally by default; public endpoints support Bearer Token authentication.
  • Local media directories and R2 credentials are managed by the server and never written into project JSON.

Development and Verification

# Type checking and production build
npm run build

# Full regression checks
npm test

# Static analysis
npm run lint

After changing the agent, timeline, preview, or export paths, run at least:

npx tsc --noEmit
npm test
npm run build

Technical Foundations

OpenChatCut is built with the following core projects and specifications:

Project / specification Role in OpenChatCut
ChatCut-Inc/agent-plugin Agent Skills foundation. OpenChatCut adapts the plugin's skill structure and workflows for its local editor, storage, MCP, and tool architecture. See the Agent Skills attribution notice.
Remotion Core foundation for React-based video preview, composition, and server-side rendering.
Model Context Protocol Protocol foundation that enables Codex, Claude Code, and other external agents to access projects and timeline tools.
Anthropic Tool Use Native tool-calling mechanism used by the built-in agent.
tt-a1i/archify Tool used to define, validate, and generate the README's runtime architecture diagram.

This list covers the project's major technical foundations. It does not replace the licenses bundled with individual dependencies, fonts, or binaries. See package-lock.json for JavaScript dependency versions and assets/fonts/LICENSES.md for font licenses.


License

OpenChatCut is licensed under the GNU Affero General Public License v3.0 or later.
Third-party components and assets remain subject to their respective licenses.


Contributing

  1. Create a branch from main.
  2. Add an executable check for non-trivial logic.
  3. Run npm test, npm run lint, and npm run build before committing.
  4. Open a Pull Request and include screenshots or acceptance evidence for UI or video-behavior changes.

Use GitHub Issues for bug reports and feature requests.

Reviews (0)

No results found