Control DaVinci Resolve, including the free Lite edition. Manual setup only β see README.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
https://github.com/user-attachments/assets/8429932f-643b-4131-bdf6-dad0d3399137
Claude builds an opening title in DaVinci Resolve Lite β a gold "GameHelper"
Text+ node with glow and a zoom-in keyframe reveal β from a plain-language
request, via insert_fusion_title + style_fusion_title.
An MCP server that lets an AI client such as Claude Code control DaVinci Resolve β including the free (Lite) edition, which the existing davinci-resolve-mcp project cannot drive.
The free edition blocks external scripting, but it still runs Python scripts launched from its own Workspace > Scripts menu. This project rides that path: the MCP server runs inside Resolve as a menu script, and exposes Resolve's Python API over a small local HTTP endpoint that Claude connects to.
Ask Claude in plain language; it drives Resolve through the tools β see the demo above. See the tools reference for the full 163-tool surface β editing, color, render, media pool, and Fusion title styling.
resolve object for free and may run a long-lived
loop β long enough to host a server.com.apple.security.network.server
entitlement, so it can open a localhost listening socket.pip install
into Resolve's interpreter.Or via pip, if you'd rather not clone the repo:
davinci-mcp-install does exactly what install.sh does (same Lite/Studio
detection, same copy-vs-symlink logic) β it just reads the files from your
pip-installed package instead of a git checkout. davinci-mcp-uninstall
reverses it. Either way, the sandbox note below still applies, and you still
start the server from Resolve's own menu β see Run.
macOS user-install note. If you see
Defaulting to user installation because normal site-packages is not writeable, pip installed the console scripts under$(python3 -m site --user-base)/bin, which usually isn't onPATH. Either run the full path β"$(python3 -m site --user-base)/bin/davinci-mcp-install"β or add thatbindirectory toPATH. And use&&, not&, between the two commands: a bare&backgroundspip installand racesdavinci-mcp-installbefore the package exists.
Also listed on the MCP Registry as
io.github.2sem/davinci-resolve-lite-mcp
(verify) β
for discoverability only. The listing is metadata-only (no auto-install
packages/remotes entry): this server can't be spawned by an MCP client the
way a typical registry server can, since it must run inside Resolve's own
embedded Python interpreter, started by hand from the Scripts menu. Install it
one of the two ways above.
install.sh deploys:
Fusion/Scripts/Utility (a folder Resolve scans
for the Scripts menu; Utility shows on every page), andresolve_mcp package into Fusion/Scripts/MCP β a folder Resolve does
not scan, so the helper modules stay out of the menu.The Lite container path is detected automatically.
Sandbox note (important). DaVinci Resolve Lite is sandboxed and can only read its own container,
~/Movies, and files you pick interactively. A symlink that points outside those locations (e.g. into a clone under~/Projects) cannot be followed by the sandboxed app, so the menu script would silently never run. For that reasoninstall.shcopies the files into the container on Lite (and symlinks only on the non-sandboxed Studio build). Re-run./install.shafter pulling updates.Resolve enumerates only the category folders (
Utility / Comp / Tool / Edit / Color / Deliver) for its Scripts menu β that is why the launchers go inUtilityand the package hides inMCP.The same sandboxing applies to file paths you ask the tools to use: exports/imports should target
~/Movies(or other granted locations), otherwise Resolve cannot write/read them.
In DaVinci Resolve: Workspace > Scripts > Utility > davinci_mcp_server.

Open Workspace > Console β it prints the endpoint and port:
The startup guide prints to the Resolve Console (Workspace > Console). Because the server runs continuously, its Console output can buffer until it stops, so both scripts also mirror every line to a logfile:
Watch it live with
./logs.sh. (Override the directory withDAVINCI_MCP_LOG_DIR.)~/Moviesis used because the sandboxed Lite app is allowed to write there.
Once running, every tool call is logged to the Console as a single line
([davinci-mcp] <name> <args> -> ok|error (Nms)):

Update check. Like
brew/CocoaPods, each launch checks PyPI in the background for a newer release and prints a one-line nudge to the Console if one exists β never blocks startup, and any failure (offline, PyPI down) stays silent in the logfile only. Disable withDAVINCI_MCP_SKIP_UPDATE_CHECK=1.
Register it with Claude Code (one-time):
Then verify / reconnect with the /mcp command inside Claude Code β it
lists connected servers and reconnects them. If Claude was already running
when you launched the script, type /mcp (or restart the session) so it
picks up the davinci server.
Ask Claude to control Resolve.
By default the server listens on 8765 and auto-increments to 8766, 8767,
β¦ if that port is busy (another local tool may already hold 8765). Because
the winner of that race can change between launches, the URL you registered with
Claude can drift, surfacing as:
To lock the port for good, drop a small JSON config file. When a port is set this way it is pinned β the server binds exactly that port and never auto-increments, so you register Claude once and the URL never moves.
Create ~/Movies/davinci-resolve-lite-mcp.config.json:
Why
~/Moviesand not~/.config? The Lite app is sandboxed and can only read its own container,~/Movies, and files you pick interactively β~/.configis outside the sandbox, so Lite cannot read it (this is the same reason the logfile lives in~/Movies). The server also checks~/.config/davinci-resolve-lite-mcp/config.jsonfor the non-sandboxed Studio build, where that path is conventional.
Then restart the server (Scripts > Utility > stop_davinci_mcp_server, then davinci_mcp_server) and register Claude once at the fixed port:
The Console banner confirms the source β look for
Port : pinned (from β¦) β will not auto-increment.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/davinci-resolve-lite-mcp)<a href="https://allmcps.com/mcp/davinci-resolve-lite-mcp"><img src="https://allmcps.com/api/badge/davinci-resolve-lite-mcp?style=directory" alt="DaVinci Resolve Lite MCP on AllMCPs" /></a>