DaVinci Resolve MCP Server
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.
Quick Start
git clone https://github.com/samuelgursky/davinci-resolve-mcp.git
cd davinci-resolve-mcp
python install.py
Before connecting, open DaVinci Resolve Studio and set Preferences > General > External scripting using to Local. 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, and JetBrains IDEs.
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.
Server Modes
| Mode | Entry point | Tools | Best for |
|---|---|---|---|
| Compound | src/server.py | 32 | 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 | 329 | 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.
What You Can Do
"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 it"
Core Capabilities
| Area | What the compound server supports |
|---|---|
| App and project control | Launch/reconnect, page switching, project CRUD, project folders, databases, cloud project wrappers, settings, presets, archives |
| Media pool and ingest | Safe import, image sequences, multicam prep timelines, bin organization, metadata normalization, metadata field inventory, marks, annotations, relink/proxy/full-resolution guards |
| Media analysis | Source-safe file/clip/bin/project analysis, 2-pop/slate-clap sync-event detection, confirmed Resolve metadata publishing, session-only defaults, existing-report reuse, chat-context visual analysis by default in analyze_media with opt-out, optional transcription |
| Timeline editing and conform | Track/item probing, title text key scans/writes, copy/move/duplicate helpers, range operations, gaps/overlaps, source ranges, checked interchange exports/imports |
| Review annotations | Timeline/item/clip markers, custom data, flags, clip color, copy/move/sync cleanup, review reports, marker thumbnail review |
| Color and grading | Node graph probing, CDL validation, grade copy, DRX/LUT helpers, versions, Gallery stills, color groups |
| Fusion | Timeline-item comps, safe tool creation, input writes, port inspection, validated connections, scoped bulk writes |
| Audio and Fairlight | Track/item probes, source mapping, guarded audio property writes, voice isolation, auto-sync planning, transcription/subtitle probes |
| Render and deliver | Format/codec matrix probing, render settings validation, queued job lifecycle checks, guarded Quick Export |
| Extension authoring | Fuse, DCTL, ACES DCTL, and Resolve-page Lua/Python script lifecycle helpers with safe MCP-marked install/remove |
Source Media Safety
This project treats camera originals and source media as immutable. Analysis tools read source files and write reports only to sidecar, scratch, or project analysis directories; confirmed metadata publishing writes only to Resolve's project database. The server must not modify, transcode, proxy, or create derivatives of source media unless the user explicitly asks for that. See Media Analysis Guide for the detailed source-safe workflow.
Security Posture
The default server is a local stdio process launched by your MCP client; it does not expose a network listener or built-in multi-user auth surface. Tool metadata includes MCP client-safety hints for read-only, destructive, idempotent, and external-resource operations. See Security Policy for operational boundaries, confirmation guidance, and vulnerability reporting.
Key Stats
| Metric | Value |
|---|---|
| MCP Tools | 32 compound / 329 granular |
| Kernel Actions | 136 guarded workflow actions across 9 compound tools |
| API Methods Covered | 336/336 (100%) |
| Methods Live Tested | 331/336 (98.5%) |
| Live Test Pass Rate | 331/331 (100%) |
| Tested Against | DaVinci Resolve 19.1.3 Studio + Resolve 20.3.2 Studio |
For method-by-method status, see API Coverage and Test Results. For current workflow support, see Kernel Action Coverage.
analyze_media uses in-chat visual analysis by default when the MCP client supports sampling/image messages. Pass include_visuals=false for technical-only or privacy-sensitive runs. If in-chat vision is unavailable, analysis continues with local technical/motion evidence and reports the skipped visual layer. media_analysis.publish_clip_metadata can publish confirmed analysis summaries, comments, keywords, people, and high-confidence slate fields back to Resolve clip metadata while preserving existing human-entered fields by default.
Documentation
| Document | Use it for |
|---|---|
| Installation and Configuration | Requirements, installer options, supported clients, server modes, manual config |
| API Coverage and Test Results | Key stats, API coverage table, live-test status, full method reference |
| Kernel Action Coverage | Current guarded workflow action map |
| AI Skill Reference | Operational context for AI assistants using the compound server |
| Media Analysis Guide | Source-safe FFprobe, FFmpeg, Whisper, sidecar, and analysis-root workflows |
| Multicam Setup Helper Guide | Stacked timeline prep, helper/API boundary, and Resolve UI conversion steps |
| Editorial Decision Guide | Project-owned editorial craft guidance for analysis and timeline decisions |
| Color Decision Guide | Project-owned color correction guidance and Resolve color API boundaries |
| Contributing and Project Layout | Contribution workflow, platform support, security notes, repository structure |
| Security Policy | Local stdio trust boundary, tool metadata, confirmation guidance, reporting |
| Release Process | Maintainer release checklist, version surfaces, validation, tags, and release notes |
| Changelog | Historical release notes |
Extension authoring references live in docs/authoring. Resolve developer-package notes live in docs/notes and docs/integrations. Prompt recipes live in examples.
Requirements
- DaVinci Resolve Studio 18.5+ on macOS, Windows, or Linux. The free edition does not support external scripting.
- Python 3.10-3.12 recommended. Python 3.13+ may have ABI incompatibilities with Resolve's scripting library.
- Resolve external scripting set to Local.
Resolve 19.1.3 remains the compatibility baseline. Resolve 20.x scripting calls are additive, version-guarded, and live-tested on 20.3.2. Resolve 21 beta APIs are intentionally deferred until stable.
Development
python src/server.py # Compound server
python src/server.py --full # Granular server
venv/bin/python tests/test_import.py
venv/bin/python scripts/audit_api_parity.py
Release and validation rules are in docs/process/release-process.md. AI agents working in this repository should start with AGENTS.md; Claude Code users can also read CLAUDE.md, which points to the same canonical instructions.
License
MIT
Author
Samuel Gursky (samgursky@gmail.com)
- GitHub: github.com/samuelgursky
Acknowledgments
- Blackmagic Design for DaVinci Resolve and its scripting API
- The Model Context Protocol team for enabling AI assistant integration
- Anthropic for Claude Code, used extensively in development and testing