
Shotcut MCP
io.github.NoBanksPublished by GitHub account NoBanksv0.2.1Updated Oct 29, 2026
Edit video through Shotcut's MLT engine: timelines, cuts, filters, titles, crossfades and renders.
Overview
Local MCP server that lets an assistant build and render video edits through Shotcut's MLT engine, producing editable .mlt projects.
- What you can do
- Create and list projects, and read back project metadata and the full timeline
- Add, trim, split, move and ripple-delete clips on a single video track
- Apply filters such as brightness, volume, crop and audio or video fades
- Add text titles and crossfades between adjacent clips
- Render a project to a video file with melt
- When to use it
- Useful when you want an assistant to assemble a rough cut from existing video files without opening a GUI, and to hand back a native Shotcut project you can keep editing by hand. Suits scripted or repeatable edits such as trimming, titling, crossfading and rendering.
- Requirements
- Runs as a local Python package (Python 3.11+) over stdio, launched for example with uvx or pip. Needs the MLT melt binary on PATH or set via MELT_BIN, and ffprobe from FFmpeg on PATH or set via FFPROBE_BIN. SHOTCUT_MCP_WORKDIR sets where projects are stored. Clients may need a longer timeout because renders are slow.
Installation
In SourceWeft
- Open Shotcut MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
shotcut-mcp
MCP server that edits video through Shotcut's engine, MLT, with no GUI. An agent can create a project, add and trim clips, split, move and remove them, apply filters, add titles and crossfades, read the timeline back and render it with melt.
The output is a native Shotcut .mlt project, not a locked video file. Open the agent's cut in Shotcut and keep editing it by hand.
Requirements
- Python 3.11+
- MLT
meltonPATH, or setMELT_BINto its full path. Installing Shotcut includesmelt.- Linux:
sudo apt install melt - macOS: install Shotcut, then set
MELT_BIN=/Applications/Shotcut.app/Contents/MacOS/melt - Windows: install Shotcut, then set
MELT_BINtomelt.exeinside the Shotcut folder. Windows rendering is not yet covered by CI.
- Linux:
ffprobe(from FFmpeg) onPATHfor reading clip durations and checking renders. Override withFFPROBE_BIN.
Install
Run it with no install step using uv:
Or install it with pip:
The server talks MCP over stdio.
Use it with goose
goose Desktop or CLI
- Run
goose configure, choose Add Extension, then Command-line Extension. - Name:
shotcut - Command:
uvx shotcut-mcp - Timeout:
600seconds or more. Renders take longer than goose's default. - Add the environment variables
SHOTCUT_MCP_WORKDIRand, ifmeltis not on yourPATH,MELT_BIN.
config.yaml
Add this to ~/.config/goose/config.yaml:
Then ask goose something like: "Make a project called promo from clip1.mp4 and clip2.mp4, keep the first 5 seconds of each, crossfade them, add the title 'Launch day' and render it."
Use it with other MCP clients
Any MCP client that runs stdio servers works. For example, Claude Desktop's claude_desktop_config.json:
Configuration
Tools
Clip ids stay stable across calls. The edit state is kept in a .state.json file next to each .mlt, and the .mlt is regenerated from it after every change.
Current limits
- One video track. Multitrack video and audio is planned.
- Edits made by hand in the Shotcut GUI are overwritten by the next tool call. Safe round trips are planned.
- The
styleoption onset_transitionis accepted but only a dissolve is rendered today.
Development
The render tests are skipped when melt is not installed.
License
MIT
Source: README.md at commit 4f012fa
Tools
0Version history
1- v0.2.1LatestOct 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts