Skip to main content
Glama

OCC-ForAgent is an agent-focused distribution based on OpenChatCut v0.2.0. Version 0.2.2 adds unattended MCP project CRUD/opening, server-direct editing, resilient FFmpeg discovery, and a persistent locally managed MCP token with rotation, while preserving the upstream AGPL-3.0-or-later license and attribution. The desktop application keeps the OpenChatCut product name and data directories in this release for compatibility.


What is OpenChatCut?

OpenChatCut is an open-source ChatCut alternative: a video editor that brings conversational agents and professional timeline editing into the same workspace. It is independent open source (AGPL), not affiliated with the commercial ChatCut product.

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.

  • Website: https://openchatcut.com

  • Open-source ChatCut alternative guide: https://openchatcut.com/blog/open-source-chatcut-alternative

  • ChatCut vs OpenChatCut: https://openchatcut.com/blog/chatcut-vs-openchatcut

  • ๐Ÿค– 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.

  • ๐Ÿ‘๏ธ Visual geometry: in-browser person segmentation and face-safe zones โ€” captions avoid the speaker automatically, reframe follows the subject, and overlay graphics land in empty space.

  • ๐Ÿ“ฆ 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.

Related MCP server: popcorn

Community

Join the OpenChatCut community to discuss workflows, share feedback, and follow development:


Sponsor

If OpenChatCut helps you, you can support its continued development on Ko-fi or Afdian.


Product Tour

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


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, export history, hardware-aware H.264 acceleration, and resource-aware export queueing

Agent

Built-in conversational agent, skills, proposal-based edits, and external Streamable HTTP MCP


Community Resources

The OpenChatCut resource library is a shared catalog for reusable MG animations, sound effects, transitions, visual effects, zooms, and LUTs.

Discover and install

  • Hover visual cards to watch the complete result, or play audio resources before downloading.

  • Copy a resource's install URL into OpenChatCut's Extension Center, or download its original package.

  • Browse the website catalog inside the editor and manage installed extensions locally.

Contribute a resource

  1. Open Contribute a resource and choose its category.

  2. Upload the resource and the category-specific preview inputs; the site renders the published preview.

  3. Add the creator and license information, then submit it for review and publication.

Installable visual resources use the editor's openchatcut-plugin@1 format and runtime validation. Official OpenChatCut resources use the MIT license; community contributors select a license during submission, and each published card identifies its creator and license.


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

Desktop installers

Download OCC-ForAgent builds from GitHub Releases. Version 0.2.2 targets Windows x64 first; additional platform builds can be produced from source. Upstream OpenChatCut releases remain available from the upstream repository.

These are early builds. The macOS packages are not yet signed or notarized, so the operating system may require manual approval on first launch.

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/ZiAn-Su/OCC-ForAgent.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.

Development launches are isolated per Git checkout/worktree by default. npm run dev and npm run desktop:dev keep that checkout's projects, imported media, generation jobs, credentials, settings, and local authorization state under its own profile in ~/.openchatcut/dev-profiles/. Use npm run dev:shared only when you intentionally need the legacy shared development store.

Built-in Agent authentication

  • API keys: open Settings โ†’ Agent model, choose a provider, and save its API key and model. Keys remain server-side.

  • ChatGPT subscription: install the official Codex CLI 0.146.0 or newer, then open Settings โ†’ Agent model โ†’ OpenAI ยท Codex. Sign in through the browser or device-code flow, load the account's models, choose a model-specific reasoning effort (or keep its default), and select Codex from the chat model picker. OpenChatCut uses a dedicated Codex profile; the official CLI owns credential storage, token renewal, and logout, while OAuth tokens are never exposed to the browser.

  • Claude subscription: OpenChatCut does not collect Claude OAuth credentials. Use Claude Code through the local MCP connection below. The built-in Agent can use Anthropic through an API key.

Local H.264 exports automatically prefer VideoToolbox on macOS and NVENC on compatible Windows systems, then fall back to software encoding. Tune render concurrency and the heavy-export limit with OPENCHATCUT_RENDER_CONCURRENCY and OPENCHATCUT_MAX_ACTIVE_EXPORTS, disable hardware encoding with OPENCHATCUT_DISABLE_HARDWARE_ENCODING, or override FFmpeg-side encoder selection with OPENCHATCUT_H264_ENCODER; see .env.example.

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.

Fast testing without packaging an EXE

Normal development does not require desktop:dist:win. Choose the narrowest command for the change:

# Fastest: full web stack with hot reload; MCP remains on port 5199
npm run dev

# MCP project management and headless/offline regression with temporary isolated data
npm run verify:mcp:projects

# Complete MCP protocol and workflow verification
npm run verify:mcp

# Electron-shell testing without producing an installer
npm run desktop:dev

Agents can connect directly to http://localhost:5199/api/external-mcp/mcp while the source version is running. Use npm run desktop:dist:win only for release candidates.


Project Status

OCC-ForAgent is under active development. The editor, project format, and agent tools will continue to evolve. Prebuilt packages are published on GitHub Releases; running from source remains the most transparent option for development and troubleshooting.

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

Install the single OpenChatCut Agent Skill:

npx skills add ZiAn-Su/OCC-ForAgent

Then tell the agent Set up OpenChatCut. The installed router registers the local MCP connection and loads the editor's 26 specialized skills on demand, so the agent's skill list stays compact.

Custom skills live in a user-visible directory with the same layout as ~/.codex/skills / ~/.claude/skills:

~/.openchatcut/skills/<slug>/SKILL.md     (Windows: %USERPROFILE%\.openchatcut\skills\...)

Ask the agent to manage_skill create (or use the bundled skill-creator workflow) and it writes the SKILL.md there โ€” editable and shareable by hand. Dropping a SKILL.md into that directory makes it available to the agent, and selecting a workflow from the chat's / command or the creative-mode picker activates it for the next message.

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. list_projects, create_project, get_project, update_project, delete_project, and restore_project do not require an open editor; deletion is a recoverable soft delete. For import, preview, render, or export, the agent can call open_project to launch the selected project, wait for its editor bridge, and bind the MCP session without asking the user to open the project manually.

Codex app/CLI and Claude Code use the same session workflow:

  1. Call begin_edit_session and keep the returned editSessionId. Set approvalMode to manual (the default) or auto.

  2. Pass that id to every project read/edit tool. Changes are applied only to an isolated draft.

  3. Call review_edit_session when the draft is ready.

  4. In manual mode, review, preview, select, and approve or reject the proposal inside the open OpenChatCut project. In auto mode, review_edit_session applies the complete draft immediately. The client can poll get_edit_session for applied, rejected, or discarded status.

Approval in Codex or Claude controls whether the client may call a tool. OpenChatCut project approval is required only for manual sessions; auto sessions explicitly bypass that review. Either mode commits the applied operations atomically as one undo step. If an auto session becomes stale, it returns an error instead of falling back to manual approval; discard it and start a new session. Draft-safe edits remain isolated until review. Live-project operations use the same edit-session identity but run separately from the proposal: manual sessions require a one-shot confirmation in OpenChatCut, while auto sessions run them unattended. For end-to-end local automation, import_local_media accepts an absolute host path and can place the finalized asset directly on a track; after applying draft edits, export_timeline renders the active timeline and can save the completed file to an absolute host path. Both tools require the target project to be 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:

Start an OpenChatCut edit session. Read the draft, add a scratch sound effect
at 8 seconds on the second audio track, and add a glitch transition between
the adjacent video clips. Submit the draft for review and wait for the user to
approve it in OpenChatCut before reporting that the edit was applied.

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, and the live timeline is not changed while an external draft is being prepared.

Protecting MCP access

On first launch, OpenChatCut generates an MCP token in the current user's private configuration directory and reuses it across restarts. The trusted editor's MCP dialog can regenerate it at any time; regeneration immediately invalidates the old token. The token is never stored in a project or in browser storage.

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.

Adding usable media and creative assets

The repository already ships sound effects, code-native transitions and WebGL effects, two .cube LUTs, and three template collections. There are two extension paths:

Goal

Recommended path

Use personal video, music, images, or overlays

Import absolute local paths through MCP, drag files into the media pool, or configure a watched media folder. No rebuild is required.

Bundle a sound effect for every user

Add a licensed MP3 to assets/sound-effects/<id>.mp3 and register its metadata, duration, keywords, and waveform peaks in src/audio/soundLibrary.ts.

Bundle background music

Prefer local import/watched folders today. A distributable built-in music collection should add a licensed manifest and a dedicated music-library category rather than treating demo files in assets/audio/ as production tracks.

Add a motion-graphic template

Add the template JSON to assets/templates/ and import the collection from src/editor/initial.ts.

Add a LUT

Install/export it as a resource plugin, or add the .cube file under assets/luts/ and register its definition in src/gl/fx/effects.ts.

Add a transition or visual effect

Prefer a resource plugin or Agent-generated custom shader. Built-ins require the GLSL implementation plus registration in src/editor/transitionTypes.ts, src/gl/transitions.ts, or src/gl/fx/effects.ts.

Only redistribute media whose license permits bundling and public repository distribution; record its author, source URL, license, and any attribution requirement alongside the asset.


Architecture

Layer

Technology

Frontend

React 19, TypeScript 6, Vite 8

Editing core

Immutable timeline state, command layer, and proposal-based application

Agent

Vercel AI SDK 7 (Anthropic, OpenAI, Gemini, Kimi, Qwen, GLM, DeepSeek, MiniMax, Xiaomi MiMo, Mistral, and compatible APIs), 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

# Core 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.

Vercel AI SDK

Provider-neutral model streaming and tool calling for 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.


Changelog

See the bilingual CHANGELOG.md and RELEASE_NOTES_v0.2.2.md for notable changes, or browse published packages on GitHub Releases.


Star Growth


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. Upstream-specific issues belong in the OpenChatCut issue tracker.

A
license - permissive license
-
quality - not tested
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Provides MCP servers for AI-driven video editing. Enables offline editing of CapCut drafts and remote control of Adobe Premiere Pro via UXP plugin, with shared media analysis for beat detection and transcription.
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    MCP server that enables LLM agents to control the OpenCut classic video editor's timeline through a Playwright-controlled browser, allowing automated video editing tasks like adding media, inserting clips, splitting, trimming, and exporting.
    2
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    An MCP server that exposes FFmpeg as a structured tool set for AI agents, enabling timeline-based video editing, preview, rendering, and analysis with an optional LLM autopilot.

View all related MCP servers

Related MCP Connectors

  • MCP server for Wan AI video generation

  • MCP server for OpenAI Sora AI video generation

  • MCP server for Google Veo AI video generation

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZiAn-Su/OCC-ForAgent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server