by samuelgursky
MCP server integration for DaVinci Resolve Studio
# Add to your Claude Code skills
git clone https://github.com/samuelgursky/davinci-resolve-mcpGuides for using mcp servers skills like davinci-resolve-mcp.
Last scanned: 5/3/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-03T06:26:45.766Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}davinci-resolve-mcp is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by samuelgursky. MCP server integration for DaVinci Resolve Studio. It has 1,546 GitHub stars.
Yes. davinci-resolve-mcp passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/samuelgursky/davinci-resolve-mcp" and add it to your Claude Code skills directory (see the Installation section above).
davinci-resolve-mcp is primarily written in Python. It is open-source under samuelgursky on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh davinci-resolve-mcp against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
A Model Context Protocol (MCP) server that lets AI assistants control DaVinci Resolve Studio through the official Scripting API. It provides full API coverage plus guarded workflow helpers for editing, media pool organization, render setup, review markers, grading, Fusion, Fairlight, project lifecycle tasks, extension authoring, and source-safe media analysis.
A local browser control panel ships with the server for inspecting Resolve state, running source-safe analysis, drilling into analyzed clips and shots, and editing analysis output inline. See the Control Panel Guide for the full tour.
npx davinci-resolve-mcp setup
Before connecting, open DaVinci Resolve Studio and set Preferences > General > External scripting using to Local. The npm launcher installs a managed copy under your user application-data directory, then runs the universal Python installer. The installer creates a virtual environment, detects Resolve paths, and can configure Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Zed, Continue, Cline, Roo Code, OpenCode, and JetBrains IDEs.
For source installs:
git clone https://github.com/samuelgursky/davinci-resolve-mcp.git
cd davinci-resolve-mcp
python install.py
For platform paths, client-specific config, and manual setup, see Installation and Configuration.
The installer and server check the latest GitHub release for MCP updates. Checks are best-effort and throttled; the server never blocks MCP startup for a prompt. The installer can prompt, snooze, ignore a release, disable checks, or apply an opt-in safe auto-update for clean git checkouts.
Launch the single-user local control panel from the repository root:
venv/bin/python -m src.control_panel
The command starts a localhost server and opens the control panel in your browser. To have an AI coding agent do this, ask: "Open the Resolve MCP control panel for this repo." Agents should use venv/bin/python -m src.control_panel unless your Python environment is already active. Persisted analysis jobs refresh the local search index automatically after successful slices; the manual Build Index action is for rebuilding from existing reports.
| Mode | Entry point | Tools | Best for |
|---|---|---|---|
| Compound | src/server.py |
34 | Default mode for most assistants. Related Resolve operations are grouped behind action parameters to keep context usage low. |
| Full / granular | src/server.py --full or src/resolve_mcp_server.py |
341 | Power users who want one MCP tool per Resolve API method. |
The compound server is recommended unless you specifically need the granular one-tool-per-method surface.
The same package ships a second, optional MCP server: davinci-resolve-advanced-mcp (bin
bin/davinci-resolve-advanced-mcp.mjs). Where the Python server drives a live Resolve over the
sanctioned scripting API, the advanced server does what the API can't — it reads and edits Resolve
files (.drp / .drt / .drx) and applies DB/XML-level changes with no Resolve running, so it
runs cloud or local. 18 tools: drp, drt, drx (per-clip grade codec plus a deterministic,
offline grading/QC catalog — within-camera + cross-camera skin (v2 skin-line metric) + b-roll +
neutral-patch WB matching, match-to-reference, saturation/black-balance, contrast-normalize, ASC CDL
import, lossless grade-transfer + season-look authoring, named-LUT attach, scope reads + intent tags,
verify-grade, display-referred frame extraction, broadcast-legal QC), offline_ref,
conform (frame-oracle conform/relink QC + lineage), color_trace (carry grades across a re-conform),
fusion, audio_plan, fairlight (bus routing), audio, project_read, project_db, pipeline
(a DB-as-truth pipeline: compile YAML project specs into a canonical SQLite DB, then run stages with
gates, provenance, and intent↔actual drift detection), capabilities, deliverable (deliverable QC /
compliance), media (media front-end / AE ingest), editorial (editorial integrity / changelist),
provenance (provenance / audit / episode report). It can also be consumed as a
library (importable engine API), not just spawned as a server.
DRX grade writes are live-calibrated against Resolve Studio: grade params take Resolve's
on-screen panel units by default (space: 'ui' | 'drx'), and the structural writes (power windows,
qualifiers, HDR zones, HSL curves, ColorSlice, blur/key/motion-effects) are panel-readback-verified —
per-control status in resolve-advanced/vendor/drx-parameters/CALIBRATION-STATUS.md. It also closes
a UI-only gap: programmatic "Cleanup Node Graph" (drx relayout for one clip, project_db
relayout_node_graphs for a whole project) — node layout tidied, grade content byte-preserved.
Add it alongside the live server (both ship in one npm install):
{
"mcpServers": {
"davinci-resolve": { "command": "<python>", "args": ["<path>/src/server.py"] },
"davinci-resolve-advanced": { "command": "node", "args": ["<path>/bin/davinci-resolve-advanced-mcp.mjs"] }
}
}
install.py prints both entries. The core is pure-JS/MIT with no required native modules; a few features
need user-installed tools (ffmpeg for audio, sharp/better-sqlite3 for some paths) — call the
capabilities tool for live status and install hints.
The maintainers also build Bradford Post Assistant, a desktop application on top of this open foundation. Where the MCP servers give an agent hands, Post Assistant is the working copilot around them — an on-device AI assistant for post-production where client material never leaves the workstation:
It is currently in closed beta — you can request access at bradfordoperations.com/software/post-assistant. The open-source servers are complete and fully functional on their own.
"List all projects and open the one called 'My Film'"
"Create a timeline called 'Assembly Cut' from all clips in the current bin"
"Build a multicam prep timeline from selected camera angles and preserve source media"
"Detect 2-pops or slate claps and suggest record offsets for sync prep"
"Publish analysis summaries, keywords, people, and slate hints into Resolve clip metadata"
"Probe this timeline for gaps, overlaps, missing media, and source frame ranges"
"Safely import this image sequence, organize it into bins, and normalize clip metadata"
"Build a ProRes 422 HQ render plan, validate the settings, and queue the job"
"Copy review markers from the timeline to the selected clip and export a review report"
"Snapshot this clip's grade, validate a CDL update, and export a temp LUT"
"Create a Fusion TextPlus overlay on the selected clip and verify graph connections"
"Report audio channel mappings, voice isolation availability, and subtitle support"
"Install this MCP-marked DCTL or script, classify refresh/restart needs, then remove