DaVinci Resolve MCP Server
Provides 189 tools across 12 domains to control DaVinci Resolve from any MCP-compatible client, including playback, project management, media, timelines, color grading, rendering, Fusion, gallery, and Fairlight.
README
DaVinci Resolve MCP Server
The most complete MCP server for DaVinci Resolve's Scripting API. Control projects, timelines, media, color grading, rendering, and more from any MCP-compatible client.
Features
- 189 tools across 12 domains (playback, project, media storage, media pool, clips, timelines, timeline items, render, color, Fusion, gallery, Fairlight)
- 3 resources for quick context (
resolve://system,resolve://project,resolve://timeline) - Complete API coverage of the DaVinci Resolve Scripting API (Phases 1-3)
- Pydantic v2 models for type-safe inputs and outputs
- Pagination for large clip and timeline item lists
- Auto-reconnect if Resolve restarts or becomes unresponsive
- Platform auto-detection for macOS, Windows, and Linux
Requirements
- DaVinci Resolve 18+ (Free or Studio)
- Python 3.11+
- macOS, Windows, or Linux
Quick Start
Install from PyPI
pip install davinci-resolve-mcp
Or with uv:
uv pip install davinci-resolve-mcp
Claude Desktop Configuration
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"davinci-resolve": {
"command": "davinci-resolve-mcp"
}
}
}
Then restart Claude Desktop. DaVinci Resolve must be running for tools to work.
See docs/CLAUDE_DESKTOP.md for a detailed setup guide with troubleshooting.
Development Setup
git clone https://github.com/luquimbo/davinci-resolve-mcp.git
cd davinci-resolve-mcp
uv sync --dev
uv run davinci-resolve-mcp
Verify Your Setup
python scripts/check_resolve.py
This prints Resolve version, current project, and timeline info to confirm the scripting bridge is working.
Tool Domains
| Domain | Module | Tools | Description |
|---|---|---|---|
| Playback | playback |
7 | Page navigation, timecode, playhead position, version info |
| Project | project |
21 | CRUD, settings, import/export (.drp), database folders, archive/restore, DB list |
| Media Storage | media_storage |
4 | Browse mounted volumes, list files, import to media pool |
| Media Pool | media_pool |
14 | Folder CRUD, clip management, timeline creation, metadata export |
| Clips | media_pool_item |
21 | Clip metadata, properties, colors, markers, flags, proxy, transcription, replace |
| Timeline | timeline |
29 | CRUD, tracks, items, markers, export (AAF/EDL/FCPXML), compound/Fusion clips, scene detection, auto-subtitles, settings |
| Timeline Items | timeline_item |
27 | Transform, crop, composite, color, markers, flags, takes, unique ID, stabilize, smart reframe, nodes |
| Render | render |
14 | Formats, codecs, presets, job queue, start/stop, progress monitoring |
| Color | color |
24 | Nodes, LUTs, CDL, grade versions, DRX application, color groups, node labels |
| Fusion | fusion |
11 | Compositions CRUD, generators, titles, tool listing |
| Gallery | gallery |
14 | Still albums, grab/import/export stills, PowerGrades, grade application |
| Fairlight | fairlight |
3 | Audio insertion, presets listing, preset application |
Resources (read-only context, no tool call needed):
| URI | Description |
|---|---|
resolve://system |
Resolve version, product name, current page |
resolve://project |
Project name, timeline count, resolution, frame rate |
resolve://timeline |
Timeline name, frame range, track counts, timecode |
Architecture
src/davinci_resolve_mcp/
server.py FastMCP instance, registers all modules, CLI entry point
resolve_api.py Lazy singleton with platform auto-detection and health checks
models.py Pydantic models (CDLValues for ASC color correction)
constants.py Enums for pages, track types, clip colors, marker colors, export types
exceptions.py ResolveNotRunning, ResolveOperationFailed
tools/
playback.py Page navigation, timecode, version
project.py Project CRUD, settings, folders, import/export
media_storage.py Volume browsing, file listing, import
media_pool.py Folder CRUD, clip management, timeline creation
media_pool_item.py Clip metadata, properties, markers, flags
timeline.py Timeline CRUD, tracks, items, markers
timeline_item.py Transform, crop, composite, color, markers
render.py Formats, codecs, presets, jobs, rendering
color.py Nodes, LUTs, CDL, versions, groups
fusion.py Compositions, generators, titles
gallery.py Stills, albums, PowerGrades
fairlight.py Audio insertion, presets
resources/
system_info.py resolve://system
project_info.py resolve://project
timeline_info.py resolve://timeline
Key patterns:
- Lazy singleton (
ResolveAPI): Connects to Resolve on first access, not at import time. AGetVersion()health check runs on every access to detect stale references and reconnect automatically. - One module per domain: Each tool module exports a
register(mcp)function that decorates tool functions with@mcp.tool(). - Defensive error handling: Every API call catches
AttributeError(stale scripting bridge) and re-raises asResolveNotRunning. Version-specific methods are wrapped so missing APIs return clear errors instead of crashes. - Pagination: Large lists (clips, timeline items) support
offsetandlimitparameters, returninghas_moreto signal additional pages.
See docs/ARCHITECTURE.md for the full design document.
Testing
# Unit tests (no Resolve needed)
uv run pytest
# Integration tests (requires Resolve running)
uv run pytest -m integration
Scope
All 189 tools ship in v0.1.0 — covering core editing, color grading, Fusion compositions, gallery stills, Fairlight audio, timeline export, compound clips, transcription, takes management, scene detection, auto-subtitles, stabilization, smart reframe, project archival, and database management.
Auto-Generated Tool Reference
Run the following to generate a complete tool reference from the registered MCP tools:
python scripts/generate_tool_docs.py
This creates docs/TOOLS.md with every tool name, description, parameters, and return type grouped by domain.
Contributing
See CONTRIBUTING.md.
License
MIT. See LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.