- DaVinci Resolve installed (Free or Studio)
- Python 3.9+
- DaVinci Resolve running
-
Clone or navigate to the project directory
cd /path/to/davinci-mcp-professional -
Run the setup script
python setup.py
This will:
- Install the
uvpackage manager if needed - Set up a virtual environment
- Install all dependencies
- Create MCP configuration files for Cursor and Claude Desktop
- Install the
-
Test the installation
python test.py
-
Start the server interactively
python main.py
Update your claude_desktop_config.json:
{
"mcpServers": {
"davinci-resolve": {
"name": "DaVinci MCP Professional",
"command": "/path/to/davinci-mcp-professional/.venv/Scripts/python.exe",
"args": ["/path/to/davinci-mcp-professional/mcp_server.py"]
}
}
}The setup script automatically configures Cursor. After setup:
- Start DaVinci Resolve
- Open Cursor - the DaVinci Resolve MCP should be available
You can then use commands like:
- "What version of DaVinci Resolve is running?"
- "List all projects"
- "Create a new timeline called 'My Edit'"
- "Switch to the Color page"
src/davinci_mcp/
├── __init__.py # Package initialization
├── cli.py # Command line interface
├── server.py # Main MCP server implementation
├── resolve_client.py # DaVinci Resolve API client
├── tools/ # MCP tool definitions
│ └── __init__.py
├── resources/ # MCP resource definitions
│ └── __init__.py
└── utils/ # Utility functions
├── __init__.py
└── platform.py # Platform detection and setup
get_version- Get DaVinci Resolve versionget_current_page- Get current page (Edit, Color, etc.)switch_page- Switch to a specific page
list_projects- List available projectsget_current_project- Get current project nameopen_project- Open a project by namecreate_project- Create a new project
list_timelines- List timelines in current projectget_current_timeline- Get current timeline namecreate_timeline- Create a new timelineswitch_timeline- Switch to a timeline
list_media_clips- List clips in media poolimport_media- Import media files
resolve://version- DaVinci Resolve versionresolve://current-page- Current pageresolve://projects- Available projectsresolve://current-project- Current project nameresolve://timelines- Available timelinesresolve://current-timeline- Current timeline nameresolve://media-clips- Media pool clips
- Add tool definition to
tools/__init__.py - Add tool implementation to
server.pyin_call_tool()method
- Add resource definition to
resources/__init__.py - Add resource implementation to
server.pyin_read_resource()method
python test.pySee BUGS elsewhere in this repo.