Skip to main content
Glama

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 screenshot tool are macOS-only (they rely on mlx-whisper and macOS-specific screen-capture APIs).

Demo

Color Grading with Claude

Color grading demo

Local Transcription & Subtitles

Transcription demo

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 screen

  • Uses macOS screencapture + Quartz to target the Resolve window directly

  • Needs 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, mediaStorage pre-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 | sh

Installation

Step 1: Clone this repo

git clone https://github.com/barckley75/resolve-claude-mcp.git
cd resolve-claude-mcp
uv sync

Note 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.json

  • Windows: %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 uv isn't on Claude Desktop's PATH, use the full path — find it with which uv (macOS/Linux) or where.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

  1. Open DaVinci Resolve Studio

  2. Go to Preferences > General

  3. 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

get_project_info, open_page, get_current_page

Media Pool

get_media_pool_structure, import_media, create_timeline

Timeline

get_current_timeline_info, get_timeline_items, append_to_timeline, add_marker, get_markers, set_current_timecode, get_current_timecode

Item Properties

get_timeline_item_properties, set_timeline_item_property

Color Grading

get_node_graph, set_lut, set_cdl

Rendering

get_render_formats, get_render_settings, set_render_settings, add_render_job, start_rendering, get_render_status, stop_rendering

AI / Neural Engine

create_magic_mask, regenerate_magic_mask, smart_reframe, stabilize, detect_scene_cuts, create_subtitles_from_audio

Audio

get_voice_isolation_state, set_voice_isolation_state

Fusion

get_fusion_comp_list, add_fusion_comp, import_fusion_comp, export_fusion_comp, load_fusion_comp, delete_fusion_comp, rename_fusion_comp, create_fusion_clip, insert_fusion_generator, insert_fusion_composition, insert_fusion_title

Export

export_timeline, export_current_frame

Thumbnail

get_current_thumbnail

Local Transcription (macOS only)

transcribe_audio, transcribe_and_add_subtitles, export_srt, list_whisper_models

Screenshot (macOS only)

screenshot

Code Execution

execute_resolve_code

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_LIB path matches your installation

"Failed to import DaVinciResolveScript"

  • Check that PYTHONPATH in the config points to the correct Modules directory

  • On 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 uv is installed: uv --version

  • Restart Claude Desktop after editing claude_desktop_config.json

  • Check 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_code runs 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_code tool executes arbitrary Python code with full access to the Resolve API and your filesystem. Inspect code before allowing execution.

  • The screenshot tool 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 tools
add_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

    B3.3/5.0

    Scored across 53 tools

    Disambiguation4/5

    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.

    Naming Consistency4/5

    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.

    Tool Count3/5

    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.

    Completeness4/5

    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

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    Appeared in Searches