Enables AI assistants to control and query DaVinci Resolve through natural language, providing project management, timeline operations, media pool management, marker creation, and page switching capabilities
DaVinci Resolve MCP Server
A Model Context Protocol (MCP) server that connects AI coding assistants (Cursor, Claude Desktop) to DaVinci Resolve, enabling them to query and control DaVinci Resolve through natural language.
Features
For a comprehensive list of implemented and planned features, see docs/FEATURES.md.
Requirements
macOS or Windows with DaVinci Resolve installed
Python 3.6+
DaVinci Resolve running in the background
(Optional) Node.js/npm for some features
Installation Guide
For detailed installation instructions, please see INSTALL.md. This guide covers:
Prerequisites and system requirements
Step-by-step installation process
Configuration details
Common troubleshooting steps
Platform Support
Platform | Status | One-Step Install | Quick Start |
macOS | ✅ Stable |
|
|
Windows | ✅ Stable |
|
|
Linux | ❌ Not supported | N/A | N/A |
Quick Start Guide
New One-Step Installation (Recommended)
The easiest way to get started is with our new unified installation script. This script does everything automatically:
Clone the repository:
git clone https://github.com/samuelgursky/davinci-resolve-mcp.git cd davinci-resolve-mcpMake sure DaVinci Resolve Studio is installed and running
Run the installation script: macOS/Linux:
./install.shWindows:
install.bat
This will:
Automatically detect the correct paths on your system
Create a Python virtual environment
Install the MCP SDK from the official repository
Set up environment variables
Configure Cursor/Claude integration
Verify the installation is correct
Optionally start the MCP server
Alternative Quick Start
You can also use the original quick start scripts:
Windows Users:
macOS Users:
Configuration
For configuration of DaVinci Resolve MCP with different AI assistant clients like Cursor or Claude, see the config-templates directory.
Troubleshooting
For detailed troubleshooting guidance, refer to the INSTALL.md file which contains solutions to common issues.
Common Issues
Path Resolution
The installation scripts now use more robust path resolution, fixing issues with
run-now.sh
looking for files in the wrong locationsAlways let the scripts determine the correct paths based on their location
DaVinci Resolve Detection
We've improved the process detection to reliably find DaVinci Resolve regardless of how it appears in the process list
Make sure DaVinci Resolve is running before starting the MCP server
Environment Variables
Make sure all required environment variables are set correctly
Review the log file at
scripts/cursor_resolve_server.log
for troubleshooting
Windows
Make sure to use forward slashes (/) in configuration files
Python must be installed and paths configured in configs
DaVinci Resolve must be running before starting the server
macOS
Make sure scripts have execute permissions
Check Console.app for any Python-related errors
Verify environment variables are set correctly
DaVinci Resolve must be running before starting the server
Support
For issues and feature requests, please use the GitHub issue tracker.
Launch Options
After installation, you have several ways to start the server:
Client-Specific Launch Scripts
The repository includes dedicated scripts for launching with specific clients:
These specialized scripts:
Set up the proper environment for each client
Verify DaVinci Resolve is running
Configure client-specific settings
Start the MCP server with appropriate parameters
Pre-Launch Check
Before connecting AI assistants, verify your environment is properly configured:
These scripts will:
Verify DaVinci Resolve is running (and offer to start it)
Check environment variables are properly set
Ensure the Python environment is configured correctly
Validate Cursor/Claude configuration
Optionally launch Cursor
Universal Launcher
For advanced users, our unified launcher provides full control over both Cursor and Claude Desktop servers:
Additional options:
Force mode (skip Resolve running check):
--force
Project selection:
--project "Project Name"
Full Installation
For a complete manual installation:
Clone this repository:
git clone https://github.com/samuelgursky/davinci-resolve-mcp.git cd davinci-resolve-mcpCreate a Python virtual environment:
# Create virtual environment python -m venv venv # Activate it # On macOS/Linux: source venv/bin/activate # On Windows: venv\Scripts\activate # Install dependencies from requirements.txt pip install -r requirements.txt # Alternatively, install MCP SDK directly pip install git+https://github.com/modelcontextprotocol/python-sdk.gitSet up DaVinci Resolve scripting environment variables:
For macOS:
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:$RESOLVE_SCRIPT_API/Modules/"For Windows:
set RESOLVE_SCRIPT_API=C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support\Developer\Scripting set RESOLVE_SCRIPT_LIB=C:\Program Files\Blackmagic Design\DaVinci Resolve\fusionscript.dll set PYTHONPATH=%PYTHONPATH%;%RESOLVE_SCRIPT_API%\ModulesAlternatively, run the pre-launch check script which will set these for you:
# On macOS ./scripts/check-resolve-ready.sh # On Windows ./scripts/check-resolve-ready.batConfigure Cursor to use the server by creating a configuration file:
For macOS (
~/.cursor/mcp.json
):{ "mcpServers": { "davinci-resolve": { "name": "DaVinci Resolve MCP", "command": "/path/to/your/venv/bin/python", "args": [ "/path/to/your/davinci-resolve-mcp/src/main.py" ] } } }For Windows (
%APPDATA%\Cursor\mcp.json
):{ "mcpServers": { "davinci-resolve": { "name": "DaVinci Resolve MCP", "command": "C:\\path\\to\\venv\\Scripts\\python.exe", "args": ["C:\\path\\to\\davinci-resolve-mcp\\src\\main.py"] } } }Start the server using one of the client-specific scripts:
# For Cursor ./scripts/mcp_resolve-cursor_start # For Claude Desktop ./scripts/mcp_resolve-claude_start
Usage with AI Assistants
Using with Cursor
Start the Cursor server using the dedicated script:
./scripts/mcp_resolve-cursor_startOr use the universal launcher:
./scripts/mcp_resolve_launcher.sh --start-cursorStart Cursor and open a project.
In Cursor's AI chat, you can now interact with DaVinci Resolve. Try commands like:
"What version of DaVinci Resolve is running?"
"List all projects in DaVinci Resolve"
"Create a new timeline called 'My Sequence'"
"Add a marker at the current position"
Using with Claude Desktop
Create a
claude_desktop_config.json
file in your Claude Desktop configuration directory using the template in theconfig-templates
directory.Run the Claude Desktop server using the dedicated script:
./scripts/mcp_resolve-claude_startOr use the universal launcher:
./scripts/mcp_resolve_launcher.sh --start-claudeIn Claude Desktop, you can now interact with DaVinci Resolve using the same commands as with Cursor.
Available Features
General
Get DaVinci Resolve version
Get/switch current page (Edit, Color, Fusion, etc.)
Project Management
List available projects
Get current project name
Open project by name
Create new project
Save current project
Timeline Operations
List all timelines
Get current timeline info
Create new timeline
Switch to timeline by name
Add marker to timeline
Media Pool Operations
List media pool clips
Import media file
Create media bin
Add clip to timeline
Windows Support Notes
Windows support is stable in v1.3.3 and should not require additional troubleshooting:
Ensure DaVinci Resolve is installed in the default location
Environment variables are properly set as described above
Windows paths may require adjustment based on your installation
For issues, please check the logs in the
logs/
directory
Troubleshooting
DaVinci Resolve Connection
Make sure DaVinci Resolve is running before starting the server. If the server can't connect to Resolve, check that:
Your environment variables are set correctly
You have the correct paths for your DaVinci Resolve installation
You have restarted your terminal after setting environment variables
Project Structure
License
MIT
Acknowledgments
Blackmagic Design for DaVinci Resolve and its API
The MCP protocol team for enabling AI assistant integration
Author
Samuel Gursky (samgursky@gmail.com)
GitHub: github.com/samuelgursky
Future Plans
Windows and Linux support
Additional DaVinci Resolve features
Support for Claude Desktop
Development
If you'd like to contribute, please check the feature checklist in the repo and pick an unimplemented feature to work on. The code is structured with clear sections for different areas of functionality.
License
MIT
Acknowledgments
Blackmagic Design for DaVinci Resolve and its API
The MCP protocol team for enabling AI assistant integration
Project Structure
After cleanup, the project has the following structure:
resolve_mcp_server.py
- The main MCP server implementationrun-now.sh
- Quick start script that handles setup and runs the serversetup.sh
- Complete setup script for installationcheck-resolve-ready.sh
- Pre-launch check to verify DaVinci Resolve is readystart-server.sh
- Script to start the serverrun-server.sh
- Simplified script to run the server directly
Key Directories:
src/
- Source code and modulesassets/
- Project assets and resourceslogs/
- Log files directoryscripts/
- Helper scripts
When developing, it's recommended to use ./run-now.sh
which sets up the environment and launches the server in one step.
Changelog
See docs/CHANGELOG.md for a detailed history of changes.
Cursor-Specific Setup
When integrating with Cursor, follow these specific steps:
Make sure DaVinci Resolve is running before starting Cursor
Install required dependencies:
# From the davinci-resolve-mcp directory: pip install -r requirements.txtNote: This will install the MCP package and other dependencies automatically.
Set up the MCP server configuration in Cursor:
Create or edit
~/.cursor/mcp.json
on macOS (or%USERPROFILE%\.cursor\mcp.json
on Windows):{ "mcpServers": { "davinci-resolve": { "name": "DaVinci Resolve MCP", "command": "/path/to/your/venv/bin/python", "args": [ "/path/to/your/davinci-resolve-mcp/src/main.py" ] } } }Important Notes:
Use
main.py
as the entry point (notresolve_mcp_server.py
)Use absolute paths in the configuration
Common issues:
"Client closed" error: Check that paths are correct in mcp.json and dependencies are installed
Connection problems: Make sure DaVinci Resolve is running before starting Cursor
Environment variables: The main.py script will handle setting environment variables
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Connects AI coding assistants (Cursor, Claude Desktop) to DaVinci Resolve, enabling control of video editing workflows through natural language commands for project management, timeline operations, and media pool tasks.
- Features
- Requirements
- Installation Guide
- Platform Support
- Quick Start Guide
- Configuration
- Troubleshooting
- Support
- Launch Options
- Full Installation
- Usage with AI Assistants
- Available Features
- Windows Support Notes
- Troubleshooting
- Project Structure
- License
- Acknowledgments
- Author
- Future Plans
- Development
- License
- Acknowledgments
- Project Structure
- Changelog