Shotcut MCP
by matrodrigs
README.md
# Shotcut MCP
<p><samp>Local video editing through the Model Context Protocol.</samp></p>
Create, edit, validate, preview, and render saved [Shotcut](https://www.shotcut.org/) projects through your AI assistant. The result stays an editable `.mlt` timeline, with transactional writes that protect the project as you work.
[Demonstration](#demonstration) · [Quick start](#quick-start) · [Documentation](#documentation) · [Website](https://matrodrigs.github.io/shotcut-mcp/)
## Demonstration
A short H.264 export created from a native Shotcut timeline edited through Shotcut MCP.
https://github.com/user-attachments/assets/c70f064f-17e7-403d-9bcf-689a9c616cdf
## Quick start
You need **Python 3.10+**, **Shotcut** (recommended **26.8.1**, bundled MLT **7.41.0**), and an MCP client that supports local `stdio` servers. Shotcut includes the required media tools, codecs, and filters. No additional Python packages are required.
### 1. Connect your client
| Client | Installation |
| --- | --- |
| Claude Desktop / MCPB-compatible client | Follow the [MCPB installation and update guide](docs/installation.md#claude-desktop-and-mcpb). |
| Codex | Clone the repository and [register the local server](docs/installation.md#codex). |
| Claude Code | Run `/plugin marketplace add matrodrigs/shotcut-mcp`, then `/plugin install shotcut-mcp@matrodrigs` and `/reload-plugins`. [Details and manual setup](docs/installation.md#claude-code). |
| Other MCP client | Configure a [local stdio server](docs/installation.md#other-mcp-clients). |
The [installation guide](docs/installation.md) includes commands for Windows, macOS, and Linux. No `pip install` is required to run the server. For a source checkout, the guide also shows how to check Python and Shotcut with `scripts/shotcut_mcp_server.py --check` before connecting MCP.
### 2. Check readiness
Ask your assistant:
> Run shotcut_status and shotcut_doctor. Report tool paths, versions, and failed runtime checks.
Resolve failed runtime checks before editing. See [troubleshooting](docs/installation.md#troubleshooting-and-recovery) for recovery steps.
### 3. Make your first edit
Provide the source folder and the destination for the saved project, then describe your edit:
```text
Create a 1920×1080, 30 fps Shotcut project from every video in this folder.
Put narration on A1, add 12-frame crossfades, and save it as documentary.mlt.
Generate a contact sheet so I can review the edit before exporting.
```
You can request adjustments in ordinary language. See the [editing workflow and example prompts](docs/workflows.md) for subtitles, quality analysis, effects, and delivery.
## Features
- **Edit the timeline:** work with tracks, clips, transitions, speed changes, titles, and subtitles; discover source media in a folder and apply up to 500 operations in one transaction.
- **Review the result:** inspect source quality and color, preview proposed changes, and generate frames, contact sheets, or short clips with motion and audio before exporting.
- **Render and deliver:** export a full project, frame range, or named marker; receive the media and the exact editable project used for that render.
- **Keep work local:** use effects from your installed MLT build, with revision checks, validation, isolated backups, and atomic file replacement.
See the [full capability reference](docs/reference.md#features) for supported edit operations.
## Transactional safety
Edits are checked against the inspected revision, validated with Melt, and backed up before atomically replacing the saved project. Unknown XML is preserved; ambiguous edits are rejected. Preview and render outputs also use temporary files and atomic promotion.
Each render uses an immutable project snapshot, so later timeline edits cannot change a running export. If export was not already requested, the client confirms the output, preset, range, and overwrite behavior first. An explicit export request does not need a second approval.
Read the [transaction and recovery details](docs/reference.md#transactional-safety) and [rendering behavior](docs/reference.md#rendering).
## Limitations
- The server edits **saved project files**; it cannot see unsaved changes in Shotcut. Let an MCP edit finish before saving the same project in the GUI, then inspect it again.
- Available codecs, filters, fonts, and quality analyzers depend on your local installation.
- Some ambiguous transitions, speed maps, and cross-track edits are rejected. Changing FPS preserves recognized frame numbers rather than automatically retiming the edit.
- Network resources and unsafe consumer properties are denied by default. Administrators can restrict filesystem access through the [runtime configuration](docs/reference.md#configuration).
See [all limitations](docs/reference.md#limitations) for speed-map boundaries and recovery behavior.
## Documentation
| Guide | What you will find |
| --- | --- |
| [Installation](docs/installation.md) | Client setup, requirements, and readiness checks |
| [Workflow and examples](docs/workflows.md) | From an edit request to visual review and delivery |
| [Technical reference](docs/reference.md) | Capabilities, tools, presets, configuration, and safety |
| [Behavioral specification](docs/spec.md) | Detailed contracts and compatibility boundaries |
| [Architecture](docs/architecture.md) | Module responsibilities and dependency direction |
### MCP tools
The [MCP tool catalog](docs/reference.md#mcp-tools) lists every tool with a concise purpose. Clients receive full schemas and operation guidance at runtime; most users can work entirely through natural-language prompts.
## Development
See [Contributing](CONTRIBUTING.md) for the shared quality gate, real integration tests, development, and release procedures, [Changelog](CHANGELOG.md) for release changes, [Issues](https://github.com/matrodrigs/shotcut-mcp/issues) for bugs and feature requests, and [Security](SECURITY.md) for private vulnerability reporting.
## License
Released under the [MIT License](LICENSE). This is an independent community project, not affiliated with or endorsed by Shotcut or the MLT project. Shotcut is a trademark of its respective owner; MLT is an independent open-source multimedia framework. This repository contains no Shotcut or MLT source code.
<sub>Created by <a href="https://github.com/matrodrigs">matrodrigs</a>.</sub>
This server cannot be deployed
Maintenance
ActivityNo data
ResponsivenessOutdated data