mcut

Local bridge

The live bridge inside mcut Studio, and the standalone bridge process for a browser tab.

The live bridge keeps the open editor as the source of truth while agents or scripts edit through MCP-style tools. It listens on localhost for a WebSocket from the editor at /mcut-mcp, Streamable HTTP MCP at /mcp, and a local RPC endpoint for the CLI commands below. The editor uploads each finished export_video render to /exports/<jobId>, and the bridge writes the file to disk.

The bridge in Studio

mcut Studio runs the bridge in its main process on port 44737 with a persisted token. Nothing else needs to start. Open the app and connect a client to the URL from the MCP menu, see Connect Cursor. The commands on this page reach that bridge with --port 44737.

Standalone bridge for a browser tab

Developers working on Studio itself, or on an app that embeds the editor, can run the bridge as its own process and connect a browser tab to it. This is the developer path, the desktop app is the user path.

Live MCP server

bunx -p @mcut/mcp-server mcut-mcp-live --port 54319

This starts a stdio MCP server and a localhost WebSocket bridge. It prints an editor URL with bridge parameters, --editor-url overrides the editor origin. Open that URL so the browser tab connects.

Bridge server

bunx -p @mcut/mcp-server mcut-bridge start --port 44737

The bridge server exposes local HTTP RPC and WebSocket endpoints for a connected editor tab. Keep the process running while agents or scripts edit. In the repository, bun run scripts/mcut-local-dev.ts bridge starts it with the fixed token mcut-local-dev.

Bridge MCP adapter

MCUT_BRIDGE_TOKEN=<token> bunx -p @mcut/mcp-server mcut-bridge mcp --port 44737

This exposes a running bridge, in Studio or standalone, as an MCP stdio server.

The bridge rejects /rpc calls without its token, so every command below except start, status, and url reads the token from --token or MCUT_BRIDGE_TOKEN. The token keeps other accounts on the same machine out, because the port is open to every local user and the token file is readable only by its owner.

Utility commands

CommandPurpose
statusCheck whether the bridge is running and connected.
urlPrint the editor URL for a bridge port.
get-summaryPrint the live project summary.
get-projectPrint the live project JSON.
get-media-contextPrint live media and selection context.
get-transcriptPrint caption-derived transcript data.
search-transcriptSearch transcript text.
ensure-transcriptTrigger transcription in the editor when available.
list-actionsList live editor actions.
actionRun an editor action by id.
dispatchDispatch a raw command.
operatorRun an editor operator by id.
undoUndo in the live editor.
redoRedo in the live editor.

When to use the bridge

Use the bridge when an edit needs editor-only capabilities, live editor state, local Whisper transcription, or exact parity with what is on screen. Use the stdio project server when a project JSON file is enough.

For agent editing, use the high-level live actions before raw commands:

mcut-bridge action transcript.remove-silence --json '{"elementId":"e-video","paddingMs":120}'
mcut-bridge action effects.fade-open-close --json '{"elementId":"e-video","durationMs":500}'

transcript.remove-silence requires word-timed captions. Call ensure-transcript first when captions are missing. Do not use ffmpeg as a fallback for transcription or silence detection.

On this page