DaVinci Resolve MCP Bridge
Provides tools to control DaVinci Resolve from an AI assistant over MCP, including project, media pool, timeline, color, Fusion, Fairlight, and render management, as well as importing generated graphics and metadata.
Allows the local_ai tool to send extracted video frames to a vision model loaded in Ollama for frame description and analysis, enabling local AI vision capabilities without cloud services.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DaVinci Resolve MCP Bridgetranscribe the interview clip and add markers for each line"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DaVinci Resolve MCP Bridge
Control DaVinci Resolve from an AI assistant over MCP. Works with local models (LM Studio, Ollama) as well as Claude, Cursor and others. Includes a local Whisper + vision suite, so a local model can "hear" and "see" your footage without any cloud service.
This is a personal fork of samuelgursky/davinci-resolve-mcp (MIT). Changes in this fork: a
local_aitool (Whisper transcription + LM Studio/Ollama vision), amotion_graphicstool (Remotion + Three.js templates rendered straight into Resolve), the installer always installs the Resolve bridge, the installer can set up LM Studio directly, promo for the upstream's paid app is removed, and this README is shorter.
Install
git clone https://github.com/Thefrizzy1/davinci-resolve-mcp-bridge.git
cd davinci-resolve-mcp-bridge
python install.pyThe installer runs these steps in order:
Finds Resolve and creates a
venv/with the dependencies.Always installs the in-app bridge into Resolve's
Scripts/Utilityfolders. You need it on the free edition. On Studio it does no harm.Asks whether to install the local AI extras (faster-whisper).
Asks whether to install the motion graphics extra (Remotion + Three.js). The default answer is no, since many people already have their own setup.
Asks "Install straight into LM Studio?", which writes
~/.lmstudio/mcp.json. After that you can pick any other clients.Checks the connection to Resolve.
To run it without the prompts:
python install.py --lmstudio --local-ai # LM Studio + Whisper
python install.py --motion # add Remotion + Three.js motion graphics
python install.py --clients lmstudio,cursor # several clients
python install.py --clients manual # just print the JSON configBefore connecting:
Studio: set Preferences ▸ General ▸ External scripting using to Local.
Free edition: restart Resolve, open a project, then run Workspace ▸ Scripts ▸ resolve_bridge. The server finds the bridge automatically.
Related MCP server: DaVinci Resolve MCP Server
What's what
Part | What it is | When you need it |
| Main MCP server. 39 grouped tools (project, media pool, timeline, color, Fusion, Fairlight, render, | Always. This is what your client runs. |
| Same server with one tool per Resolve API method (390 tools) | Only for power users. It's too many tools for small local models. |
| Whisper transcription and frame descriptions, all on this machine | When your model can't read audio or images itself |
| Remotion + Three.js templates (titles, lower thirds, captions, counters, 3D) rendered to ProRes 4444/H.264 and imported into Resolve | When you want generated graphics on the timeline (optional extra) |
Resolve bridge ( | A small script that runs inside Resolve and passes commands from the server over loopback (HMAC-signed) | Free edition (required) or when external scripting is off |
| Optional Node server that edits | Offline project, timeline and grade file work |
Control panel ( | Local browser UI for inspecting Resolve state and analysis results | Optional |
| Install details, API coverage, workflow guides | Reference |
Local AI: transcription and vision
local_ai(action="status")
local_ai(action="transcribe", params={"clip_name": "A001_C003", "write_srt": true, "add_markers": true})
local_ai(action="describe", params={"path": "/footage/interview.mov", "frames": 4})
local_ai(action="analyze", params={"clip_name": "A001_C003"}) # both at onceTarget: use one of
path(a file),clip_name, orclip_id(a Media Pool clip).Transcribe: uses faster-whisper on CPU, or on CUDA if it's available. You get back text and timed segments. Options:
write_srtsaves an.srtnext to the media.import_srtalso brings that.srtinto the Media Pool.add_markersputs one marker per spoken line on the clip.translate: trueoutputs English.The model downloads once on first use. The default is
base; you can also usetiny,small,medium,large-v3orturbo.
Describe: pulls a few frames (with ffmpeg, or OpenCV as a fallback) and sends them to the vision model loaded in LM Studio (default
http://127.0.0.1:1234/v1) or Ollama. Load a vision model first, for example Qwen2.5-VL, Gemma 3 or LLaVA. If you don't name a model, it picks a loaded vision model automatically.The built-in
media_analysispipeline also uses faster-whisper as its first-choice transcription backend.
Env var | Default | Purpose |
|
| Whisper model size |
|
|
|
|
| Any OpenAI-compatible server ( |
| auto | Which vision model to use |
Install the extras later with venv/bin/pip install -r requirements-local-ai.txt (on Windows, venv\Scripts\pip).
Motion graphics: Remotion + Three.js
This is an optional extra. Install it with python install.py --motion (needs Node 18.18+). The AI picks a template, fills in the props, renders it, and drops the result onto your timeline:
motion_graphics(action="list_templates")
motion_graphics(action="render", params={"template": "LowerThird",
"props": {"name": "Ada Lovelace", "title": "Mathematician"},
"import_to_resolve": true, "track_index": 2, "at_playhead": true})
motion_graphics(action="render", params={"template": "Captions",
"transcript_from": {"clip_name": "A001_C003"}, "import_to_resolve": true})
motion_graphics(action="still", params={"template": "Text3D", "props": {"text": "SEASON 2"}})Template | What it is |
| Overlays with an alpha channel (ProRes 4444) |
| Full-frame cards |
| three.js scenes. Set |
Every template accepts
durationSeconds,fps,widthandheight.Captionscan takesegments, ansrt_path, ortranscript_from. Withtranscript_fromit runslocal_aiWhisper first, then renders word-by-word subtitles.Long renders return a
job_id. Poll it withjob_status. The import onto the timeline happens when the render finishes.studioopens Remotion Studio so you can preview and tweak in the browser. You can also runcd motion-graphics && npm run studio.Claude Code and other shell tools can call the renderer directly:
node motion-graphics/render.mjs --template TitleCard --props '{"title":"Hi"}' --out title.mp4Already have your own Remotion project? Skip the extra and set
DAVINCI_RESOLVE_MCP_MOTION_PROJECT=/path/to/project. The tool will list and render your own compositions with your own Remotion version.To add a template, put a component in
motion-graphics/src/templates/, register it insrc/Root.jsx, and add an entry totemplates.json.Licence: Remotion is free for individuals and companies of up to 3 people. Larger companies need a Remotion company licence. Three.js is MIT.
Env var | Purpose |
| Use your own Remotion project and entry file |
| Where renders go (default |
| Path to a Chrome or Chromium binary, if Remotion's download is blocked |
| WebGL backend: |
LM Studio tips
The installer adds the server as
davinci-resolveto~/.lmstudio/mcp.json. Any other servers already in that file stay as they are. Restart LM Studio after installing.Use a model that's good at tool calling (for example Qwen 2.5/3 or Llama 3.1+ instruct) with a context of 16k or more, because the tool list is large.
You can run a text model for chat and a separate vision model for
local_ai describeat the same time.
Free edition (in-app bridge)
Blackmagic only allows external scripting on Studio. The bridge is a small script that runs inside Resolve (Workspace ▸ Scripts ▸ resolve_bridge) and passes commands from the server over loopback, using HMAC-signed requests with one-time nonces. install.py always installs it. To reinstall it by hand, run python scripts/install_resolve_bridge.py. Once it's running, the server uses it automatically. Set DAVINCI_RESOLVE_BRIDGE=1 to force the server to use only the bridge.
Things to know
Your source media is read-only. Analysis writes only sidecar reports and Resolve metadata. It never re-encodes or changes your camera files.
Free edition, 21.1 and later: Blackmagic moved Python scripting to Studio, so the bridge reliably works only up to 21.0.x on the free edition.
macOS with the free edition: Resolve finds Python only via
PYTHON3HOMEor/usr/local/bin/python3. If the bridge doesn't show up in the Scripts menu, run:launchctl setenv PYTHON3HOME "$(python3 -c 'import sys; print(sys.prefix)')"then restart Resolve. Theresolve_bridge_canaryscript in the menu tells you whether Resolve can see Python.Safety: Risky edits use a plan, review, then confirm flow. Grade copies that would overwrite hand work are refused unless you pass
acknowledge_trap: true.
More docs
Requirements
DaVinci Resolve 18.5 or later (Studio, or the free edition through the bridge)
Python 3.10–3.12 is the safest choice. 3.13+ works on recent Resolve builds.
Optional: ffmpeg, Node 18.18+ (for motion graphics) / 20.9+ (for the advanced offline server)
License
MIT. Original work © DaVinci Resolve MCP Contributors (Samuel Gursky et al.). See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Compose, edit and render video with your AI agent. Turn footage into finished edits with content-aware reframing, word-timed captions and motion graphics. Hosted MCP with OAuth sign-in; cloud processing uses credits.
Remote MCP for AI video, image, music and speech generation.
Direct AI video, image, music and storyboard production from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes the complete DaVinci Resolve scripting API, enabling AI assistants to control DaVinci Resolve programmatically with over 440 tools for project management, timeline editing, color grading, rendering, and more.22MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to control DaVinci Resolve Studio through the official Scripting API, with full API coverage plus workflow helpers for editing, grading, Fusion, Fairlight, and project lifecycle tasks. Includes a compound tool mode for low context usage, a granular 341-tool mode, a local control panel, and an optional advanced offline server for working with Resolve project files.4,323 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to control DaVinci Resolve (Free and Studio) through natural language, providing 162 tools for timeline editing, color grading, rendering, and more. Includes local AI replacements for Studio-only features like voice isolation, background removal, and transcription.1MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to control DaVinci Resolve Studio via MCP, providing full scripting API coverage plus workflow helpers for editing, media organization, rendering, grading, and more.4,323 npmMIT