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. For a comprehensive list of implemented and planned features, see docs/FEATURES.md. - macOS or Windows with DaVinci Resolve installed - Python 3.6+ - DaVinci Resolve running in the background - (Optional)
Add this skill
npx mdskills install samuelgursky/davinci-resolve-mcpComprehensive MCP server enabling AI control of DaVinci Resolve with excellent cross-platform support and detailed setup guidance
1# DaVinci Resolve MCP Server23[](https://github.com/samuelgursky/davinci-resolve-mcp/releases)4[](https://www.blackmagicdesign.com/products/davinciresolve)5[](https://www.python.org/downloads/)6[](https://www.apple.com/macos/)7[](https://www.microsoft.com/windows)8[](https://opensource.org/licenses/MIT)910A 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.1112## Features1314For a comprehensive list of implemented and planned features, see [docs/FEATURES.md](docs/FEATURES.md).1516## Requirements1718- **macOS** or **Windows** with DaVinci Resolve installed19- **Python 3.6+**20- DaVinci Resolve running in the background21- (Optional) Node.js/npm for some features2223## Installation Guide2425For detailed installation instructions, please see [INSTALL.md](INSTALL.md). This guide covers:26- Prerequisites and system requirements27- Step-by-step installation process28- Configuration details29- Common troubleshooting steps3031## Platform Support3233| Platform | Status | One-Step Install | Quick Start |34|----------|--------|------------------|-------------|35| macOS | ✅ Stable | `./install.sh` | `./run-now.sh` |36| Windows | ✅ Stable | `install.bat` | `run-now.bat` |37| Linux | ❌ Not supported | N/A | N/A |3839## Quick Start Guide4041### New One-Step Installation (Recommended)4243The easiest way to get started is with our new unified installation script. This script does everything automatically:4445- Clone the repository:46 ```bash47 git clone https://github.com/samuelgursky/davinci-resolve-mcp.git48 cd davinci-resolve-mcp49 ```5051- Make sure DaVinci Resolve Studio is installed and running5253- Run the installation script:54 **macOS/Linux:**55 ```bash56 ./install.sh57 ```5859 **Windows:**60 ```batch61 install.bat62 ```6364This will:651. Automatically detect the correct paths on your system662. Create a Python virtual environment673. Install the MCP SDK from the official repository684. Set up environment variables695. Configure Cursor/Claude integration706. Verify the installation is correct717. Optionally start the MCP server7273### Alternative Quick Start7475You can also use the original quick start scripts:7677**Windows Users:**78```bash79run-now.bat80```8182**macOS Users:**83```bash84chmod +x run-now.sh85./run-now.sh86```8788## Configuration8990For configuration of DaVinci Resolve MCP with different AI assistant clients like Cursor or Claude, see the [config-templates](config-templates) directory.9192## Troubleshooting9394For detailed troubleshooting guidance, refer to the [INSTALL.md](INSTALL.md#troubleshooting) file which contains solutions to common issues.9596### Common Issues9798#### Path Resolution99- The installation scripts now use more robust path resolution, fixing issues with `run-now.sh` looking for files in the wrong locations100- Always let the scripts determine the correct paths based on their location101102#### DaVinci Resolve Detection103- We've improved the process detection to reliably find DaVinci Resolve regardless of how it appears in the process list104- Make sure DaVinci Resolve is running before starting the MCP server105106#### Environment Variables107- Make sure all required environment variables are set correctly108- Review the log file at `scripts/cursor_resolve_server.log` for troubleshooting109110### Windows111- Make sure to use forward slashes (/) in configuration files112- Python must be installed and paths configured in configs113- DaVinci Resolve must be running before starting the server114115### macOS116- Make sure scripts have execute permissions117- Check Console.app for any Python-related errors118- Verify environment variables are set correctly119- DaVinci Resolve must be running before starting the server120121## Support122123For issues and feature requests, please use the GitHub issue tracker.124125## Launch Options126127After installation, you have several ways to start the server:128129### Client-Specific Launch Scripts130131The repository includes dedicated scripts for launching with specific clients:132133```bash134# For Cursor integration (macOS)135chmod +x scripts/mcp_resolve-cursor_start136./scripts/mcp_resolve-cursor_start137138# For Claude Desktop integration (macOS)139chmod +x scripts/mcp_resolve-claude_start140./scripts/mcp_resolve-claude_start141```142143These specialized scripts:144- Set up the proper environment for each client145- Verify DaVinci Resolve is running146- Configure client-specific settings147- Start the MCP server with appropriate parameters148149### Pre-Launch Check150151Before connecting AI assistants, verify your environment is properly configured:152153```bash154# On macOS155./scripts/check-resolve-ready.sh156157# On Windows158./scripts/check-resolve-ready.bat159```160161These scripts will:162- Verify DaVinci Resolve is running (and offer to start it)163- Check environment variables are properly set164- Ensure the Python environment is configured correctly165- Validate Cursor/Claude configuration166- Optionally launch Cursor167168### Universal Launcher169170For advanced users, our unified launcher provides full control over both Cursor and Claude Desktop servers:171172```bash173# Make the script executable (macOS only)174chmod +x scripts/mcp_resolve_launcher.sh175176# Run in interactive mode177./scripts/mcp_resolve_launcher.sh178179# Or use command line options180./scripts/mcp_resolve_launcher.sh --start-cursor # Start Cursor server (uses mcp_resolve-cursor_start)181./scripts/mcp_resolve_launcher.sh --start-claude # Start Claude Desktop server (uses mcp_resolve-claude_start)182./scripts/mcp_resolve_launcher.sh --start-both # Start both servers183./scripts/mcp_resolve_launcher.sh --stop-all # Stop all running servers184./scripts/mcp_resolve_launcher.sh --status # Show server status185```186187Additional options:188- Force mode (skip Resolve running check): `--force`189- Project selection: `--project "Project Name"`190191## Full Installation192193For a complete manual installation:1941951. Clone this repository:196 ```bash197 git clone https://github.com/samuelgursky/davinci-resolve-mcp.git198 cd davinci-resolve-mcp199 ```2002012. Create a Python virtual environment:202 ```bash203 # Create virtual environment204 python -m venv venv205206 # Activate it207 # On macOS/Linux:208 source venv/bin/activate209 # On Windows:210 venv\Scripts\activate211212 # Install dependencies from requirements.txt213 pip install -r requirements.txt214215 # Alternatively, install MCP SDK directly216 pip install git+https://github.com/modelcontextprotocol/python-sdk.git217 ```2182193. Set up DaVinci Resolve scripting environment variables:220221 **For macOS**:222 ```bash223 export RESOLVE_SCRIPT_API="/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting"224 export RESOLVE_SCRIPT_LIB="/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Libraries/Fusion/fusionscript.so"225 export PYTHONPATH="$PYTHONPATH:$RESOLVE_SCRIPT_API/Modules/"226 ```227228 **For Windows**:229 ```cmd230 set RESOLVE_SCRIPT_API=C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support\Developer\Scripting231 set RESOLVE_SCRIPT_LIB=C:\Program Files\Blackmagic Design\DaVinci Resolve\fusionscript.dll232 set PYTHONPATH=%PYTHONPATH%;%RESOLVE_SCRIPT_API%\Modules233 ```234235 Alternatively, run the pre-launch check script which will set these for you:236 ```237 # On macOS238 ./scripts/check-resolve-ready.sh239240 # On Windows241 ./scripts/check-resolve-ready.bat242 ```2432444. Configure Cursor to use the server by creating a configuration file:245246 **For macOS** (`~/.cursor/mcp.json`):247 ```json248 {249 "mcpServers": {250 "davinci-resolve": {251 "name": "DaVinci Resolve MCP",252 "command": "/path/to/your/venv/bin/python",253 "args": [254 "/path/to/your/davinci-resolve-mcp/src/main.py"255 ]256 }257 }258 }259 ```260261 **For Windows** (`%APPDATA%\Cursor\mcp.json`):262 ```json263 {264 "mcpServers": {265 "davinci-resolve": {266 "name": "DaVinci Resolve MCP",267 "command": "C:\\path\\to\\venv\\Scripts\\python.exe",268 "args": ["C:\\path\\to\\davinci-resolve-mcp\\src\\main.py"]269 }270 }271 }272 ```2732745. Start the server using one of the client-specific scripts:275 ```bash276 # For Cursor277 ./scripts/mcp_resolve-cursor_start278279 # For Claude Desktop280 ./scripts/mcp_resolve-claude_start281 ```282283## Usage with AI Assistants284285### Using with Cursor2862871. Start the Cursor server using the dedicated script:288 ```bash289 ./scripts/mcp_resolve-cursor_start290 ```291 Or use the universal launcher:292 ```bash293 ./scripts/mcp_resolve_launcher.sh --start-cursor294 ```2952962. Start Cursor and open a project.2972983. In Cursor's AI chat, you can now interact with DaVinci Resolve. Try commands like:299 - "What version of DaVinci Resolve is running?"300 - "List all projects in DaVinci Resolve"301 - "Create a new timeline called 'My Sequence'"302 - "Add a marker at the current position"303304### Using with Claude Desktop3053061. Create a `claude_desktop_config.json` file in your Claude Desktop configuration directory using the template in the `config-templates` directory.3073082. Run the Claude Desktop server using the dedicated script:309 ```bash310 ./scripts/mcp_resolve-claude_start311 ```312 Or use the universal launcher:313 ```bash314 ./scripts/mcp_resolve_launcher.sh --start-claude315 ```3163173. In Claude Desktop, you can now interact with DaVinci Resolve using the same commands as with Cursor.318319## Available Features320321### General322- Get DaVinci Resolve version323- Get/switch current page (Edit, Color, Fusion, etc.)324325### Project Management326- List available projects327- Get current project name328- Open project by name329- Create new project330- Save current project331332### Timeline Operations333- List all timelines334- Get current timeline info335- Create new timeline336- Switch to timeline by name337- Add marker to timeline338339### Media Pool Operations340- List media pool clips341- Import media file342- Create media bin343- Add clip to timeline344345## Windows Support Notes346347Windows support is stable in v1.3.3 and should not require additional troubleshooting:348- Ensure DaVinci Resolve is installed in the default location349- Environment variables are properly set as described above350- Windows paths may require adjustment based on your installation351- For issues, please check the logs in the `logs/` directory352353## Troubleshooting354355### DaVinci Resolve Connection356Make sure DaVinci Resolve is running before starting the server. If the server can't connect to Resolve, check that:3573581. Your environment variables are set correctly3592. You have the correct paths for your DaVinci Resolve installation3603. You have restarted your terminal after setting environment variables361362## Project Structure363364```365davinci-resolve-mcp/366├── README.md # This file367├── docs/ # Documentation368│ ├── FEATURES.md # Feature list and status369│ ├── CHANGELOG.md # Version history370│ ├── VERSION.md # Version information371│ ├── TOOLS_README.md # Tools documentation372│ ├── PROJECT_MCP_SETUP.md # Project setup guide373│ └── COMMIT_MESSAGE.txt # Latest commit information374├── config-templates/ # Configuration templates375│ ├── sample_config.json # Example configuration376│ ├── cursor-mcp-example.json # Cursor config example377│ └── mcp-project-template.json # MCP project template378├── scripts/ # Utility scripts379│ ├── tests/ # Test scripts380│ │ ├── benchmark_server.py # Performance tests381│ │ ├── test_improvements.py # Test scripts382│ │ ├── test_custom_timeline.py # Timeline tests383│ │ ├── create_test_timeline.py # Create test timeline384│ │ ├── test-after-restart.sh # Test after restart (Unix)385│ │ └── test-after-restart.bat # Test after restart (Windows)386│ ├── batch_automation.py # Batch automation script387│ ├── restart-server.sh # Server restart script (Unix)388│ ├── restart-server.bat # Server restart script (Windows)389│ ├── run-now.sh # Quick start script (Unix)390│ └── run-now.bat # Quick start script (Windows)391├── resolve_mcp_server.py # Main server implementation392├── src/ # Source code393│ ├── api/ # API implementation394│ ├── features/ # Feature modules395│ └── utils/ # Utility functions396├── logs/ # Log files397├── tools/ # Development tools398├── assets/ # Project assets399└── examples/ # Example code400```401402## License403404MIT405406## Acknowledgments407408- Blackmagic Design for DaVinci Resolve and its API409- The MCP protocol team for enabling AI assistant integration410411## Author412413Samuel Gursky (samgursky@gmail.com)414- GitHub: [github.com/samuelgursky](https://github.com/samuelgursky)415416## Future Plans417418- Windows and Linux support419- Additional DaVinci Resolve features420- Support for Claude Desktop421422## Development423424If 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.425426## License427428MIT429430## Acknowledgments431432- Blackmagic Design for DaVinci Resolve and its API433- The MCP protocol team for enabling AI assistant integration434435## Project Structure436437After cleanup, the project has the following structure:438439- `resolve_mcp_server.py` - The main MCP server implementation440- `run-now.sh` - Quick start script that handles setup and runs the server441- `setup.sh` - Complete setup script for installation442- `check-resolve-ready.sh` - Pre-launch check to verify DaVinci Resolve is ready443- `start-server.sh` - Script to start the server444- `run-server.sh` - Simplified script to run the server directly445446**Key Directories:**447- `src/` - Source code and modules448- `assets/` - Project assets and resources449- `logs/` - Log files directory450- `scripts/` - Helper scripts451452When developing, it's recommended to use `./run-now.sh` which sets up the environment and launches the server in one step.453454## Changelog455456See [docs/CHANGELOG.md](docs/CHANGELOG.md) for a detailed history of changes.457458### Cursor-Specific Setup459460When integrating with Cursor, follow these specific steps:4614621. Make sure DaVinci Resolve is running before starting Cursor4634642. Install required dependencies:465 ```bash466 # From the davinci-resolve-mcp directory:467 pip install -r requirements.txt468 ```469 Note: This will install the MCP package and other dependencies automatically.4704713. Set up the MCP server configuration in Cursor:472473 Create or edit `~/.cursor/mcp.json` on macOS (or `%USERPROFILE%\.cursor\mcp.json` on Windows):474475 ```json476 {477 "mcpServers": {478 "davinci-resolve": {479 "name": "DaVinci Resolve MCP",480 "command": "/path/to/your/venv/bin/python",481 "args": [482 "/path/to/your/davinci-resolve-mcp/src/main.py"483 ]484 }485 }486 }487 ```488489 **Important Notes:**490 - Use `main.py` as the entry point (not `resolve_mcp_server.py`)491 - Use absolute paths in the configuration4924934. Common issues:494 - "Client closed" error: Check that paths are correct in mcp.json and dependencies are installed495 - Connection problems: Make sure DaVinci Resolve is running before starting Cursor496 - Environment variables: The main.py script will handle setting environment variables
Full transparency — inspect the skill content before installing.