
DaVinci Resolve MCP (free edition)
io.github.kingjameschPublished by GitHub account kingjameschv0.2.0Updated Oct 31, 2026
Control DaVinci Resolve 21.1 (free edition included) from Claude via a Lua bridge. See README.
The publisher's own server: Resolve
Overview
Drives DaVinci Resolve 21.1 (free or Studio) on macOS through a Lua bridge, letting an assistant manage projects, timelines, media and renders.
- What you can do
- Check bridge status, list and open projects, read and set project settings, save projects and switch pages
- List timelines, inspect items and markers, set the current timeline and timecode, create timelines, add or delete markers, insert and delete items, export timelines
- Browse the media pool, read clip properties, create folders, import media and append clips to a timeline
- Inspect render options and status, add, start, stop and delete render jobs
- Run arbitrary Lua inside Resolve and search Blackmagic's shipped scripting API reference
- When to use it
- Useful when you edit in DaVinci Resolve on a Mac and want an assistant to script repetitive timeline, media-pool and render work, or to reach parts of the Resolve API that the named tools do not cover via Lua.
- Requirements
- macOS only, with DaVinci Resolve 21.1.2 (free or Studio) and Claude Code. Python 3.9 or newer at /usr/bin/python3, standard library only, no pip installs. Install via the Claude Code plugin or the cloned install script, restart Resolve once, and start the Lua bridge from Workspace > Scripts each Resolve session. No credentials or network access.
Installation
In SourceWeft
- Open DaVinci Resolve MCP (free edition) 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-resolve-mcp
Let Claude Code drive the free edition of DaVinci Resolve 21.1.
Resolve 21.1 free removed Python scripts from the Workspace > Scripts menu and blocks external scripting. Lua menu scripts still run. This project uses that gap. A Lua bridge runs inside Resolve and a tiny Python MCP server runs outside. The server sends Lua to the bridge, the bridge runs it against the live resolve object and sends the answer back. A call takes about 80 to 95 ms as measured. There are 33 tools, plus run_lua for anything the named tools do not cover.
Requirements
- macOS
- DaVinci Resolve 21.1.2, free or Studio
- Claude Code
- Python 3.9 or newer at
/usr/bin/python3 - No pip installs. The server uses the standard library only.
Install
The installer does four things:
- Copies the two Lua scripts into
~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Scripts/Utility/. It stamps the state directory path into the bridge. - Creates the state directory
~/Library/Application Support/Blackmagic Design/DaVinci Resolve/ClaudeMCPwith mode 0700. - Registers the server with Claude Code at user scope as
davinci. - Prints the next steps.
Next steps, as the installer prints them:
The Resolve restart is needed once, after the first install. Resolve only reads the Scripts folder at startup.
Other flags:
Install as a Claude Code plugin
If you only use Claude Code, skip the clone. Inside Claude Code:
The plugin registers the davinci server itself; /davinci-resolve:setup copies the two Lua
scripts into Resolve's Scripts folder. Then restart Resolve once and click Workspace > Scripts >
Claude_MCP_Bridge. The plugin also ships a resolve skill with the conventions Claude needs
(absolute frames, marker rules, Lua idioms, Studio-only traps).
Use either the plugin or ./install.sh, not both, or Claude Code sees two davinci servers
(claude mcp remove davinci -s user removes the clone-based one).
The server is also listed on the MCP Registry
as io.github.kingjamesch/davinci-resolve-mcp for discovery. The listing is metadata only: install
from the plugin or the clone as above, since the bridge must be placed inside Resolve by hand.
Daily use
- Open Resolve with a project.
- Click Workspace > Scripts > Claude_MCP_Bridge. Do this once per Resolve session.
- In Claude Code, ask for
resolve_statusfirst. It tells you whether the bridge is alive. - To stop the bridge, click Workspace > Scripts > Claude_MCP_Bridge_Stop.
Example prompts:
- "Call resolve_status, then list my timelines."
- "Add a red marker named 'fix audio' at 00:00:10:00 on the current timeline."
- "Import everything in /Users/me/Footage/day1 and make a timeline called Day 1 from it."
- "Queue an mp4 render of the current timeline into /Users/me/Exports, start it and tell me when it finishes."
- "Use run_lua to list the clip colors on video track 1."
Tools
The full reference, with every argument, is in docs/TOOLS.md. It is generated from the code.
- Status and project:
resolve_status,list_projects,get_project_info,get_project_setting,open_project,save_project,set_project_setting,open_page - Timelines:
list_timelines,get_timeline_info,get_timeline_items,get_timeline_markers,set_current_timeline,set_timecode,create_timeline,add_marker,delete_markers,insert_timeline_element,delete_timeline_items,export_timeline - Media pool:
list_media_pool,get_clip_properties,create_media_pool_folder,import_media,append_clips_to_timeline - Render:
get_render_status,list_render_options,add_render_job,start_render,stop_render,delete_render_job - Escape hatch:
run_luaruns any Lua 5.1 chunk inside Resolve.scripting_api_docssearches Blackmagic's shipped API reference so Claude can write that Lua correctly.
Conventions: paths are absolute, frames are integers in the timeline's own numbering, timecodes are HH:MM:SS:FF, and track and item indexes start at 1.
How it works
- Claude Code starts
server.pyover stdio. The server speaks MCP and holds no network socket. - To send a request, the server creates folders under the state directory. The request is hex-encoded into the folder names.
- The Lua bridge lists those folders every 30 ms, decodes the request and runs it with the
resolveobject bound. - The bridge returns the answer with
fu:SetData, which Resolve writes toFusion.prefs. The server polls that file. - The last response stays in
Fusion.prefsand is cleared about 10 seconds after it was written; the bridge also clears it when it stops. - Several Claude Code sessions can share one Resolve: every server takes a lock in the state directory, so requests run one at a time.
The wire format is in docs/PROTOCOL.md. The design record is in docs/MCP-RECORD.md.
Troubleshooting
- Tools say the bridge is not running. Open Resolve with a project and click Workspace > Scripts > Claude_MCP_Bridge, then retry.
- Workspace > Scripts shows no Claude_MCP_Bridge. Resolve was not restarted after the install. Quit and reopen it. Run
./install.sh --checkto confirm the files are in place. - A tool times out. Resolve is probably showing a dialog, such as the Studio upsell or a frame-rate question after an import. Dismiss it in Resolve. Long operations also block the bridge until they finish.
- A Studio-only feature fails. Do not use Studio-only features on the free edition. They fail or open an upgrade dialog that blocks the bridge.
- The old davinci-resolve-lite-mcp Python scripts do nothing. They cannot work on 21.1 or later, because Python scripts no longer appear in the Scripts menu and external scripting is blocked.
Not included yet
Color-page node tools, gallery and stills, Fairlight, compound and Fusion clips, keyboard and preset import or export, project archive and restore, automatic bridge start when Resolve launches, a Claude Desktop .mcpb package, and Windows. run_lua covers most of these in the meantime. Set DAVINCI_MCP_DISABLE_RUN_LUA=1 in the server environment to remove run_lua from the tool list.
Security posture
- Local only. The server opens no network port and sends no telemetry.
- There are no credentials. The identity is your macOS user.
- Anyone who can write to the state directory can run Lua inside Resolve as you. The directory is created with mode 0700.
- Destructive tools need
confirm: true.run_luais open-ended, so Claude is told to ask you before running code that deletes or overwrites. - Responses are size-capped. Over-cap results come back marked
truncated. Fusion.prefsis readable by your user and holds the last response until it is cleared.- To shut it down, run the Stop script and delete the state directory.
- The server logs only the tool name, status and duration to stderr. It never logs arguments or results.
Development
Run the tests:
Regenerate the tool reference after changing any tool:
A test fails if docs/TOOLS.md is stale or if a tool is renamed.
Layout:
Credits
- The JSON encoder and several measured host facts are adapted from saadk408/davinci-resolve-lua-mcp, MIT.
- The idea of using Lua over the preferences file as a channel comes from AutoSubs.
License
MIT. See LICENSE.
Source: README.md at commit 61c3e57
Tools
0Version history
1- v0.2.0LatestOct 31, 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
Published by GitHub account Aedelon
MCP server that lets an AI assistant edit, grade and deliver in DaVinci Resolve through typed, verified scripting-API actions.

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.