refreshLABSCO SUMMARY
Full editorial control, with two hard prerequisites.
The tool list reaches past project admin into Fusion nodes, colour stills and render jobs, which is rare for a Resolve bridge. Two gates decide whether it works at all: Studio rather than the free edition, and a 64-bit CPython 3.10 or 3.11. The bootstrap probes the native module in a throwaway subprocess first, so a broken fusionscript import leaves the server alive instead of taking the client down with it.
What it is
A local MCP server on top of DaVinci Resolve's scripting API. It exposes 32 tools for editing and controlling Resolve plus 6 read-only resources describing the current state, and finds the scripting API automatically on Windows, macOS and Linux.
What you get
- Projects and navigation —
create_project,load_project,save_project,export_project,import_project,set_project_setting,open_pagefor Media/Edit/Fusion/Color/Fairlight/Deliver, andrefresh - Media and timelines —
import_media,add_sub_folder,create_timeline,create_timeline_from_clips,append_to_timeline,import_timeline_from_filefor XML or EDL,set_current_timeline,set_clip_property,add_timeline_marker,add_track,set_track_name,enable_track,set_current_version - Fusion and colour —
create_fusion_node,add_color_node,save_still,apply_still, andexecute_lua, which runs code inside Resolve, so only run scripts you trust - Audio, playback and rendering —
set_audio_volume,set_track_volume,play_timeline,stop_timeline,set_playhead_position,start_project_render - Read-only state as resources:
system://status,project://current,timeline://current,timeline://items,mediapool://current,gallery://albums
Requirements
DaVinci Resolve Studio 18 or newer with Preferences → System → General → External scripting using → Local enabled — the free edition does not expose that connection, and the server will start but stay disconnected. Also 64-bit CPython 3.10 or 3.11: Resolve's scripting module still imports imp, which Python 3.12 removed. Clone the repo and pip install -e . into that interpreter. On Windows always launch through run_server.ps1 rather than python server.py — it pins FUSION_PYTHON3_HOME and isolates DLL resolution, which is what prevents the 0xC0000005 crash. Custom installs can override RESOLVE_SCRIPT_PATH, RESOLVE_SCRIPT_API and RESOLVE_SCRIPT_LIB. Package version 0.1.0.
Setup effort
Build from source — git clone https://github.com/Tooflex/davinci-resolve-mcp.git
USE CASES
Building a rough cut from a folder of clips
Import the media, create a timeline from the named clips, and append what arrives later.
Leaving review notes on the timeline
Drop a coloured marker at a frame with the note text, then save the project.
Locking in a look
Save the current grade as a still into a gallery album, then apply it to another clip.
Kicking off a render at the end of a session
Check the current project and timeline state, then start the render with a preset and output path.
32 tools
Listed in project docs. Your client may show a different list.
create_projectload_projectsave_projectexport_projectimport_projectset_project_settingopen_pageimport_mediaadd_sub_foldercreate_timelineset_current_timelineappend_to_timelinecreate_timeline_from_clipsimport_timeline_from_fileset_clip_propertyadd_timeline_markeradd_trackset_track_nameenable_trackset_current_versionexecute_luacreate_fusion_nodeadd_color_nodesave_stillapply_stillset_audio_volumeset_track_volumeplay_timelinestop_timelineset_playhead_positionstart_project_renderBEFORE YOU INSTALL
What to know first
Tools you get
32 tools named in the project's documentation.
Requires
- DaVinci Resolve Studio 18 or newer, with external scripting set to Local
- 64-bit CPython 3.10 or 3.11
INSTALLATION
Connect your client
Server setup
git clone https://github.com/Tooflex/davinci-resolve-mcp.git
cd davinci-resolve-mcpMCP Clients
Claude Desktop — Windows
winget install --id Python.Python.3.10 -e
& "$env:LOCALAPPDATA\Programs\Python\Python310\python.exe" -m venv .venv310
.\.venv310\Scripts\python.exe -m pip install --upgrade pip
.\.venv310\Scripts\python.exe -m pip install -e .Add this to claude_desktop_config.json, with the full path to run_server.ps1 in your clone:
{
"mcpServers": {
"davinci-resolve": {
"command": "powershell",
"args": [
"-NoProfile",
"-ExecutionPolicy",
"Bypass",
"-File",
"<YOUR_PATH_TO_DAVINCI_RESOLVE_MCP>\\run_server.ps1"
]
}
}
}Use a regular 64-bit Python from python.org, not a uv-managed Python — Resolve's fusionscript.dll crashes with those builds.
Claude Desktop — macOS
python3.11 -m venv .venv
./.venv/bin/python -m pip install --upgrade pip
./.venv/bin/python -m pip install -e .Add this to claude_desktop_config.json, with the full path to .venv/bin/davinci-resolve-mcp in your clone:
{
"mcpServers": {
"davinci-resolve": {
"command": "<YOUR_PATH_TO_DAVINCI_RESOLVE_MCP>/.venv/bin/davinci-resolve-mcp",
"args": []
}
}
}