A Model Context Protocol (MCP) server for interacting with DaVinci Resolve and Fusion. This server allows AI assistants like Claude to directly interact with and control DaVinci Resolve through the Model Context Protocol.
- Two-way communication: Connect Claude AI to DaVinci Resolve through the MCP protocol
- Project management: Create, open, and manage DaVinci Resolve projects
- Timeline manipulation: Create, modify, and navigate timelines
- Media management: Import, organize, and manage media in the Media Pool
- Fusion integration: Create and modify Fusion compositions
- Scene inspection: Get detailed information about the current DaVinci Resolve project
- Code execution: Run arbitrary Python code in DaVinci Resolve from Claude
- DaVinci Resolve Studio (version 17 or higher recommended)
- Python 3.8 or higher
- Claude Desktop (for AI integration)
-
Clone this repository:
git clone https://github.com/apvlv/davinci-resolve-mcp.git cd davinci-resolve-mcp
-
Install the required dependencies:
pip install -r requirements.txt
-
Install the MCP server in Claude Desktop:
mcp install src/resolve_mcp/server.py
Alternatively, you can install with the editable flag for development:
mcp install src/resolve_mcp/server.py --with-editable .
- Start DaVinci Resolve
- In Claude Desktop, connect to the "DaVinci Resolve MCP" server
- You can now interact with DaVinci Resolve through Claude
5ire is an open-source cross-platform desktop AI assistant and MCP client that's compatible with this server.
- Install 5ire from GitHub or using Homebrew on macOS:
brew tap brewforge/extras brew install --cask 5ire
- Start DaVinci Resolve
- In 5ire, add the DaVinci Resolve MCP server
- Connect to the server using your preferred AI model (OpenAI, Claude, etc.)
- You can now interact with DaVinci Resolve through 5ire
project://current
- Get information about the current projectproject://timelines
- Get a list of timelines in the current projecttimeline://current
- Get information about the current timelinemediapool://folders
- Get a list of folders in the media poolmediapool://current
- Get information about the current media pool folderstorage://volumes
- Get a list of mounted volumes in the media storagesystem://status
- Get the current status of the DaVinci Resolve connection
create_project(name)
- Create a new DaVinci Resolve projectload_project(name)
- Load an existing DaVinci Resolve projectsave_project()
- Save the current DaVinci Resolve project
create_timeline(name)
- Create a new timeline in the current projectset_current_timeline(index)
- Set the current timeline by index (1-based)
import_media(file_paths)
- Import media files into the current media pool foldercreate_folder(name)
- Create a new folder in the current media pool foldercreate_timeline_from_clips(name, clip_indices)
- Create a new timeline from clips in the current media pool folder
add_fusion_comp_to_clip(timeline_index, track_type, track_index, item_index)
- Add a Fusion composition to a clip in the timelinecreate_fusion_node(node_type, parameters)
- Create a specific Fusion node in the current compositioncreate_fusion_node_chain(node_chain)
- Create a chain of connected Fusion nodes in the current composition
open_page(page_name)
- Open a specific page in DaVinci Resolve (media, edit, fusion, color, fairlight, deliver)
execute_python(code)
- Execute arbitrary Python code in DaVinci Resolveexecute_lua(script)
- Execute a Lua script in DaVinci Resolve's Fusion
- "Create a new project named 'My Documentary'"
- "Import all video files from the Downloads folder"
- "Create a new timeline with the selected clips"
- "Apply a Fusion effect to the selected clip"
- "Get information about the current project"
- "Switch to the Color page"
- "Save the current project"
- "Create a folder named 'Raw Footage' in the media pool"
- "Create a Blur node in the current Fusion composition"
- "Create a Text node with the content 'Hello World'"
- "Create a chain of nodes: MediaIn -> Blur -> ColorCorrector -> MediaOut"
The server uses the Model Context Protocol to communicate between Claude and DaVinci Resolve. It leverages DaVinci Resolve's Python API to control the application.
MIT