DaVinci-Resolve-MCP
The DaVinci Resolve MCP server provides 64 tools to control DaVinci Resolve Studio through its official scripting API, enabling extensive automation without UI interaction.
Connection & Project Management: Connect to Resolve, retrieve project info, manage active projects and timelines.
Timeline & Playhead Control: List/switch timelines, move playhead to timecodes or markers, inspect timeline clip under playhead.
Media Pool & Clip Operations: Inspect the media pool recursively, search clips by name, list selected/timeline clips, inspect clip metadata.
Markers: List, add (with name/note/color), and delete timeline markers; jump to markers.
Color Grading & PowerGrades: Copy grades between clips, apply DRX grades, set ASC CDL values, inspect/enable/bypass node trees, manage PowerGrades (register, search, load), and apply preset styles (cinematic, bridal, editorial, dark-moody, music-video, commercial).
Render Queue: List/create render presets, add jobs to the queue, start and monitor renders.
Gallery & Stills: List gallery albums and stills, save stills from the color page, export stills/DRX files.
Capture & References: Export current frame, clip references, before/after comparisons; manage captured artifacts and folders.
Validation: Run comprehensive checks on connection, project, timeline, clip, grading, rendering, and capture support; generate JSON/Markdown reports.
API Limitations Transparency: Clearly indicates operations not supported by the official API (e.g., adding nodes, layer mixers, node labeling).
Provides tools for interacting with DaVinci Resolve, including frame capture, timeline management, grade application via DRX, gallery still operations, and validation of project/timeline/clip state.
Click on "Install 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-MCPcapture the current frame as a still"
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
A 64-tool stdio MCP server for DaVinci Resolve’s documented scripting API. Windows 11 is the primary platform, macOS is supported, and Linux support is best effort. The project does not use UI automation, OCR, simulated input, or undocumented Resolve methods.
Windows Quick Start
Requirements: Windows 11, Python 3.12 or newer, Git, and DaVinci Resolve. Live external control may require Resolve Studio, depending on the installed edition and Blackmagic’s scripting support.
Use a writable source location—not Program Files:
cd "$env:USERPROFILE\Documents\GitHub"
git clone https://github.com/BillyRaz/Davinci-MCP.git
cd Davinci-MCP
.\setup-davinci-mcp.ps1Setup prefers py -3.12, falls back to a compatible python, creates .venv,
installs .[dev], generates the user config, and runs pytest, Ruff, and offline
validation. It never installs packages silently, requests Administrator access,
or changes execution policy globally.
Run and validate:
.\run-davinci-mcp.ps1
.\validate-davinci-mcp.ps1
.\validate-davinci-mcp.ps1 -LiveThe .cmd wrappers provide equivalent double-click entry points. The live option
is read-only and should only be used with Resolve Studio open. Resolve Free
external scripting limitations are reported as warnings/unsupported capability,
not MCP defects.
The parameterized global color-treatment LUT engine is documented in docs/LUT_ENGINE.md.
To create an optional Desktop shortcut:
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\create_windows_shortcut.ps1The script only creates Run DaVinci MCP.lnk; it does not alter security settings.
Related MCP server: DaVinci MCP Professional
Windows Codex and MCP Configuration
Keep executable and argument as separate values. Replace the example clone path:
{
"mcpServers": {
"davinci-resolve": {
"command": "C:\\Users\\YOUR_NAME\\Documents\\GitHub\\Davinci-MCP\\.venv\\Scripts\\python.exe",
"args": [
"C:\\Users\\YOUR_NAME\\Documents\\GitHub\\Davinci-MCP\\server.py"
]
}
}
}For Codex, add the server to the MCP configuration used by your Codex installation;
inspect and preserve existing servers before editing it. Generic stdio and VS
Code-compatible clients can use the same command/args object.
Windows troubleshooting:
“Missing
.venv”: run.\setup-davinci-mcp.ps1.Python not found: install Python 3.12+ with the
pylauncher, then reopen the shell.Resolve connection unavailable: open Resolve Studio and enable local External scripting in Resolve Preferences. Do not change preferences automatically.
Permission errors: clone under Documents or Developer, not
Program Files.Paths are discovered from
ProgramFiles,ProgramData,APPDATA,LOCALAPPDATA, andUSERPROFILE; explicit environment overrides take priority.
macOS Installation
Clone into a user-owned development directory, then use the portable launchers:
mkdir -p "$HOME/Developer"
cd "$HOME/Developer"
git clone https://github.com/BillyRaz/Davinci-MCP.git
cd Davinci-MCP
./setup-davinci-mcp.command
./run-davinci-mcp.commandApple Silicon and Intel are detected automatically. The launcher retains Blackmagic’s official scripting locations:
export RESOLVE_SCRIPT_API="/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting"
export RESOLVE_SCRIPT_LIB="/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Libraries/Fusion/fusionscript.so"
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}$RESOLVE_SCRIPT_API/Modules"RESOLVE_SCRIPT_API accepts either the parent Scripting directory or its direct
Modules directory. A generic/Codex macOS configuration is:
{
"mcpServers": {
"davinci-resolve": {
"command": "/Users/YOUR_NAME/Developer/Davinci-MCP/.venv/bin/python",
"args": ["/Users/YOUR_NAME/Developer/Davinci-MCP/server.py"]
}
}
}Linux Installation (Best Effort)
Linux discovery checks /opt/resolve, /opt/resolve/Developer/Scripting, and
common libraries under /opt/resolve/libs, while honoring all overrides:
./setup-davinci-mcp.sh
./run-davinci-mcp.sh
./validate-davinci-mcp.shLinux paths and launchers are mock-tested, but live Resolve behavior is not claimed as fully validated.
Capture Support
Capture tools export genuine Resolve output only:
capture_current_framecapture_clip_referencecapture_before_after_referencelist_captured_referencesopen_capture_folderdelete_captured_reference
Capture uses documented current-frame export when exposed, Gallery still export/delete as a fallback, or a supported temporary one-frame render path. Pillow is used only to combine already-exported images or calculate technical image-change metrics. A “before” is never claimed unless it was actually captured first.
Every generated file result includes its absolute path. Metadata includes the project, timeline, frame/timecode, timestamp, and actual capture method.
TimelineItem Locks
The playhead is an acquisition tool only. lock_timeline_item (and the compatible
lock_timeline_target name) double-reads the item under the playhead, validates any
confirmed identity, and stores a session-local TimelineItemLock. The stored lock
contains project, timeline, item unique ID, original track/address and frame range,
duration, source identity/path, creation time, and connection generation. It does
not contain the playhead position.
All production capture and grading tools re-resolve the locked item by Resolve unique ID before acting and use its currently resolved track/item address. Moving the playhead, playing, scrubbing, or switching Resolve pages therefore does not invalidate the lock. A project or timeline switch, connection generation change, missing or ambiguous item, explicit release, or server restart does.
queue_timeline_item supports acquiring multiple independent item identities for
future batch workflows. validate_queued_timeline_items resolves the queue without
consulting the playhead. Queue entries are session-local and are not persisted.
The official API does not expose timeline-item selection independently of the playhead, so initial interactive acquisition still uses the item under it. Capture may temporarily move the timeline to export an explicit frame and then restore the editor's timecode; this does not change which TimelineItem is locked.
Validation
Offline validation checks Python, dependencies, platform discovery, scripting paths, native library, writable output, config, presets, and MCP registration. Live validation additionally inspects the read-only connection/project/timeline/ clip/Gallery/render capabilities. It does not apply grades, start renders, or change the active timeline.
Reports use passed, warning, failed, skipped, and unsupported, and are
written as JSON and Markdown with timestamped copies.
Configuration and Output Paths
Default config:
Platform | Config |
Windows |
|
macOS |
|
Linux |
|
Default output root:
Platform | Output |
Windows |
|
macOS |
|
Linux |
|
Each root contains captures, comparisons, validation, logs, reports,
presets, and cache.
Older macOS artifacts at
/Applications/DaVinci Resolve/davinci-mcp/output are left untouched. Copy wanted
files manually into the new Application Support subdirectories; no automatic move
or deletion occurs.
Environment variables override TOML configuration:
DAVINCI_RESOLVE_HOMERESOLVE_SCRIPT_APIRESOLVE_SCRIPT_LIBDAVINCI_MCP_OUTPUT_DIRDAVINCI_MCP_PRESET_DIRDAVINCI_MCP_LOG_LEVELDAVINCI_MCP_CONNECTION_MODEDAVINCI_MCP_CAPTURE_FORMATDAVINCI_MCP_TEMP_RENDER_DIRDAVINCI_MCP_CONNECTION_TIMEOUTDAVINCI_MCP_RENDER_TIMEOUT
Discovery priority is explicit override, existing discovered installation, known platform default, then a clear validation failure when the selected path is absent.
Development and Testing
python3.12 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'
.venv/bin/python -m pytest
.venv/bin/python -m ruff check .
.venv/bin/python scripts/offline_validate.pyOn Windows, replace .venv/bin/python with
.venv\Scripts\python.exe. GitHub Actions runs Python 3.12 tests and Ruff on
Windows, macOS, and Ubuntu without attempting a live Resolve connection.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityBmaintenanceA Model Context Protocol server that enables AI assistants like Claude to interact with DaVinci Resolve Studio, providing advanced control over editing, color grading, audio, and other video production tasks.Last updated17
- AlicenseAqualityCmaintenanceA professional implementation of a Model Context Protocol server that enables integration between DaVinci Resolve video editing software and AI assistants like Claude Desktop or Cursor.Last updated1322GPL 3.0
- Alicense-qualityAmaintenanceExposes 20 tools for project, media, render, and timeline control in DaVinci Resolve 18+ via stdio MCP, enabling AI agents to operate the software through natural language.Last updated46MIT
- Alicense-qualityFmaintenanceComprehensive MCP server for DaVinci Resolve with 295+ tools to control projects, timelines, editing, color grading, rendering, and more via natural language.Last updated3MIT
Related MCP Connectors
MCP server for the FFmpeg Micro video transcoding API — create, monitor, download transcodes.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for interacting with the Supabase platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BillyRaz/Davinci-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server