DaVinci Resolve MCP
by samuelgursky
Verified
# DaVinci Resolve Integration - Feature Tracking (v1.3.3)
This document provides detailed tracking of DaVinci Resolve API features implemented in our JSON-RPC Server, along with compatibility status across different clients and platforms.
## Status Definitions
| Status | Description |
|--------|-------------|
| ✅ | Implemented and tested |
| ⚠️ | Implemented but needs testing |
| 🔄 | In progress |
| 🟡 | Planned |
| ❌ | Not implemented |
| 🚫 | Not applicable |
| 🐞 | Implementation contains bugs |
## Client/Platform Compatibility Update
| Client | macOS | Windows | Linux |
|--------|-------|---------|-------|
| Cursor | ✅ Stable | ✅ Stable | ❌ |
| Claude Desktop | ✅ Stable | ✅ Stable | ❌ |
## Implementation Methods
| Method | Status | Notes |
|--------|--------|-------|
| MCP Framework | 🐞 | Original implementation - connection issues |
| Direct JSON-RPC | ✅ | Current implementation - more reliable |
## Core Features
### General Resolve API
| Feature | Implementation | Cursor (Mac) | Claude (Mac) | Cursor (Win) | Claude (Win) | Notes |
|---------|---------------|--------------|--------------|--------------|--------------|-------|
| Get Resolve Version | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Returns product name and version string |
| Get Current Page | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Returns active page in UI |
| Switch Page | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Changes UI to specified page |
### Project Management
| Feature | Implementation | Cursor (Mac) | Claude (Mac) | Cursor (Win) | Claude (Win) | Notes |
|---------|---------------|--------------|--------------|--------------|--------------|-------|
| List Projects | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Gets all project names in database |
| Get Current Project Name | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Returns name of open project |
| Open Project | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Opens project by name |
| Create New Project | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Creates project with given name |
| Save Project | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Fixed with multi-method approach |
| Close Project | ❌ | ❌ | ❌ | ❌ | ❌ | Close current project |
| Get/Set Project Settings | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Manages project configuration |
### Timeline Operations
| Feature | Implementation | Cursor (Mac) | Claude (Mac) | Cursor (Win) | Claude (Win) | Notes |
|---------|---------------|--------------|--------------|--------------|--------------|-------|
| List Timelines | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Lists all timelines in project |
| Get Current Timeline | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Returns current timeline info |
| Create Timeline | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Creates new timeline with name |
| Set Current Timeline | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Switches to timeline by name |
| Add Markers | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Adds markers with color and notes |
| List Timeline Clips | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Lists clips in timeline |
| Delete Timeline | ❌ | ❌ | ❌ | ❌ | ❌ | Removes a timeline |
| Get Timeline Tracks | ❌ | ❌ | ❌ | ❌ | ❌ | Gets video/audio track structure |
| Add Clips to Timeline | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Adds media pool clips to timeline |
### Media Pool Operations
| Feature | Implementation | Cursor (Mac) | Claude (Mac) | Cursor (Win) | Claude (Win) | Notes |
|---------|---------------|--------------|--------------|--------------|--------------|-------|
| List Media Pool Clips | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Lists clips in root folder |
| Import Media | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Imports files to media pool |
| Create Bins | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | Creates organizational folders |
| List Bins | ❌ | ❌ | ❌ | ❌ | ❌ | Lists all bins/folders |
| Get Bin Contents | ❌ | ❌ | ❌ | ❌ | ❌ | Lists contents of specific bin |
| Delete Media | ❌ | ❌ | ❌ | ❌ | ❌ | Removes media from pool |
| Move Media to Bin | ❌ | ❌ | ❌ | ❌ | ❌ | Moves clip between bins |
### Color Page Operations
| Feature | Implementation | Cursor (Mac) | Claude (Mac) | Cursor (Win) | Claude (Win) | Notes |
|---------|---------------|--------------|--------------|--------------|--------------|-------|
| Get Current Node | ❌ | ❌ | ❌ | ❌ | ❌ | Gets active node in color page |
| Apply LUT | ❌ | ❌ | ❌ | ❌ | ❌ | Apply LUT to clip/node |
| Get Color Wheels | ❌ | ❌ | ❌ | ❌ | ❌ | Get color wheel parameters |
| Set Color Wheel Param | ❌ | ❌ | ❌ | ❌ | ❌ | Adjust color wheel parameter |
| Add Node | ❌ | ❌ | ❌ | ❌ | ❌ | Adds node to grade |
| Copy Grade | ❌ | ❌ | ❌ | ❌ | ❌ | Copies grade between clips |
### Delivery Page Operations
| Feature | Implementation | Cursor (Mac) | Claude (Mac) | Cursor (Win) | Claude (Win) | Notes |
|---------|---------------|--------------|--------------|--------------|--------------|-------|
| Get Render Presets | ❌ | ❌ | ❌ | ❌ | ❌ | List render presets |
| Add Render Job | ❌ | ❌ | ❌ | ❌ | ❌ | Add job to render queue |
| Start Render | ❌ | ❌ | ❌ | ❌ | ❌ | Begin rendering jobs |
| Get Render Status | ❌ | ❌ | ❌ | ❌ | ❌ | Check job status |
## Notes on Recent Improvements
- Significantly improved Windows support in v1.3.3 with enhanced batch scripts and error handling
- Added robust platform detection and environment setup via dedicated platform utilities
- Windows-specific configuration templates now available for easier setup
- Enhanced cross-platform compatibility with dynamic path resolution
- Improved batch file for Windows with better ANSI color handling and process detection
- Increased timeout waiting for DaVinci Resolve to start on Windows
- Better detection of multiple possible DaVinci Resolve executable names on Windows
- Claude Desktop now has full feature parity with Cursor on macOS
- Configuration includes proper paths to Resolve scripting libraries and modules for each platform
## Development Priorities Update
1. **Current Focus**:
- ✅ Complete Claude Desktop functionality on macOS
- ✅ Improve Windows compatibility through robust platform detection
- 🔄 Enhance batch files and runners for Windows
- 🔄 Expand media pool and color page operations
2. **Next Steps**:
- 🔄 Develop comprehensive error reporting
- 🔄 Further improve Windows integration and compatibility
- 🔄 Add support for easier installation process on Windows
- 🟡 Implement more advanced timeline editing operations
- 🟡 Add support for Fusion page functionality
3. **Future Work**:
- 🔄 Windows support expansion and stabilization
- 🟡 Implement missing API functions
- 🟡 Fusion page functionality
- 🟡 Linux support investigation
## Implementation Notes
- **Platform-Specific Utilities**: Added utilities for handling OS differences, dynamic path resolution, and environment setup
- **Direct JSON-RPC**: Using a custom JSON-RPC server that directly communicates with DaVinci Resolve's API
- **Project Management**: Using ProjectManager API with proper error handling for non-existent projects
- **Timeline Operations**: Most timeline functions work reliably with the direct API binding
- **Media Pool**: Operations are working well for basic functions
- **Integration Methods**:
- Global config: Using .cursor/mcp.json for system-wide configuration
- Project-specific config: Using project-level mcp.json for project-specific settings
- Claude Desktop: Using claude_desktop_config.json for Claude desktop integration
- Windows-specific templates: New platform-specific templates in config-templates directory
- **Startup Scripts**:
- `run-direct-server.sh`: Basic script to launch the JSON-RPC server on macOS
- `run-now.bat`: Enhanced Windows batch file for launching server with improved compatibility
- `mcp_resolve-cursor_start`: Enhanced startup script with environment validation, Resolve running check, and better error reporting
- `mcp_resolve-claude_start`: Dedicated startup script for Claude Desktop integration
- `mcp_resolve_launcher.sh`: Universal launcher that provides an interactive menu and command-line options to:
- Start/stop Cursor MCP server
- Start/stop Claude Desktop MCP server
- Start/stop both servers simultaneously
- Check server status
- Start servers with specific DaVinci Resolve projects
- Force server startup when DaVinci Resolve process isn't detected
- **Platform Support**:
- macOS: Fully supported and tested
- Windows: Improved experimental support with platform-specific path detection
- Linux: Not currently implemented but framework in place for future support
## Testing Procedure
For each feature, testing involves:
1. Direct API testing with test scripts
2. Testing via Cursor AI interface
3. Verification in DaVinci Resolve UI that actions were performed
4. Cross-checking results for accuracy
Features are marked as "✅ Implemented and tested" only after all steps are completed successfully.
Windows features are currently marked as "⚠️ Implemented but needs testing" as they require more field testing with the enhanced Windows support.