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.
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.
- Projects and navigation — `create_project`, `load_project`, `save_project`, `export_project`, `import_project`, `set_project_setting`, `open_page` for Media/Edit/Fusion/Color/Fairlight/Deliver, and `refresh`
- Media and timelines — `import_media`, `add_sub_folder`, `create_timeline`, `create_timeline_from_clips`, `append_to_timeline`, `import_timeline_from_file` for 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`, and `execute_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`
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.
One command — uvx davinci-resolve-mcp
