Resolve Claude MCP
Enables AI-assisted video editing, color grading, Fusion compositing, and more in DaVinci Resolve Studio through natural language commands.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Resolve Claude MCP apply a warm LUT to the selected clip"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Resolve Claude MCP
Connect DaVinci Resolve Studio to Claude AI through the Model Context Protocol (MCP), enabling AI-assisted video editing, color grading, Fusion compositing, and more — all through natural language.
Note: This is a third-party integration and is not created by or affiliated with Blackmagic Design.
⚠️ Use at your own risk. This project is intended for testing and experimentation. Do not use in production. AI-assisted tools can modify or delete your project data — always work on backups.
Platform support: Tested only on macOS (Apple Silicon). The Blackmagic scripting API is cross-platform, so the core 48 Resolve-control tools may work on Windows and Linux as well, but this is unverified. The local transcription tools and the
screenshottool are macOS-only (they rely onmlx-whisperand macOS-specific screen-capture APIs).
Demo
Color Grading with Claude

Local Transcription & Subtitles

Related MCP server: DaVinci Resolve MCP Server
Features
Core
Direct connection to DaVinci Resolve Studio's scripting API — no addon or plugin needed inside Resolve
Project inspection and navigation across all pages (Media, Cut, Edit, Fusion, Color, Fairlight, Deliver)
Media pool management (import, organize, browse)
Timeline creation and editing
Arbitrary Python code execution with the full Resolve API
Color Grading
Node graph inspection and manipulation
LUT application
CDL (Color Decision List) adjustments
Fusion (Compositing / VFX)
Create, import, export, and manage Fusion compositions
Insert Fusion generators, titles, and blank compositions
Merge timeline items into Fusion clips
AI / DaVinci Neural Engine
Magic Mask — AI-powered subject isolation
Smart Reframe — automatic reframing for different aspect ratios
Stabilization — AI-powered clip stabilization
Scene Cut Detection — auto-detect and cut at scene boundaries
Subtitle Generation — AI speech-to-text with multi-language support
Voice Isolation — separate speech from background noise
Local Transcription (macOS / Apple Silicon only)
mlx-whisper transcription running locally on your Mac's Neural Engine / GPU
Auto-chunks long files with ffmpeg (5-min pieces) — no timeouts on hour-long clips
Returns compact timestamped transcript inline for immediate use
Saves SRT file next to source for Resolve subtitle import
Multiple model sizes: tiny (fastest) to large (most accurate), default: turbo
Windows/Linux users: these tools are unavailable (MLX is Apple-only). The other 48 tools work fine.
Screenshot (macOS only)
screenshot— captures the Resolve window so Claude can visually inspect what's on screenUses macOS
screencapture+ Quartz to target the Resolve window directlyNeeds Screen Recording permission for Claude Desktop in System Settings
Windows/Linux users: this tool is unavailable
Rendering
Browse available formats and codecs
Configure render settings
Queue and start render jobs
Monitor render progress
Code Execution
execute_resolve_code— run any Python code with the Resolve API available (resolve,project,mediaPool,timeline,mediaStoragepre-loaded)This is the power tool: anything the Resolve Python API can do, Claude can do
Architecture
Unlike BlenderMCP which requires a socket-based addon, Resolve Claude MCP connects directly to DaVinci Resolve via its native scripting API. This means a simpler, single-process architecture:
Claude AI (MCP Client)
|
v
Resolve Claude MCP Server (FastMCP)
|
v
DaVinciResolveScript (fusionscript.so)
|
v
DaVinci Resolve Studio (running)No addon to install inside Resolve. No socket server. Just one MCP server that talks directly to Resolve.
Prerequisites
DaVinci Resolve Studio 18.0+ (free version has limited scripting support)
Python 3.10+
uv package manager
Install uv:
# macOS
brew install uv
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Linux
curl -LsSf https://astral.sh/uv/install.sh | shInstallation
Step 1: Clone this repo
git clone https://github.com/barckley75/resolve-claude-mcp.git
cd resolve-claude-mcp
uv syncNote the absolute path to the folder you just cloned — you'll need it in Step 2.
Step 2: Tell Claude Desktop about this server
Claude Desktop has a settings file called claude_desktop_config.json that lists every MCP server it should launch on startup. You need to add an entry to that file so Claude Desktop knows about Resolve Claude MCP.
The file lives in your user folder (not inside the Claude app):
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Open it (or create it if it doesn't exist — these commands will create a blank file you can fill in):
# macOS — opens in TextEdit
open -e "$HOME/Library/Application Support/Claude/claude_desktop_config.json"
# Windows (PowerShell) — opens in Notepad
notepad "$env:APPDATA\Claude\claude_desktop_config.json"When the editor opens, paste in the JSON below. Replace /absolute/path/to/resolve-claude-mcp with the path to the folder you cloned in Step 1. If the file already has other MCP servers in it, just add the "resolve" block inside the existing "mcpServers" object — don't create a second "mcpServers".
{
"mcpServers": {
"resolve": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/resolve-claude-mcp",
"run",
"resolve-claude-mcp"
],
"env": {
"RESOLVE_SCRIPT_LIB": "/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Libraries/Fusion/fusionscript.so",
"RESOLVE_SCRIPT_API": "/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting",
"PYTHONPATH": "/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Modules/"
}
}
}
}If
uvisn't on Claude Desktop'sPATH, use the full path — find it withwhich uv(macOS/Linux) orwhere.exe uv(Windows). On macOS via Homebrew it's typically/opt/homebrew/bin/uv.
{
"mcpServers": {
"resolve": {
"command": "uv",
"args": [
"--directory",
"C:\\absolute\\path\\to\\resolve-claude-mcp",
"run",
"resolve-claude-mcp"
],
"env": {
"RESOLVE_SCRIPT_LIB": "C:\\Program Files\\Blackmagic Design\\DaVinci Resolve\\fusionscript.dll",
"RESOLVE_SCRIPT_API": "C:\\ProgramData\\Blackmagic Design\\DaVinci Resolve\\Support\\Developer\\Scripting",
"PYTHONPATH": "C:\\ProgramData\\Blackmagic Design\\DaVinci Resolve\\Support\\Developer\\Scripting\\Modules\\"
}
}
}
}If you installed Resolve on a non-default drive (e.g. D:\), update RESOLVE_SCRIPT_LIB to point at the actual location of fusionscript.dll. The RESOLVE_SCRIPT_API / PYTHONPATH paths stay under C:\ProgramData\ regardless of where Resolve itself was installed.
{
"mcpServers": {
"resolve": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/resolve-claude-mcp",
"run",
"resolve-claude-mcp"
],
"env": {
"RESOLVE_SCRIPT_LIB": "/opt/resolve/libs/Fusion/fusionscript.so",
"RESOLVE_SCRIPT_API": "/opt/resolve/Developer/Scripting",
"PYTHONPATH": "/opt/resolve/Developer/Scripting/Modules/"
}
}
}
}Step 3: Enable Scripting in Resolve
Open DaVinci Resolve Studio
Go to Preferences > General
Under External scripting using, select Local (or Network if running remotely)
Step 4: Restart Claude Desktop
Quit and reopen the Claude Desktop app. You should see the Resolve Claude MCP tools available (hammer icon).
Usage
Make sure DaVinci Resolve Studio is running with a project open, then talk to Claude:
Project & Navigation
"What project do I have open?"
"Switch to the Color page"
"How many timelines are in this project?"
Media & Timeline
"Import all the .mp4 files from ~/Videos/project/ into the media pool"
"Create a new timeline called 'Rough Cut'"
"What clips are on video track 1?"
"Add a red marker at frame 200 called 'Fix audio here'"
Color Grading
"Show me the node graph for the first clip"
"Apply this LUT to node 1: /path/to/my.cube"
"Set CDL values: increase slope to 1.2 and reduce saturation to 0.8"
AI Features
"Run scene cut detection on the timeline"
"Apply Smart Reframe to the first clip"
"Create a Magic Mask on clip 3 to isolate the subject"
"Generate subtitles from the audio in English"
"Enable Voice Isolation on audio track 1"
"Stabilize the second clip on video track 1"
Transcription
"Transcribe ~/Videos/interview.mp4"
"Transcribe this clip in French using the large model"
"Export an SRT file from ~/Videos/podcast.wav to ~/Desktop/podcast.srt"
"Transcribe the audio and add subtitle markers to the timeline"
Fusion
"List all Fusion compositions on the first clip"
"Add a Fusion composition to clip 2"
"Insert a Fusion title into the timeline"
Rendering
"What render formats are available?"
"Set up a render to ProRes 422 HQ, output to ~/Desktop/exports"
"Add a render job and start rendering"
"What's the render progress?"
Power Tool
"Run this code: print(project.GetSetting('timelineFrameRate'))"
Available Tools (52)
Category | Tools |
Project & Navigation |
|
Media Pool |
|
Timeline |
|
Item Properties |
|
Color Grading |
|
Rendering |
|
AI / Neural Engine |
|
Audio |
|
Fusion |
|
Export |
|
Thumbnail |
|
Local Transcription (macOS only) |
|
Screenshot (macOS only) |
|
Code Execution |
|
Troubleshooting
"Could not connect to DaVinci Resolve"
Make sure DaVinci Resolve Studio is running
Check that scripting is enabled in Preferences > General > External scripting using
Verify the
RESOLVE_SCRIPT_LIBpath matches your installation
"Failed to import DaVinciResolveScript"
Check that
PYTHONPATHin the config points to the correct Modules directoryOn macOS, the default path is
/Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/Scripting/Modules/
"No active timeline"
Open a project and make sure a timeline is loaded before using timeline tools
Tools not appearing in Claude Desktop
Make sure
uvis installed:uv --versionRestart Claude Desktop after editing
claude_desktop_config.jsonCheck the Claude Desktop logs for MCP server errors
Important Notes
DaVinci Resolve Studio is required for full scripting API access. The free version has limited scripting support.
execute_resolve_coderuns arbitrary Python — review code before executing.Some tools require being on a specific page (e.g., thumbnails require the Color page).
The server connects to whichever project is currently open — switching projects in Resolve is reflected immediately.
Disclaimer
USE AT YOUR OWN RISK. This software is provided "as is", without warranty of any kind, express or implied. By using Resolve Claude MCP you acknowledge and accept that:
This is an unofficial, third-party project — not created by, affiliated with, endorsed by, or supported by Blackmagic Design or Anthropic.
It is designed to control DaVinci Resolve Studio through an AI assistant. AI agents can make mistakes: they may modify, overwrite, or delete your projects, timelines, clips, render queues, or files on disk.
The
execute_resolve_codetool executes arbitrary Python code with full access to the Resolve API and your filesystem. Inspect code before allowing execution.The
screenshottool captures the DaVinci Resolve window (or the full screen as a fallback). These images are sent to the AI provider (Anthropic) for analysis. Anything visible in the screenshot — client footage, unreleased material, personal content, notifications, passwords, other apps in the background — may be transmitted. Only use it when you're comfortable with what's on screen, and be aware of your NDAs and privacy obligations.Always work on a backup of your project. Save often. Use Resolve's built-in project backups (Project Manager → right-click → Backups). Keep media outside the project folder if it matters to you.
The authors and contributors accept no liability for lost work, corrupted projects, missed deadlines, wasted render time, accidental uploads/exports, API charges, or any other damages arising from use of this software.
You are responsible for reviewing what the AI is about to do before approving tool calls in your MCP client.
If this is production work on a client project, don't let the AI drive unsupervised. Watch the tool calls, keep backups, render proofs.
License
MIT — see LICENSE. The MIT license specifically disclaims all warranties and liability; the Disclaimer section above restates that in plain English.
Acknowledgments
Inspired by BlenderMCP by Siddharth Ahuja.
Built with the Model Context Protocol by Anthropic.
Available Tools
53 toolsadd_fusion_compC
Add a new Fusion composition to a timeline item.
Parameters:
track_type/track_index/item_index: Clip locator
Inputs: track_type, track_index, item_index. Returns: result
add_markerA
Add a marker to the current timeline.
Parameters:
frame_id: Frame position for the marker
color: Marker color ("Red", "Orange", "Yellow", "Green", "Cyan", "Blue", "Purple", "Pink", "Fuchsia", "Rose", "Lavender", "Sky", "Mint", "Lemon", "Sand", "Cocoa", "Cream")
name: Marker name
note: Optional note text
duration: Marker duration in frames (default: 1)
custom_data: Optional custom data string
Inputs: frame_id (required), color (required), name (required), note, +2 more. Returns: result
add_render_jobB
Add a render job to the queue based on current render settings.
Inputs: no named parameters. Returns: result
append_to_timelineA
Append media pool clips to the current timeline by name.
Parameters:
clip_names: List of clip names to append (must exist in the current media pool folder)
Inputs: clip_names (required). Returns: result
create_fusion_clipA
Create a Fusion clip from one or more timeline items.
Parameters:
track_type: "video" (default)
track_index: 1-based track index (default: 1)
item_indices: List of 0-based item indices to merge. If None, uses all items.
Inputs: track_type, track_index, item_indices. Returns: result
create_magic_maskA
Create an AI-powered Magic Mask on a timeline item for subject isolation. Requires DaVinci Resolve Studio with Neural Engine.
Parameters:
mode: "F" (forward), "B" (backward), or "BI" (bidirectional)
track_type/track_index/item_index: Clip locator
Inputs: mode, track_type, track_index, item_index. Returns: result
create_subtitles_from_audioA
Generate subtitles from audio using AI speech recognition. Requires DaVinci Resolve Studio 19+.
Parameters:
language: "auto", "english", "french", "german", "italian", "japanese", "korean", "mandarin_simplified", "mandarin_traditional", "portuguese", "russian", "spanish", "danish", "dutch", "norwegian", "swedish"
preset: "default", "teletext", or "netflix"
chars_per_line: Characters per line (1-60, default: 42)
line_break: "single" or "double"
gap: Gap between subtitles in frames (0-10, default: 0)
Inputs: language, preset, chars_per_line, line_break, +1 more. Returns: result
create_timelineC
Create a new empty timeline in the current project.
Parameters:
name: Name for the new timeline
Inputs: name (required). Returns: result
delete_fusion_compB
Delete a named Fusion composition from a timeline item.
Parameters:
comp_name: Name of the Fusion composition to delete
track_type/track_index/item_index: Clip locator
Inputs: comp_name (required), track_type, track_index, item_index. Returns: result
detect_scene_cutsA
Detect scene cuts in the current timeline using AI. Requires DaVinci Resolve Studio.
Inputs: no named parameters. Returns: result
execute_resolve_codeA
Execute arbitrary Python code in the DaVinci Resolve scripting environment. Use this for operations not covered by specific tools.
Pre-loaded namespace variables:
resolve: The DaVinci Resolve object
project: The current project
mediaPool: The current media pool
timeline: The current timeline (may be None)
mediaStorage: The media storage object
Use print() to output results, or set a variable named 'result'.
Parameters:
code: Python code to execute
Inputs: code (required). Returns: result
export_current_frameC
Export the current frame as a still image.
Parameters:
file_path: Destination file path (.png, .jpg, .tif, .dpx, .exr)
Inputs: file_path (required). Returns: result
export_fusion_compC
Export a Fusion composition from a timeline item to a file.
Parameters:
export_path: Destination file path
comp_index: 1-based Fusion composition index (default: 1)
track_type/track_index/item_index: Clip locator
Inputs: export_path (required), comp_index, track_type, track_index, +1 more. Returns: result
export_srtA
Transcribe audio and save as an SRT subtitle file. The SRT can then be imported into Resolve's subtitle track.
Parameters:
file_path: Absolute path to the audio/video file to transcribe
output_path: Where to save the .srt file
model: Whisper model size ("tiny", "base", "small", "medium", "large", "turbo")
language: Language code or None for auto-detect
initial_prompt: Optional vocabulary/style hint
Inputs: file_path (required), output_path (required), model, language, +1 more. Returns: result
export_timelineB
Export the current timeline to a file.
Parameters:
file_path: Destination file path
export_type: One of "aaf", "drt", "edl", "fcp_7_xml", "fcpxml_1_8", "fcpxml_1_9", "fcpxml_1_10", "hdr_10_profile_a", "hdr_10_profile_b", "csv", "tab", "otio", "ale", "ale_cdl"
export_subtype: For AAF: "aaf_new" or "aaf_existing". For EDL: "cdl", "sdl", "missing_clips", or "none".
Inputs: file_path (required), export_type, export_subtype. Returns: result
get_current_pageA
Get the currently active page in DaVinci Resolve.
Inputs: no named parameters. Returns: result
get_current_thumbnailA
Get a thumbnail of the current frame from the Color page. Must be on the Color page with a clip selected.
Inputs: no named parameters.
get_current_timecodeA
Get the current playhead timecode.
Inputs: no named parameters. Returns: result
get_current_timeline_infoC
Get detailed information about the current timeline.
Inputs: no named parameters. Returns: result
get_fusion_comp_listB
Get all Fusion compositions associated with a timeline item.
Parameters:
track_type/track_index/item_index: Clip locator
Inputs: track_type, track_index, item_index. Returns: result
get_markersA
Get all markers on the current timeline.
Inputs: no named parameters. Returns: result
get_media_pool_structureB
Get the folder/clip structure of the media pool.
Parameters:
max_depth: Maximum folder recursion depth (default: 3)
max_clips: Maximum clips to list per folder (default: 50)
Inputs: max_depth, max_clips. Returns: result
get_node_graphA
Get the color grading node graph info for a timeline item. Must be on the Color page with a clip selected.
Parameters:
track_type: "video", "audio", or "subtitle" (default: "video")
track_index: 1-based track index (default: 1)
item_index: 0-based item index (default: 0)
Inputs: track_type, track_index, item_index. Returns: result
get_project_infoA
Get information about the current DaVinci Resolve project.
Returns project name, settings (frame rate, resolution), timeline count, current page, and version info.
Inputs: no named parameters. Returns: result
get_render_formatsA
Get available render formats and codecs.
Parameters:
render_format: If provided, returns codecs for that format. Otherwise returns all formats.
Inputs: render_format. Returns: result
get_render_settingsA
Get current render format, codec, render job list, and render presets.
Inputs: no named parameters. Returns: result
get_render_statusA
Get the status of a render job.
Parameters:
job_id: The render job ID (returned by add_render_job)
Inputs: job_id (required). Returns: result
get_timeline_item_propertiesA
Get all properties of a specific timeline item.
Parameters:
track_type: "video", "audio", or "subtitle" (default: "video")
track_index: 1-based track index (default: 1)
item_index: 0-based index of the item in the track (default: 0)
Inputs: track_type, track_index, item_index. Returns: result
get_timeline_itemsB
List all clips/items on a specific track of the current timeline.
Parameters:
track_type: "video", "audio", or "subtitle" (default: "video")
track_index: 1-based track index (default: 1)
Inputs: track_type, track_index. Returns: result
get_voice_isolation_stateA
Get the Voice Isolation state for an audio track. Requires DaVinci Resolve Studio.
Parameters:
track_index: 1-based audio track index
Inputs: track_index (required). Returns: result
import_fusion_compC
Import a Fusion composition from file into a timeline item.
Parameters:
comp_path: Absolute path to the .comp or .setting file
track_type/track_index/item_index: Clip locator
Inputs: comp_path (required), track_type, track_index, item_index. Returns: result
import_mediaA
Import media files into the current media pool folder.
Parameters:
file_paths: List of absolute file paths to import
Inputs: file_paths (required). Returns: result
insert_fusion_compositionA
Insert a blank Fusion composition into the current timeline at the playhead.
Inputs: no named parameters. Returns: result
insert_fusion_generatorB
Insert a Fusion generator into the current timeline at the playhead.
Parameters:
generator_name: Name of the Fusion generator to insert
Inputs: generator_name (required). Returns: result
insert_fusion_titleB
Insert a Fusion title into the current timeline at the playhead.
Parameters:
title_name: Name of the Fusion title template to insert
Inputs: title_name (required). Returns: result
list_whisper_modelsA
List available mlx-whisper models with their HuggingFace repo paths.
Inputs: no named parameters. Returns: result
load_fusion_compB
Load a named Fusion composition as the active composition.
Parameters:
comp_name: Name of the Fusion composition to load
track_type/track_index/item_index: Clip locator
Inputs: comp_name (required), track_type, track_index, item_index. Returns: result
open_pageA
Switch to a specific page in DaVinci Resolve.
Parameters:
page: One of "media", "cut", "edit", "fusion", "color", "fairlight", "deliver"
Inputs: page (required). Returns: result
regenerate_magic_maskC
Regenerate an existing Magic Mask on a timeline item.
Parameters:
track_type/track_index/item_index: Clip locator
Inputs: track_type, track_index, item_index. Returns: result
rename_fusion_compC
Rename a Fusion composition on a timeline item.
Parameters:
old_name: Current name of the Fusion composition
new_name: New name for the composition
track_type/track_index/item_index: Clip locator
Inputs: old_name (required), new_name (required), track_type, track_index, +1 more. Returns: result
screenshotA
Take a screenshot of DaVinci Resolve so you can SEE the current state. Call this frequently — before and after changes, when the user describes something visual, or whenever you need to verify what's on screen. Captures the Resolve window directly. Works on any page.
Inputs: no named parameters.
set_cdlB
Apply CDL (Color Decision List) values to a node.
Parameters:
node_index: 1-based node index
slope: RGB slope as space-separated string (default: "1.0 1.0 1.0")
offset: RGB offset as space-separated string (default: "0.0 0.0 0.0")
power: RGB power as space-separated string (default: "1.0 1.0 1.0")
saturation: Saturation value (default: 1.0)
track_type/track_index/item_index: Clip locator
Inputs: node_index (required), slope, offset, power, +4 more. Returns: result
set_current_timecodeA
Move the playhead to a specific timecode.
Parameters:
timecode: Timecode string in "HH:MM:SS:FF" format
Inputs: timecode (required). Returns: result
set_lutA
Apply a LUT to a node in a clip's color node graph.
Parameters:
node_index: 1-based node index
lut_path: Absolute path to the LUT file (.cube, .3dl, etc.)
track_type: "video" (default)
track_index: 1-based track index (default: 1)
item_index: 0-based item index (default: 0)
Inputs: node_index (required), lut_path (required), track_type, track_index, +1 more. Returns: result
set_render_settingsA
Configure render settings for the current project.
Parameters:
settings: Dict of render settings. Common keys: "TargetDir" (str), "CustomName" (str), "SelectAllFrames" (bool), "MarkIn" (int), "MarkOut" (int), "ExportVideo" (bool), "ExportAudio" (bool), "FormatWidth" (int), "FormatHeight" (int), "FrameRate" (float)
render_format: Format string (e.g. "mp4", "mov"). Set together with codec.
codec: Codec string (e.g. "H.264", "H.265", "ProRes 422 HQ")
Inputs: settings, render_format, codec. Returns: result
set_timeline_item_propertyB
Set a property on a specific timeline item.
Parameters:
property_key: Property name (e.g. "Pan", "Tilt", "ZoomX", "ZoomY", "Opacity", "CropLeft", "CropRight", "CropTop", "CropBottom", "RotationAngle", "FlipX", "FlipY", "CompositeMode", "RetimeProcess", "Scaling", etc.)
property_value: Value to set (will be auto-converted to appropriate type)
track_type: "video", "audio", or "subtitle" (default: "video")
track_index: 1-based track index (default: 1)
item_index: 0-based index of the item in the track (default: 0)
Inputs: property_key (required), property_value (required), track_type, track_index, +1 more. Returns: result
set_voice_isolation_stateA
Set Voice Isolation on an audio track to isolate speech from background noise. Requires DaVinci Resolve Studio.
Parameters:
track_index: 1-based audio track index
enabled: True to enable, False to disable
amount: Isolation amount (0-100, default: 100)
Inputs: track_index (required), enabled (required), amount. Returns: result
smart_reframeC
Apply Smart Reframe to a timeline item (AI-based reframing). Requires DaVinci Resolve Studio with Neural Engine.
Parameters:
track_type/track_index/item_index: Clip locator
Inputs: track_type, track_index, item_index. Returns: result
stabilizeB
Apply stabilization to a timeline item using DaVinci Neural Engine. Requires DaVinci Resolve Studio.
Parameters:
track_type/track_index/item_index: Clip locator
Inputs: track_type, track_index, item_index. Returns: result
start_renderingA
Start rendering queued jobs.
Parameters:
job_ids: Optional list of job IDs to render. If None, renders all queued jobs.
Inputs: job_ids. Returns: result
stop_renderingA
Stop any currently running render processes.
Inputs: no named parameters. Returns: result
transcribe_and_add_subtitlesA
Transcribe audio locally with mlx-whisper and add subtitle markers to the timeline. Long files are auto-chunked so this works on any length.
Parameters:
file_path: Absolute path to the audio/video file to transcribe
model: Whisper model size ("tiny", "base", "small", "medium", "large", "turbo")
language: Language code (e.g. "en", "fr"). None = auto-detect.
initial_prompt: Optional text to guide recognition vocabulary
Inputs: file_path (required), model, language, initial_prompt. Returns: result
transcribe_audioA
Transcribe an audio/video file locally using mlx-whisper (Apple Silicon). Long files are automatically split into 5-minute chunks so it never times out.
Returns ALL segments with timestamps inline (compact format) plus saves an SRT file next to the source for Resolve import.
Parameters:
file_path: Absolute path to audio/video file (mp3, wav, m4a, mp4, mov, etc.)
model: "tiny" (fastest), "base", "small", "medium", "large" (most accurate), "turbo" (best speed/quality, default). Or a full HuggingFace repo path.
language: Language code (e.g. "en", "fr", "de", "ja"). None = auto-detect.
word_timestamps: Include word-level timestamps in output.
initial_prompt: Optional text to guide the model's vocabulary/style.
Inputs: file_path (required), model, language, word_timestamps, +1 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 53 tools
Most tools have clearly distinct purposes, but there is some overlap among transcription-related tools (transcribe_and_add_subtitles, create_subtitles_from_audio, transcribe_audio, export_srt) and between add_render_job and start_rendering. Descriptions help disambiguate, but an agent might occasionally misselect.
The majority of tools follow a verb_noun pattern (e.g., add_marker, create_timeline, export_timeline). A few exceptions like 'screenshot' (noun only) and 'set_cdl' (abbreviation) break the pattern, but overall consistency is good.
53 tools is quite high for a single server. While the scope of DaVinci Resolve is broad, the tool count feels somewhat bloated; many tools are niche (e.g., export_srt, list_whisper_models). A more focused subset or split into multiple servers would be more manageable.
The tool set covers most major areas of DaVinci Resolve: timeline editing, color grading, Fusion, rendering, subtitles, AI features, and media import. Minor gaps exist (e.g., advanced audio track operations), but overall it provides a solid surface for typical workflows.
Maintenance
Related MCP Connectors
The agentic video editor for ChatGPT and Claude. Ask in your chat and it cuts, captions, adds music, titles and motion graphics on a real timeline you can open and adjust.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
A film studio inside your own Claude: your Claude plans, writes, makes, checks and finishes films, pictures, voices and music with you, on your own provider keys.
Related MCP Servers
- FlicenseCqualityDmaintenanceA Model Context Protocol server that enables AI assistants like Claude to interact with DaVinci Resolve Studio, providing advanced control over editing, color grading, audio, and other video production tasks.3222-
- AlicenseAqualityDmaintenanceAllows AI assistants like Claude to directly interact with and control DaVinci Resolve through the Model Context Protocol, providing capabilities for project management, timeline manipulation, media management, and Fusion integration.1480MIT
- AlicenseNot gradedqualityDmaintenanceConnects AI coding assistants (Cursor, Claude Desktop) to DaVinci Resolve, enabling control of video editing workflows through natural language commands for project management, timeline operations, and media pool tasks.MIT
- AlicenseBqualityBmaintenanceEnables natural language control of DaVinci Resolve, allowing Claude to browse projects, edit timelines, apply color grades, render exports, and perform AI-powered frame analysis via Moondream.7715MIT