iflow-mcp_tooflex-davinci-resolve-mcp 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,304 @@
1
+ Metadata-Version: 2.4
2
+ Name: iflow-mcp_tooflex-davinci-resolve-mcp
3
+ Version: 0.1.0
4
+ Summary: Add your description here
5
+ Requires-Python: >=3.10
6
+ Description-Content-Type: text/markdown
7
+ Requires-Dist: mcp[cli]>=1.4.1
8
+ Requires-Dist: pydantic>=2.10.6
9
+
10
+ Here’s an updated version of the README with enhancements reflecting the expanded functionality of the `ResolveAPI` class, improved clarity, and additional details for setup and usage. The structure remains consistent with your original README, but I’ve incorporated the new features (e.g., gallery management, track control, audio adjustments, playback, etc.) and refined the instructions for `uv` installation and Claude integration.
11
+
12
+ ---
13
+
14
+ # DaVinci Resolve MCP Server
15
+
16
+ A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with DaVinci Resolve Studio, providing advanced control over editing, color grading, audio, and more.
17
+
18
+ ## Overview
19
+
20
+ This server implements the MCP protocol to create a bridge between AI assistants and DaVinci Resolve. It allows AI assistants to:
21
+
22
+ - Create, load, and manage DaVinci Resolve projects
23
+ - Manipulate timelines, tracks, and clips
24
+ - Import and organize media files
25
+ - Access and modify Fusion compositions
26
+ - Perform color grading and manage stills in the Gallery
27
+ - Adjust audio settings and control playback
28
+ - Navigate between Resolve pages (Media, Edit, Fusion, Color, Fairlight, Deliver)
29
+ - Execute custom Python and Lua scripts
30
+ - Export and import projects
31
+
32
+ ## Requirements
33
+
34
+ - DaVinci Resolve Studio 18.0 or newer
35
+ - Python 3.10 or newer
36
+ - Access to the DaVinci Resolve scripting API
37
+
38
+ ## Installation with uv
39
+
40
+ [uv](https://github.com/astral-sh/uv) is a fast, modern Python package installer and resolver that outperforms pip. Follow these steps to install and set up the DaVinci Resolve MCP server using `uv`:
41
+
42
+ ### 1. Install uv
43
+
44
+ If `uv` is not installed:
45
+
46
+ ```bash
47
+ # Using pip (ensure pip is for Python 3.10+)
48
+ pip install uv
49
+
50
+ # Using Homebrew (macOS)
51
+ brew install uv
52
+
53
+ # Using Conda
54
+ conda install -c conda-forge uv
55
+ ```
56
+
57
+ Verify installation:
58
+
59
+ ```bash
60
+ uv --version
61
+ ```
62
+
63
+ ### 2. Create a Virtual Environment
64
+
65
+ Create and activate a virtual environment to isolate dependencies:
66
+
67
+ ```bash
68
+ uv venv
69
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
70
+ ```
71
+
72
+ ### 3. Install the DaVinci Resolve MCP Server
73
+
74
+ Install the server and its dependencies from the project directory:
75
+
76
+ ```bash
77
+ # From the project directory (editable install for development)
78
+ uv install -e .
79
+
80
+ # Or directly from GitHub (replace with your repo URL)
81
+ uv install git+https://github.com/yourusername/davinci-resolve-mcp.git
82
+ ```
83
+
84
+ ### 4. Install Dependencies
85
+
86
+ Ensure `requirements.txt` includes:
87
+
88
+ ```
89
+ mcp
90
+ pydantic
91
+ ```
92
+
93
+ Install them:
94
+
95
+ ```bash
96
+ uv install -r requirements.txt
97
+ ```
98
+
99
+ ## Configuration
100
+
101
+ Before running the server, ensure:
102
+
103
+ 1. DaVinci Resolve Studio is running.
104
+ 2. Python can access the DaVinci Resolve scripting API (handled automatically by `ResolveAPI` in most cases).
105
+
106
+ ### API Access Configuration
107
+
108
+ The `ResolveAPI` class dynamically locates the scripting API, but you may need to configure it manually in some cases:
109
+
110
+ #### macOS
111
+
112
+ The API is typically available at:
113
+
114
+ - `/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Modules`
115
+ - Or user-specific: `~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Modules`
116
+
117
+ No additional setup is usually required.
118
+
119
+ #### Windows
120
+
121
+ Add the API path if not detected:
122
+
123
+ ```python
124
+ import sys
125
+ sys.path.append("C:\\ProgramData\\Blackmagic Design\\DaVinci Resolve\\Support\\Developer\\Scripting\\Modules")
126
+ ```
127
+
128
+ #### Linux
129
+
130
+ Set the environment variable:
131
+
132
+ ```bash
133
+ export PYTHONPATH=$PYTHONPATH:/opt/resolve/Developer/Scripting/Modules
134
+ ```
135
+
136
+ Alternatively, set a custom path via an environment variable:
137
+
138
+ ```bash
139
+ export RESOLVE_SCRIPT_PATH="/custom/path/to/scripting/modules"
140
+ ```
141
+
142
+ ## Running the Server
143
+
144
+ Start the MCP server:
145
+
146
+ ```bash
147
+ # Run directly with Python
148
+ python -m resolve_mcp.server
149
+
150
+ # Or with uv
151
+ uv run resolve_mcp/server.py
152
+ ```
153
+
154
+ The server will launch and connect to DaVinci Resolve, logging output like:
155
+
156
+ ```
157
+ 2025-03-19 ... - resolve_mcp - INFO - Successfully connected to DaVinci Resolve.
158
+ ```
159
+
160
+ ### Claude Integration Configuration
161
+
162
+ To integrate with Claude Desktop, update your `claude_desktop_config.json` (e.g., `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
163
+
164
+ ```json
165
+ {
166
+ "mcpServers": {
167
+ "davinci-resolve": {
168
+ "command": "/path/to/uv",
169
+ "args": [
170
+ "run",
171
+ "--directory",
172
+ "/path/to/davinci-resolve-mcp",
173
+ "resolve_mcp/server.py"
174
+ ]
175
+ }
176
+ }
177
+ }
178
+ ```
179
+
180
+ - Replace `/path/to/uv` with the path to your `uv` executable (e.g., `/usr/local/bin/uv` or `C:\Users\username\.cargo\bin\uv.exe`).
181
+ - Replace `/path/to/davinci-resolve-mcp` with the absolute path to your project directory.
182
+
183
+ Restart Claude Desktop to enable the server. Look for a hammer icon in the input box to confirm integration.
184
+
185
+ ## Troubleshooting
186
+
187
+ ### Connection Issues
188
+
189
+ If the server fails to connect:
190
+
191
+ 1. Ensure DaVinci Resolve Studio is running.
192
+ 2. Check Resolve’s preferences to confirm scripting is enabled.
193
+ 3. Verify Python version compatibility (3.10+ recommended):
194
+ ```bash
195
+ python --version
196
+ ```
197
+ 4. Confirm API paths are accessible (see logs in `~/Library/Logs/Claude/mcp*.log` on macOS or `%userprofile%\AppData\Roaming\Claude\Logs\` on Windows).
198
+
199
+ ### Dependency Issues
200
+
201
+ If modules like `mcp` or `pydantic` are missing:
202
+
203
+ ```bash
204
+ uv install mcp pydantic
205
+ ```
206
+
207
+ ### Python Version Compatibility
208
+
209
+ Switch to a compatible version with `pyenv` if needed:
210
+
211
+ ```bash
212
+ pyenv install 3.10.12
213
+ pyenv shell 3.10.12
214
+ uv install -r requirements.txt
215
+ ```
216
+
217
+ ## Available Tools and Resources
218
+
219
+ The MCP server provides extensive functionality through the `ResolveAPI` class:
220
+
221
+ ### Project Management
222
+
223
+ - Create new projects (`create_project`)
224
+ - Load existing projects (`load_project`)
225
+ - Save current projects (`save_project`)
226
+ - Export/import projects (`export_project`, `import_project`)
227
+ - Get/set project settings (`get_project_settings`, `set_project_setting`)
228
+
229
+ ### Timeline Operations
230
+
231
+ - Create new timelines (`create_timeline`)
232
+ - Set/get current timeline (`set_current_timeline`, `get_current_timeline`)
233
+ - Add/manage tracks (`add_track`, `set_track_name`, `enable_track`)
234
+ - Get timeline items (`get_timeline_items`)
235
+ - Set clip properties (`set_clip_property`)
236
+ - Add markers (`add_timeline_marker`)
237
+
238
+ ### Media Management
239
+
240
+ - Import media files (`add_items_to_media_pool`)
241
+ - Create media pool folders (`add_sub_folder`)
242
+ - Create timelines from clips (`create_timeline_from_clips`)
243
+ - Get clip metadata (`get_clip_metadata`)
244
+
245
+ ### Fusion Integration
246
+
247
+ - Add Fusion compositions to clips (`create_fusion_node`)
248
+ - Create/manage Fusion nodes (`create_fusion_node`)
249
+ - Access current composition (`get_current_comp`)
250
+
251
+ ### Color Grading
252
+
253
+ - Get/add color nodes (`get_color_page_nodes`, `add_color_node`)
254
+ - Save/apply stills (`save_still`, `apply_still`)
255
+ - Manage gallery albums (`get_gallery_albums`)
256
+
257
+ ### Audio Control
258
+
259
+ - Get/set clip audio volume (`get_audio_volume`, `set_audio_volume`)
260
+ - Set track volume (`set_track_volume`)
261
+
262
+ ### Playback Control
263
+
264
+ - Play/stop playback (`play`, `stop`)
265
+ - Get/set playhead position (`get_current_timecode`, `set_playhead_position`)
266
+
267
+ ### Rendering
268
+
269
+ - Start rendering (`start_render`)
270
+ - Get render status (`get_render_status`)
271
+
272
+ ### Navigation
273
+
274
+ - Open specific pages (`open_page`: Media, Edit, Fusion, Color, Fairlight, Deliver)
275
+
276
+ ### Advanced Operations
277
+
278
+ - Execute custom Python code (`execute_python`)
279
+ - Execute Lua scripts in Fusion (`execute_lua`)
280
+
281
+ ## Development
282
+
283
+ To contribute:
284
+
285
+ 1. Fork the repository: `https://github.com/yourusername/davinci-resolve-mcp`
286
+ 2. Create a feature branch: `git checkout -b feature-name`
287
+ 3. Install dependencies: `uv install -e .`
288
+ 4. Make changes and test: `uv run resolve_mcp/server.py`
289
+ 5. Submit a pull request.
290
+
291
+ ## License
292
+
293
+ [MIT License](LICENSE)
294
+
295
+ ---
296
+
297
+ ### Key Updates
298
+
299
+ - **Expanded Features**: Added new capabilities like gallery management, track control, audio adjustments, playback, and project export/import to the “Available Tools and Resources” section.
300
+ - **Installation Clarity**: Improved `uv` instructions with verification steps and explicit paths for Claude integration.
301
+ - **Troubleshooting**: Enhanced with specific commands and log locations for debugging.
302
+ - **Configuration**: Updated API access notes to reflect the dynamic path handling in `ResolveAPI`.
303
+
304
+ This README now fully aligns with the enhanced `ResolveAPI` class, providing a comprehensive guide for users and developers. Let me know if you’d like further adjustments!
@@ -0,0 +1,295 @@
1
+ Here’s an updated version of the README with enhancements reflecting the expanded functionality of the `ResolveAPI` class, improved clarity, and additional details for setup and usage. The structure remains consistent with your original README, but I’ve incorporated the new features (e.g., gallery management, track control, audio adjustments, playback, etc.) and refined the instructions for `uv` installation and Claude integration.
2
+
3
+ ---
4
+
5
+ # DaVinci Resolve MCP Server
6
+
7
+ A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with DaVinci Resolve Studio, providing advanced control over editing, color grading, audio, and more.
8
+
9
+ ## Overview
10
+
11
+ This server implements the MCP protocol to create a bridge between AI assistants and DaVinci Resolve. It allows AI assistants to:
12
+
13
+ - Create, load, and manage DaVinci Resolve projects
14
+ - Manipulate timelines, tracks, and clips
15
+ - Import and organize media files
16
+ - Access and modify Fusion compositions
17
+ - Perform color grading and manage stills in the Gallery
18
+ - Adjust audio settings and control playback
19
+ - Navigate between Resolve pages (Media, Edit, Fusion, Color, Fairlight, Deliver)
20
+ - Execute custom Python and Lua scripts
21
+ - Export and import projects
22
+
23
+ ## Requirements
24
+
25
+ - DaVinci Resolve Studio 18.0 or newer
26
+ - Python 3.10 or newer
27
+ - Access to the DaVinci Resolve scripting API
28
+
29
+ ## Installation with uv
30
+
31
+ [uv](https://github.com/astral-sh/uv) is a fast, modern Python package installer and resolver that outperforms pip. Follow these steps to install and set up the DaVinci Resolve MCP server using `uv`:
32
+
33
+ ### 1. Install uv
34
+
35
+ If `uv` is not installed:
36
+
37
+ ```bash
38
+ # Using pip (ensure pip is for Python 3.10+)
39
+ pip install uv
40
+
41
+ # Using Homebrew (macOS)
42
+ brew install uv
43
+
44
+ # Using Conda
45
+ conda install -c conda-forge uv
46
+ ```
47
+
48
+ Verify installation:
49
+
50
+ ```bash
51
+ uv --version
52
+ ```
53
+
54
+ ### 2. Create a Virtual Environment
55
+
56
+ Create and activate a virtual environment to isolate dependencies:
57
+
58
+ ```bash
59
+ uv venv
60
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
61
+ ```
62
+
63
+ ### 3. Install the DaVinci Resolve MCP Server
64
+
65
+ Install the server and its dependencies from the project directory:
66
+
67
+ ```bash
68
+ # From the project directory (editable install for development)
69
+ uv install -e .
70
+
71
+ # Or directly from GitHub (replace with your repo URL)
72
+ uv install git+https://github.com/yourusername/davinci-resolve-mcp.git
73
+ ```
74
+
75
+ ### 4. Install Dependencies
76
+
77
+ Ensure `requirements.txt` includes:
78
+
79
+ ```
80
+ mcp
81
+ pydantic
82
+ ```
83
+
84
+ Install them:
85
+
86
+ ```bash
87
+ uv install -r requirements.txt
88
+ ```
89
+
90
+ ## Configuration
91
+
92
+ Before running the server, ensure:
93
+
94
+ 1. DaVinci Resolve Studio is running.
95
+ 2. Python can access the DaVinci Resolve scripting API (handled automatically by `ResolveAPI` in most cases).
96
+
97
+ ### API Access Configuration
98
+
99
+ The `ResolveAPI` class dynamically locates the scripting API, but you may need to configure it manually in some cases:
100
+
101
+ #### macOS
102
+
103
+ The API is typically available at:
104
+
105
+ - `/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Modules`
106
+ - Or user-specific: `~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Modules`
107
+
108
+ No additional setup is usually required.
109
+
110
+ #### Windows
111
+
112
+ Add the API path if not detected:
113
+
114
+ ```python
115
+ import sys
116
+ sys.path.append("C:\\ProgramData\\Blackmagic Design\\DaVinci Resolve\\Support\\Developer\\Scripting\\Modules")
117
+ ```
118
+
119
+ #### Linux
120
+
121
+ Set the environment variable:
122
+
123
+ ```bash
124
+ export PYTHONPATH=$PYTHONPATH:/opt/resolve/Developer/Scripting/Modules
125
+ ```
126
+
127
+ Alternatively, set a custom path via an environment variable:
128
+
129
+ ```bash
130
+ export RESOLVE_SCRIPT_PATH="/custom/path/to/scripting/modules"
131
+ ```
132
+
133
+ ## Running the Server
134
+
135
+ Start the MCP server:
136
+
137
+ ```bash
138
+ # Run directly with Python
139
+ python -m resolve_mcp.server
140
+
141
+ # Or with uv
142
+ uv run resolve_mcp/server.py
143
+ ```
144
+
145
+ The server will launch and connect to DaVinci Resolve, logging output like:
146
+
147
+ ```
148
+ 2025-03-19 ... - resolve_mcp - INFO - Successfully connected to DaVinci Resolve.
149
+ ```
150
+
151
+ ### Claude Integration Configuration
152
+
153
+ To integrate with Claude Desktop, update your `claude_desktop_config.json` (e.g., `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
154
+
155
+ ```json
156
+ {
157
+ "mcpServers": {
158
+ "davinci-resolve": {
159
+ "command": "/path/to/uv",
160
+ "args": [
161
+ "run",
162
+ "--directory",
163
+ "/path/to/davinci-resolve-mcp",
164
+ "resolve_mcp/server.py"
165
+ ]
166
+ }
167
+ }
168
+ }
169
+ ```
170
+
171
+ - Replace `/path/to/uv` with the path to your `uv` executable (e.g., `/usr/local/bin/uv` or `C:\Users\username\.cargo\bin\uv.exe`).
172
+ - Replace `/path/to/davinci-resolve-mcp` with the absolute path to your project directory.
173
+
174
+ Restart Claude Desktop to enable the server. Look for a hammer icon in the input box to confirm integration.
175
+
176
+ ## Troubleshooting
177
+
178
+ ### Connection Issues
179
+
180
+ If the server fails to connect:
181
+
182
+ 1. Ensure DaVinci Resolve Studio is running.
183
+ 2. Check Resolve’s preferences to confirm scripting is enabled.
184
+ 3. Verify Python version compatibility (3.10+ recommended):
185
+ ```bash
186
+ python --version
187
+ ```
188
+ 4. Confirm API paths are accessible (see logs in `~/Library/Logs/Claude/mcp*.log` on macOS or `%userprofile%\AppData\Roaming\Claude\Logs\` on Windows).
189
+
190
+ ### Dependency Issues
191
+
192
+ If modules like `mcp` or `pydantic` are missing:
193
+
194
+ ```bash
195
+ uv install mcp pydantic
196
+ ```
197
+
198
+ ### Python Version Compatibility
199
+
200
+ Switch to a compatible version with `pyenv` if needed:
201
+
202
+ ```bash
203
+ pyenv install 3.10.12
204
+ pyenv shell 3.10.12
205
+ uv install -r requirements.txt
206
+ ```
207
+
208
+ ## Available Tools and Resources
209
+
210
+ The MCP server provides extensive functionality through the `ResolveAPI` class:
211
+
212
+ ### Project Management
213
+
214
+ - Create new projects (`create_project`)
215
+ - Load existing projects (`load_project`)
216
+ - Save current projects (`save_project`)
217
+ - Export/import projects (`export_project`, `import_project`)
218
+ - Get/set project settings (`get_project_settings`, `set_project_setting`)
219
+
220
+ ### Timeline Operations
221
+
222
+ - Create new timelines (`create_timeline`)
223
+ - Set/get current timeline (`set_current_timeline`, `get_current_timeline`)
224
+ - Add/manage tracks (`add_track`, `set_track_name`, `enable_track`)
225
+ - Get timeline items (`get_timeline_items`)
226
+ - Set clip properties (`set_clip_property`)
227
+ - Add markers (`add_timeline_marker`)
228
+
229
+ ### Media Management
230
+
231
+ - Import media files (`add_items_to_media_pool`)
232
+ - Create media pool folders (`add_sub_folder`)
233
+ - Create timelines from clips (`create_timeline_from_clips`)
234
+ - Get clip metadata (`get_clip_metadata`)
235
+
236
+ ### Fusion Integration
237
+
238
+ - Add Fusion compositions to clips (`create_fusion_node`)
239
+ - Create/manage Fusion nodes (`create_fusion_node`)
240
+ - Access current composition (`get_current_comp`)
241
+
242
+ ### Color Grading
243
+
244
+ - Get/add color nodes (`get_color_page_nodes`, `add_color_node`)
245
+ - Save/apply stills (`save_still`, `apply_still`)
246
+ - Manage gallery albums (`get_gallery_albums`)
247
+
248
+ ### Audio Control
249
+
250
+ - Get/set clip audio volume (`get_audio_volume`, `set_audio_volume`)
251
+ - Set track volume (`set_track_volume`)
252
+
253
+ ### Playback Control
254
+
255
+ - Play/stop playback (`play`, `stop`)
256
+ - Get/set playhead position (`get_current_timecode`, `set_playhead_position`)
257
+
258
+ ### Rendering
259
+
260
+ - Start rendering (`start_render`)
261
+ - Get render status (`get_render_status`)
262
+
263
+ ### Navigation
264
+
265
+ - Open specific pages (`open_page`: Media, Edit, Fusion, Color, Fairlight, Deliver)
266
+
267
+ ### Advanced Operations
268
+
269
+ - Execute custom Python code (`execute_python`)
270
+ - Execute Lua scripts in Fusion (`execute_lua`)
271
+
272
+ ## Development
273
+
274
+ To contribute:
275
+
276
+ 1. Fork the repository: `https://github.com/yourusername/davinci-resolve-mcp`
277
+ 2. Create a feature branch: `git checkout -b feature-name`
278
+ 3. Install dependencies: `uv install -e .`
279
+ 4. Make changes and test: `uv run resolve_mcp/server.py`
280
+ 5. Submit a pull request.
281
+
282
+ ## License
283
+
284
+ [MIT License](LICENSE)
285
+
286
+ ---
287
+
288
+ ### Key Updates
289
+
290
+ - **Expanded Features**: Added new capabilities like gallery management, track control, audio adjustments, playback, and project export/import to the “Available Tools and Resources” section.
291
+ - **Installation Clarity**: Improved `uv` instructions with verification steps and explicit paths for Claude integration.
292
+ - **Troubleshooting**: Enhanced with specific commands and log locations for debugging.
293
+ - **Configuration**: Updated API access notes to reflect the dynamic path handling in `ResolveAPI`.
294
+
295
+ This README now fully aligns with the enhanced `ResolveAPI` class, providing a comprehensive guide for users and developers. Let me know if you’d like further adjustments!