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 54319This 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 44737The 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 44737This 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
| Command | Purpose |
|---|---|
status | Check whether the bridge is running and connected. |
url | Print the editor URL for a bridge port. |
get-summary | Print the live project summary. |
get-project | Print the live project JSON. |
get-media-context | Print live media and selection context. |
get-transcript | Print caption-derived transcript data. |
search-transcript | Search transcript text. |
ensure-transcript | Trigger transcription in the editor when available. |
list-actions | List live editor actions. |
action | Run an editor action by id. |
dispatch | Dispatch a raw command. |
operator | Run an editor operator by id. |
undo | Undo in the live editor. |
redo | Redo 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.