
DaVinci Resolve
io.github.AedelonPublished by GitHub account Aedelonv1.0.4Updated Nov 1, 2026
Typed, safe MCP server for DaVinci Resolve: every write verified, deletes confirmed, snapshots.
The publisher's own server: Resolve
Overview
MCP server that lets an AI assistant edit, grade and deliver in DaVinci Resolve through typed, verified scripting-API actions.
- What you can do
- Read and change projects, media pool, timelines, timeline items, color nodes, Fusion comps, gallery stills, audio and render jobs
- Run one-call workflows such as conform from EDL, deliver, vertical reel, apply look and title overlay, plus batch sequences
- Use AI tools for transcription, subtitles, scene-cut detection and Smart Reframe, and export frames or contact sheets for the assistant to look at
- Read and write interchange files (EDL, FCPXML, OTIO, marker CSV, cube LUTs) and manage snapshots, long-running jobs and UI pages
- Search and describe the Resolve scripting API, and optionally run Lua or Python inside Resolve when explicitly enabled
- When to use it
- For editors, colorists and developers who want an assistant to do the repetitive clicking in Resolve: importing and organizing footage, building timelines, grading, conforming and rendering. It suits anyone who needs each change confirmed against Resolve rather than assumed.
- Requirements
- DaVinci Resolve Studio 21.1 or later with external scripting set to Local (the free edition from 21.1 is not supported). Python 3.13+ with uv, pipx or pip, or run it via uvx. Runs as a local stdio process on the same machine as Resolve; an optional HTTP transport binds to loopback and needs a bearer token from DAVINCI_MCP_TOKEN for other hosts.
Installation
In SourceWeft
- Open DaVinci Resolve 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
[davinci-mcp: the safe, verified MCP server for DaVinci Resolve]
[CI] [PyPI] [Python 3.13+] [Apache 2.0] [DaVinci Resolve 21.1] [MCP spec 2026-07-28] [Glama score] [Support on Ko-fi]
Let an AI agent edit, grade and deliver in DaVinci Resolve, with every change checked.
davinci-mcp is an MCP server for DaVinci Resolve. It gives AI agents such as Claude access to the whole Resolve scripting API: 299 typed actions across 17 domains. Every change is verified against Resolve itself before it is reported as done.
It is built for editors and colorists who want an assistant that does the clicking, and for developers who want a dependable bridge between an agent and Resolve.
See it work
A real Claude agent, given four plain messages, cut this 52-second action trailer from the open movie Tears of Steel. It imported the footage, laid out 33 shots on the beat, added the title cards, graded teal and orange, and rendered it. Nothing in the run was staged; the video below is sped up 4×.
[A Claude agent editing a trailer in DaVinci Resolve through davinci-mcp]
▶ Watch the full demo on YouTube (39 s)
[The trailer the agent cut]
▶ Watch the trailer the agent cut on YouTube (52 s)
Why davinci-mcp
Verified, not hopeful
- Every write is read back from Resolve, and its receipt says
verified: trueorfalse. An agent can't claim a change that didn't happen. dry_runpreviews any write without applying it.- Deletes need consent: the first call returns a plan and a
confirm_token, and nothing is removed until the same call comes back with the token. - Destructive edits take a safety snapshot of the timeline first.
- Every call is written to a JSONL audit log.
Reliable
- In the benchmark below, 20 of 20 jobs passed. The community MCP server passed 13 of 20, davinci-mcp-professional 10 of 20.
- Near-miss parameters are repaired instead of refused (
fade_out→FadeOut, a bare clip name → a selector), and every rewrite is reported. - Errors are actionable: they suggest the right field ("did you mean"), name the right tool, and say which render setting Resolve rejected.
Economical
batch_runchains a whole sequence server-side in one call, for example 18 steps from timeline to render.- Clients defer the tools, so the first turn costs about 32k tokens of context.
- Replies and schemas are compact. Against the community server: 31 % cheaper and 60 % fewer calls.
Exhaustive and extensible
- 17 domains: project, media, timeline, item, color, Fusion, gallery, audio, render, interchange, AI tools, UI, app and more.
- One-call workflows:
conform_from_edl,deliver,build_vertical_reel,apply_look,title_overlay. - Your own recipes: YAML templates, plus Python when you opt in.
Safe by default
- File access is limited to the folders you allow.
- The server's own state, its configuration and your Claude configuration files are always off-limits.
- Symlinks are never followed when importing a folder.
Benchmarks
Headless Claude agents (Sonnet) ran four post-production jobs on a live Resolve Studio 21.1, five runs each. An agent that never saw the server's code wrote the jobs:
- dailies: log and organise a day of footage;
- promo: build a promo with a music bed;
- look: grade with versions and a still;
- spot QC: duplicate, export interchange files and render a range.
Each check reads Resolve directly, never through the server under test. Every agent ran under the same isolated harness. Full method and history →
[Jobs completed: davinci-mcp 100 %, community MCP 65 %, MCP Professional 50 %, Resolve built-in MCP 100 %] [Cost for the 4 jobs: davinci-mcp $0.62, community MCP $0.99, MCP Professional $1.04, Resolve built-in MCP $0.35]
About the built-in server. Resolve 21.1 ships its own MCP server, which is cheaper because it hands the agent one tool, run_script_unsafe, to run arbitrary Python inside Resolve. That makes for short runs, but nothing is validated, read back, audited, snapshotted or confirmed before a delete. In our scale test (160 clips, 4 timelines) it once put a marker at the wrong frame, then reported the job done. davinci-mcp trades a little cost for changes you can trust.
Talk to it like an editor
How it works
- Validate. The agent calls a domain tool such as
timeline_writewith{"op": {"action": ..., ...}}, and the parameters are checked against a typed schema. Almost-right parameters are repaired, and each repair is reported. - Consent and snapshot. Deletes stop at a plan until they are confirmed, and destructive edits take a snapshot first.
- Call Resolve. The call runs on a single executor thread, the only place Resolve is ever called from.
- Read back. The server reads the result back from Resolve and returns a receipt with
verified. Long renders become jobs that the agent can wait on.
Tools
52 tools. Domain tools are named <domain>_read, <domain>_write and <domain>_delete, and take {"op": {"action": ..., ...}}; together they expose about 300 actions. Reads have no side effects, writes return a verified receipt, deletes ask for confirmation first.
resolve_status- Connection state, Resolve version and edition, current project, timeline and page.describe_action- Compact parameter schemas of one or several actions.search_api- Search the Resolve 21.1 scripting API by name or description.batch_run- Run several tool calls in one call, server-side, with one confirmation for the batch.workflow_write- One-call jobs:conform_from_edl,deliver,build_vertical_reel,apply_look,title_overlay.recipe_list/recipe_run- List and run YAML or Python recipes; every step is validated, verified and audited.project_read/project_write/project_delete- Projects, folders, databases, settings and settings presets; create, load, save, archive, import, export.media_read/media_write/media_delete- Media pool and storage: import, bins, relink, proxies, metadata, markers, flags, multicam, mattes, audio sync.timeline_read/timeline_write/timeline_delete- Timelines, tracks, markers, playhead, compound and Fusion clips, import and export.item_read/item_write/item_delete- Timeline items: properties, speed, fades, takes, flags, colors, markers, transitions, stabilization.color_read/color_write/color_delete- Node graphs, CDL, LUTs, versions, color groups, DRX grades, DCTL.fusion_read/fusion_write/fusion_delete- Fusion comps and tools: add, connect, inputs, keyframes, expressions, Text+ titles, settings, fuses.gallery_read/gallery_write/gallery_delete- Still albums: grab, import, export, label.audio_read/audio_write- Loudness analysis, silence detection, normalization, voice isolation, Fairlight presets, audio mapping.render_read/render_write/render_delete- Formats, codecs, presets and render jobs; render a timeline or a range, Quick Export.interchange_read/interchange_write- EDL, FCPXML, OTIO, marker CSV and .cube LUT files, read and written without Resolve.ai_read/ai_write/ai_delete- Transcription, subtitles from audio, scene-cut detection, Smart Reframe, audio classification, IntelliSearch.vision_read- Export or screenshot frames and contact sheets so the agent can look at the picture.ui_read/ui_write/ui_delete- Pages, menus and keyboard shortcuts, for the few things the API can't do.app_read/app_write/app_delete- Resolve app info, layout presets, keyframe mode, quit.snapshot_list/snapshot_write- Safety copies of the timeline or project, taken automatically before destructive edits.job_status/job_wait/job_list/job_cancel- Long operations (renders, analyses) run as jobs.code_delete-run_luaandrun_pythoninside Resolve, an escape hatch that is off by default and always asks for confirmation.
Install
Requirements
- DaVinci Resolve Studio 21.1 or later. In Preferences → General → External scripting using, choose Local.
- The free edition 21.1+ is not supported. Resolve 21.1 took Python scripting out of the free edition, and its Lua sandbox can't reach the Resolve API (tested on 21.1.2). On the free 21.0.x, the in-app bridge should still work: run
davinci-mcp install --bridge, then start it from Workspace → Scripts. - Python 3.13+ and uv (or pipx / pip).
pipx install davinci-mcp and pip install davinci-mcp work too.
doctor checks that Resolve is reachable and reports its version, edition and channel.
Claude Code
Or add it by hand:
Claude Desktop
This adds the server to claude_desktop_config.json. Restart Claude Desktop to load it. To do it by hand:
If Claude Desktop can't find the command, use its absolute path (which davinci-mcp).
Without installing anything, any client can run it through uvx: { "command": "uvx", "args": ["davinci-mcp", "serve"] }. Don't run uvx davinci-mcp install: it would write a path from uv's temporary cache into the client config.
Cursor
In ~/.cursor/mcp.json:
VS Code
In .vscode/mcp.json:
Any other MCP client
Run davinci-mcp serve over stdio. Use davinci-mcp serve --transport http for Streamable HTTP; it binds to loopback and needs a bearer token for any other host. The server also exposes a davinci://status resource.
Configure
The optional file ~/.config/davinci-mcp/config.toml holds the settings. Any key can be overridden with a DAVINCI_MCP_<SECTION>__<KEY> environment variable.
The file does not exist until you create it; without it the defaults below apply. Unknown keys, or keys in the wrong section, stop the server with a validation error. In an environment variable a list is written [~/Movies,~/Footage].
All settings
FAQ
The agent says it cannot reach Resolve
Check three things:
- Resolve is running;
- in Studio, External scripting using is set to Local;
- no dialog is open in Resolve, such as an update prompt or a project manager.
Then run davinci-mcp doctor.
Does it work with the free edition?
Not from 21.1 on. Resolve 21.1 removed both external scripting and in-app Python scripts from the free edition. In-app Lua scripts still run, but in a sandbox with no file access, no network and no access to the Resolve API (tested on free 21.1.2), so no bridge can work there. On the free 21.0.x, the in-app Python bridge (davinci-mcp install --bridge) should still work. Otherwise you need Resolve Studio.
Can it delete my work?
Not without consent. Every delete returns a plan first and needs a matching confirm_token. Destructive edits snapshot the timeline, and every call is logged.
Will it touch files outside my projects?
Only inside allowed_roots. The server's own state, its configuration and your Claude configuration files are always refused, whatever you allow.
Why is the built-in Resolve MCP cheaper?
It runs one unchecked Python script per job. davinci-mcp makes typed, verified calls, so it uses a few more steps. batch_run and the one-call workflows keep that overhead small.
Contributing
Issues and pull requests are welcome. docs/domain-guide.md shows how to add an action: a parameter model, a handler, a read-back check and a test. The rest is generated from there.
Credits
- Demo footage: Tears of Steel, © Blender Foundation | mango.blender.org, CC-BY 3.0.
- Demo music: Five Armies by Kevin MacLeod (incompetech.com), CC-BY 4.0.
davinci-mcp is an independent project. It is not affiliated with, endorsed by or sponsored by Blackmagic Design. DaVinci Resolve is a trademark of Blackmagic Design Pty. Ltd.
Support
davinci-mcp is free and open source. If it saves you time in the edit, you can buy me a coffee:
[Support davinci-mcp on Ko-fi]
Made by Delanoe Pirard (Aedelon) · Apache 2.0
Source: README.md at commit 62e9c54
Tools
0Version history
2- v1.0.4LatestNov 1, 2026
- v1.0.2Nov 1, 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
Other Resolve integrations
Resolve
ai.resolveOfficial publisher
Resolve is a remote AI DevOps investigation server that lets an assistant investigate alerts, run root-cause analysis and answer production questions across…

ResolveMCP-ext
Published by GitHub account CaptRauti
MCP server that gives an assistant DaVinci Resolve 21.1.2 scripting features the mainstream Resolve MCP servers lack: clip effects, Paste Attributes, frame…

DaVinci Resolve MCP (free edition)
Published by GitHub account kingjamesch
Drives DaVinci Resolve 21.1 (free or Studio) on macOS through a Lua bridge, letting an assistant manage projects, timelines, media and renders.

Nigeria Bank Resolve MCP by Wycord
Published by GitHub account wycord
Resolves a Nigerian bank account number and bank code to the registered account name, and lists Nigerian banks with their codes.

DaVinci Resolve Lua MCP
Published by GitHub account saadk408
A local Claude Desktop extension that drives the free edition of DaVinci Resolve 21.1 through a Lua bridge script running inside Resolve.