Drives DaVinci Resolve through its scripting API: timelines, media, markers and renders.
- Needs your setup first
- ★ 3.8K GitHub stars
- 4K downloads a week
- Last commit 23 Oct 2026
At a glance
This community server connects an assistant to a running copy of DaVinci Resolve through Blackmagic's official scripting API. It can organise the media pool, build and edit timelines, add markers, work with colour and Fusion, manage projects and queue renders. The default mode groups related actions behind about 37 tools to keep context small; a full mode exposes one tool per API method, nearly 400 of them.
External scripting is a Studio feature. On the free edition it works only through a small bridge script started inside Resolve, and only up to Resolve 21.0. An installer writes the client configs for you, and a separate Node server can edit .drp project files with Resolve closed.
- Made by
- Samuel Gursky and contributors, independent of Blackmagic Design
- Licence
- MIT
- Latest version
- 4.15.3 (23 Oct 2026)
- npm package
- davinci-resolve-mcp
- GitHub stars
- 3.8K
- Downloads
- 4K a week
- Last commit
- 23 Oct 2026
- Tools
- 37
- Runs on
- Your computer
Our check: It needs something our Linux test machine does not have (an account, a desktop app, a Mac or a running service), so on 27 Oct 2026 we read its tools from the source code instead of running this config. davinci-resolve-mcp on npm is a launcher by the same author. It installs the Python server; the MCP config then points at that environment, not at npx.
What's in the pod: its tools
We found 37 tools in its source code on 27 Oct 2026. 1 only read. The rest can change things, so keep your app's "ask before each tool call" setting on for them.
How we tested it: Read from src/server.py in version 4.15.3, the default compound mode. The full mode (--full) has about 390 tools, one per Resolve API method. The server needs DaVinci Resolve running, which our test machine does not have.
Runs commands1 tool · Can start programs or run code.
| Tool | What it is for |
|---|---|
script_plugin | Writes and installs scripts for Resolve's Workspace → Scripts menu. |
Changes things35 tools · Can create, edit, send or delete.
| Tool | What it is for |
|---|---|
color_group | Creates colour groups and works on their pre- and post-clip node graphs. |
dctl | Writes and installs DCTL colour shaders. |
edit_engine | Plans assemblies, tightening passes and clip swaps from the analysis, shows the plan, then carries it out once confirmed. |
folder | Works on one Media Pool bin, addressed by its path. |
fuse_plugin | Writes and installs Fusion Fuse plugins. |
fusion_comp | Builds and edits the node graph inside a Fusion composition. |
gallery | Manages Gallery albums and PowerGrade albums. |
gallery_stills | Grabs, labels, imports and exports stills. |
graph | Reads and changes colour node graphs: node LUTs, labels and enabled state. |
knowledge | Editing, colour and audio guidance the model should read before a creative or destructive step. |
layout_presets | Saves, loads, imports and exports Resolve's UI layout presets. |
lut | Lists, installs and removes LUT files. |
media_analysis | Analyses footage (shots, faces, speech, audio levels) and writes the results back as clip metadata after you approve them. |
media_pool | Creates bins and timelines, moves and imports clips, and exports metadata. |
media_pool_item | Reads and sets a clip's name, metadata, properties and proxy links. |
media_pool_item_markers | Adds, reads and removes markers and flags on Media Pool clips. |
media_storage | Browses drives and folders and imports files into the Media Pool. |
project_manager | Lists, creates, opens, saves and archives projects. |
project_manager_cloud | Creates, loads and restores Blackmagic Cloud projects. |
project_manager_database | Shows and switches the project database. |
project_manager_folders | Moves around and manages folders in the Project Manager. |
project_settings | Reads and changes project settings, the project name and colour groups. |
render | Builds render jobs from presets, formats and codecs, starts rendering and checks progress. |
render_presets | Imports and exports render and burn-in presets. |
setup | Reads and sets the server's own defaults, such as dry runs and how careful to be with destructive actions. |
timeline | Adds and removes tracks and clips, imports and exports timelines, and inserts generators and titles. |
timeline_ai | Starts Resolve's AI jobs on the timeline, such as auto subtitles and scene cut detection. |
timeline_frame | Grabs the current frame as an image so the model can check framing, titles or a grade. |
timeline_item | Changes a clip's transform, speed, keyframes and properties on the timeline. |
timeline_item_color | Grades a clip: versions, LUTs, CDL values, node caches and matching tools. |
timeline_item_fusion | Adds, loads, exports and removes Fusion compositions on a clip. |
timeline_item_markers | Markers, flags and clip colour on timeline clips. |
timeline_item_takes | Adds and switches takes on a timeline clip. |
timeline_markers | Adds and reads markers on the timeline and moves the playhead. |
timeline_versioning | Keeps automatic backups of a timeline before risky edits and rolls back to them. |
Only reads1 tool · Looks things up and changes nothing.
| Tool | What it is for |
|---|---|
resolve_control | App-level jobs: check for Studio, launch Resolve, switch pages, follow long background jobs. |
Grouped and described by us. The README on GitHub lists the inputs each tool takes.
Set it up
- Open Resolve and set Preferences → General → External scripting using to Local.
- Run npx davinci-resolve-mcp setup. It installs a managed copy, creates its Python environment and writes the config for the clients it finds, including Claude Desktop, Claude Code and Cursor.
- Restart your client with Resolve open. If it cannot connect, run python3 scripts/doctor.py from the installed copy for a list of fixes.
New to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.
Settings
Names are exactly as the project spells them. Required ones are marked.
| Setting | What it does |
|---|---|
External scripting usingConfig · required | Resolve's own preference, under Preferences → General. Set it to Local so the server can connect. |
--fullCommand line flag | Starts the granular mode, about 390 tools with one per scripting API method, instead of the 37 grouped tools. |
DAVINCI_RESOLVE_MCP_PYTHONEnvironment variable | Points the launcher at a specific Python, for Resolve builds that reject newer Python versions./usr/local/bin/python3.12 |
DAVINCI_RESOLVE_BRIDGEEnvironment variable | Set to 1 to always use the in-app bridge, the route for the free edition. |
RESOLVE_SCRIPT_HOSTEnvironment variable | The address of the machine running Resolve, when external scripting is set to Network.127.0.0.1 |
What it can touch
It can read
- The open project: timelines, Media Pool, metadata, grades and settings
- Media files on drives Resolve can see
- Frames rendered from the timeline
It can change
- Projects, timelines, bins, clips, markers and grades
- Render queues and the files they write
- LUTs, DCTLs, Fuses and scripts it installs into Resolve's folders
Safer setup: Its timeline tools save a backup before destructive edits, and many actions have dry-run or checked versions. Still keep a project backup before a long session.
Before you start
- DaVinci Resolve Studio 18.5 or newer (the free edition only through the in-app bridge)
- Python 3.10 or newer, 64-bit
- Node.js 20.9 or newer for the npx installer
If it does not work
- It cannot connect to Resolve
- Resolve must be open with External scripting set to Local. On the free edition external scripting is blocked; use the in-app bridge instead.
- scriptapp returns None on an older Resolve
- Some Resolve builds reject Python 3.13 and newer. Install Python 3.10 to 3.12 and set DAVINCI_RESOLVE_MCP_PYTHON to it.
- The bridge script does not appear in Workspace → Scripts on a Mac
- Resolve only finds Python through PYTHON3HOME or /usr/local/bin/python3. Set PYTHON3HOME with launchctl setenv and restart Resolve.
- Not sure what is wrong
- Run python3 scripts/doctor.py from the installed copy. Each problem comes with the exact command to fix it.
Peas in a pod: similar servers
How DaVinci Resolve MCP lines up against other design, 3d and games servers on the shelf.
| Server | Tools | Runs on | Licence | Stars |
|---|---|---|---|---|
| DaVinci Resolve MCP | 37 | Your computer | MIT | 3.8K |
| FreeCAD MCP | 17 | Your computer | MIT | 3.1K |
| Excalidraw MCP | 26 | Your computer | MIT | 2.6K |
| Blender MCP | 9 | Your computer | MIT | 32.4K |
| Framelink Figma MCP | 2 | Your computer | MIT | 16.1K |
Questions
Does it work with the free version of Resolve?
Partly. Blackmagic limits external scripting to Studio. On the free edition up to 21.0 an in-app bridge script works; Resolve 21.1 moved Python scripting to Studio, so the bridge may not run there.
Is it made by Blackmagic?
No. It is an independent open source project that uses Resolve's official scripting API.
Which mode should I use?
The default grouped mode, unless you need a particular API call. Its 37 tools cost far less context than the 390 in full mode.
Is it free?
Yes, MIT licensed. The optional analysis features use other open source libraries such as Whisper.
Something wrong on this page? Tell us.
