Airta-Admin

Davinc-Resolve-Local-Bridge-MCP

Community Airta-Admin
Updated

Control DaVinci Resolve from any AI assistant. 215 MCP tools covering the full Resolve API. Works with Free and Studio editions.

Davinc-Resolve-Local-Bridge-MCP

Control DaVinci Resolve from any AI assistant — Claude, Cursor, Devin, and more.

215 tools. Full API coverage. Works with DaVinci Resolve Free and Studio.

What Is This?

Davinc-Resolve-Local-Bridge-MCP is a Model Context Protocol (MCP) server that gives AI assistants full control over DaVinci Resolve. It exposes 215 tools covering the entire Resolve scripting API — projects, timelines, media, Fusion, color grading, rendering, and more.

How It Works

Your AI Assistant (Claude, Cursor, Devin, etc.)
       │
       │  talks MCP (stdio)
       ▼
  mcp_server/server.py        ← runs on your machine
       │
       │  talks HTTP (localhost:8787)
       ▼
  Bridge-Connection-Script.py ← runs INSIDE DaVinci Resolve
       │                        (Workspace > Scripts menu)
       ▼
  DaVinci Resolve API         ← full read + write access

The bridge script runs inside DaVinci Resolve's process, giving it full access to the Resolve scripting API — even on the Free edition (which blocks external scripting). The MCP server runs as a separate process and proxies tool calls to the bridge over localhost HTTP.

Quick Start

Prerequisites

  • DaVinci Resolve 18.5+ (Free or Studio)
  • Python 3.10+ on your machine
  • An MCP-compatible AI assistant (Claude Desktop, Cursor, Devin, etc.)

Step 1 — Install the Bridge Script

Run the installer:

python install.py

Or manually copy bridge/Bridge-Connection-Script.py to Resolve's scripts folder:

Platform Path
Windows %APPDATA%\Roaming\Blackmagic Design\DaVinci Resolve\Support\Fusion\Scripts\Utility\
macOS ~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Scripts/Utility/
Linux ~/.local/share/DaVinciResolve/Fusion/Scripts/Utility/

Step 2 — Install MCP Server Dependencies

pip install -r requirements.txt

Step 3 — Configure Your AI Assistant

Add the MCP server to your assistant's configuration file. The server path is mcp_server/server.py in this repo.

Claude Desktop

Edit claude_desktop_config.json:

{
  "mcpServers": {
    "davinci-resolve-local-bridge": {
      "command": "python",
      "args": ["C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py"]
    }
  }
}
Cursor

Edit .cursor/mcp.json:

{
  "mcpServers": {
    "davinci-resolve-local-bridge": {
      "command": "python",
      "args": ["C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py"]
    }
  }
}
Devin

Edit mcp_config.json:

{
  "mcpServers": {
    "resolve-local-bridge": {
      "command": "python",
      "args": ["C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py"]
    }
  }
}
Claude Code
claude mcp add davinci-resolve-local-bridge -- python C:/path/to/Davinc-Resolve-Local-Bridge-MCP/mcp_server/server.py
Any MCP Client (generic)

The server uses stdio transport. Launch it with:

python mcp_server/server.py

Step 4 — Start the Bridge Inside DaVinci Resolve

  1. Open DaVinci Resolve
  2. Go to Workspace → Scripts → Bridge-Connection-Script
  3. Look in the Console (Workspace → Console) for:
[Resolve Bridge] Connected to Resolve 21.0.4.5
[Resolve Bridge] HTTP server running on http://127.0.0.1:8787
[Resolve Bridge] 215 actions available

Step 5 — Start Using It

Ask your AI assistant:

"Check if DaVinci Resolve is connected"

The assistant will call the resolve_status tool and report back. Then try:

"Create a new 1920x1080 30fps project called 'My Video' and add a timeline"

Architecture

Bridge Script (bridge/Bridge-Connection-Script.py)

A Python script that runs inside DaVinci Resolve via the Workspace > Scripts menu. It:

  • Obtains the live resolve object from Fusion's globals
  • Starts an HTTP server on 127.0.0.1:8787
  • Exposes 3 endpoints:
    • GET /health — check if the bridge is alive
    • GET /actions — list all available action names
    • POST /action — execute an action by name with parameters
  • Stays alive with a blocking serve_forever() call
  • Kills any previous instance on the same port before starting

MCP Server (mcp_server/server.py)

A standalone MCP server that:

  • Connects to the bridge over HTTP on localhost
  • Auto-discovers all 215 actions from the bridge's /actions endpoint
  • Exposes each action as an MCP tool with the resolve_ prefix
  • Proxies tool calls to the bridge via POST /action
  • Stays in sync with the bridge — no manual tool definitions needed

All 215 Tools

The MCP server auto-discovers tools from the bridge. Each tool is prefixed with resolve_ (e.g., status becomes resolve_status). Pass parameters as a params object.

Resolve Application (15 tools)

Tool Parameters Description
resolve_status Check bridge connectivity and get current project/timeline info
resolve_get_version Get Resolve version info
resolve_get_current_page Get the active page (edit, cut, color, etc.)
resolve_open_page page Switch to a page: edit, cut, fusion, color, fairlight, deliver, media
resolve_get_layout_presets List available layout presets
resolve_load_layout_preset presetName Load a layout preset by name
resolve_get_keyframe_mode Get current keyframe mode
resolve_set_keyframe_mode keyframeMode Set keyframe mode
resolve_get_fairlight_presets List Fairlight audio presets
resolve_get_burnin_presets List burn-in presets
resolve_import_render_preset presetPath Import a render preset from file
resolve_export_render_preset presetName, exportPath Export a render preset to file
resolve_open_fusion_page Switch to Fusion page
resolve_open_edit_page Switch to Edit page
resolve_open_deliver_page Switch to Deliver page

Project Manager (18 tools)

Tool Parameters Description
resolve_create_project name, width, height, fps Create a new project
resolve_load_project name Load an existing project
resolve_save_project Save the current project
resolve_close_project Close the current project
resolve_delete_project name Delete a project
resolve_create_folder folderName Create a project folder
resolve_delete_folder folderName Delete a project folder
resolve_get_project_list List projects in current folder
resolve_get_folder_list List subfolders in current folder
resolve_get_current_folder Get current folder name
resolve_open_folder folderName Open a folder
resolve_goto_root_folder Navigate to root folder
resolve_goto_parent_folder Navigate to parent folder
resolve_import_project filePath, projectName Import a .drp project
resolve_export_project projectName, filePath, withStillsAndLUTs Export a project as .drp
resolve_archive_project projectName, filePath, ... Archive a project
resolve_get_current_database Get current database name
resolve_get_database_list List available databases

Project Settings (7 tools)

Tool Parameters Description
resolve_get_project_name Get current project name
resolve_set_project_name name Rename the current project
resolve_get_project_setting key Get a project setting by key
resolve_set_project_setting key, value Set a project setting
resolve_get_project_settings Get all project settings
resolve_get_project_preset_list List project presets
resolve_set_project_preset presetName Apply a project preset

Media Storage (4 tools)

Tool Parameters Description
resolve_get_mounted_volumes List mounted storage volumes
resolve_get_subfolder_list folderPath List subfolders in a path
resolve_get_file_list folderPath List files in a folder
resolve_reveal_in_storage path Reveal a file in the OS file browser

Media Pool (13 tools)

Tool Parameters Description
resolve_import_media paths (list) Import media files into the pool
resolve_get_media_pool List all clips in root folder
resolve_get_root_folder Get root folder info
resolve_add_sub_folder folderName, parentFolderName Create a subfolder
resolve_set_current_folder folderName Set the current folder
resolve_delete_clips clipNames (list) Delete clips from pool
resolve_move_clips clipNames, targetFolder Move clips to a folder
resolve_relink_clips clipNames, folderPath Relink clips
resolve_unlink_clips clipNames Unlink clips
resolve_export_metadata fileName, clipNames Export metadata CSV
resolve_get_selected_clips List selected clips
resolve_set_selected_clip clipName Select a clip
resolve_add_timeline_mattes paths (list) Add matte files

Timeline (21 tools)

Tool Parameters Description
resolve_create_timeline name Create a new empty timeline
resolve_create_timeline_from_clips name, clipNames Create timeline from clips
resolve_list_timelines List all timelines
resolve_get_timeline_name Get current timeline name
resolve_set_timeline_name name Rename current timeline
resolve_set_current_timeline timelineIndex Switch to timeline by index (1-based)
resolve_duplicate_timeline Duplicate the current timeline
resolve_delete_timelines timelineNames Delete timelines
resolve_get_timeline_start_frame Get start frame
resolve_get_timeline_end_frame Get end frame
resolve_get_start_timecode Get start timecode
resolve_set_start_timecode timecode Set start timecode
resolve_get_current_timecode Get current timecode
resolve_set_current_timecode timecode Set current timecode
resolve_detect_scene_cuts Detect scene cuts
resolve_create_subtitles_from_audio settings Auto-generate subtitles
resolve_timeline_export fileName, exportType, exportSubtype Export timeline
resolve_import_timeline_from_file filePath Import timeline from file
resolve_append_to_timeline clipNames Append clips to timeline
resolve_get_timeline_setting key Get a timeline setting
resolve_set_timeline_setting key, value Set a timeline setting

Timeline Tracks (11 tools)

Tool Parameters Description
resolve_get_track_count trackType Count tracks (video/audio/subtitle)
resolve_add_track trackType Add a track
resolve_delete_track trackType, trackIndex Delete a track
resolve_set_track_enable trackType, trackIndex, enabled Enable/disable a track
resolve_get_track_enable trackType, trackIndex Check if track is enabled
resolve_set_track_lock trackType, trackIndex, locked Lock/unlock a track
resolve_get_track_lock trackType, trackIndex Check if track is locked
resolve_get_track_name trackType, trackIndex Get track name
resolve_set_track_name trackType, trackIndex, name Set track name
resolve_get_items_in_track trackType, index List clips on a track
resolve_get_timeline_selected_clips List selected timeline clips

Timeline Items (66 tools)

All item actions accept optional trackType, trackIndex, itemIndex to target a specific clip, or operate on the first selected clip if omitted.

Tool Parameters Description
resolve_get_item_name trackType?, trackIndex?, itemIndex? Get clip name
resolve_set_item_name name, trackType?, ... Rename a clip
resolve_get_item_duration trackType?, ... Get clip duration
resolve_get_item_start trackType?, ... Get clip start frame
resolve_get_item_end trackType?, ... Get clip end frame
resolve_get_item_property key?, trackType?, ... Get a clip property
resolve_set_item_property key, value, trackType?, ... Set a clip property
resolve_get_item_enabled trackType?, ... Check if clip is enabled
resolve_set_item_enabled enabled, trackType?, ... Enable/disable a clip
resolve_set_item_color colorName, trackType?, ... Set clip color
resolve_get_item_color trackType?, ... Get clip color
resolve_clear_item_color trackType?, ... Clear clip color
resolve_add_item_flag color, trackType?, ... Add a flag
resolve_get_item_flags trackType?, ... Get flags
resolve_clear_item_flags color, trackType?, ... Clear flags
resolve_add_item_marker frameId, color, name, note?, ... Add a marker
resolve_get_item_markers trackType?, ... Get markers
resolve_insert_generator generatorName Insert a generator
resolve_insert_fusion_generator generatorName Insert a Fusion generator
resolve_insert_fusion_composition Insert a Fusion composition
resolve_insert_ofx_generator generatorName Insert an OFX generator
resolve_insert_title titleName Insert a title
resolve_insert_fusion_title titleName Insert a Fusion title
resolve_grab_still Grab a still from current frame
resolve_grab_all_stills Grab stills from all clips
resolve_create_compound_clip name Create a compound clip
resolve_create_fusion_clip Create a Fusion clip
resolve_import_into_timeline filePath, importOptions? Import into timeline
resolve_stabilize trackType?, ... Stabilize a clip
resolve_smart_reframe trackType?, ... Smart Reframe a clip
resolve_create_magic_mask mode, trackType?, ... Create a Magic Mask
resolve_regenerate_magic_mask trackType?, ... Regenerate Magic Mask
resolve_get_item_track_info trackType?, ... Get track info for a clip
resolve_get_linked_items trackType?, ... Get linked items
resolve_set_item_cdl cdl, trackType?, ... Set CDL values
resolve_add_take mediaPoolItemName, startFrame?, endFrame? Add a take
resolve_get_takes_count trackType?, ... Count takes
resolve_select_take_by_index idx, trackType?, ... Select a take
resolve_finalize_take trackType?, ... Finalize the current take
resolve_copy_grades targetItemNames, trackType?, ... Copy grades to other clips
resolve_export_lut exportType, path, trackType?, ... Export a LUT
resolve_set_color_output_cache cache_value, trackType?, ... Set color output cache
resolve_set_fusion_output_cache cache_value, trackType?, ... Set Fusion output cache
resolve_get_clip_metadata metadataType? Get clip metadata
resolve_set_clip_metadata metadataType, metadataValue Set clip metadata
resolve_get_clip_property propertyName? Get clip property
resolve_set_clip_property propertyName, propertyValue Set clip property
resolve_link_proxy_media proxyMediaFilePath Link proxy media
resolve_unlink_proxy_media Unlink proxy media
resolve_replace_clip filePath Replace clip with file
resolve_add_clip_marker frameId, color, name, note? Add a clip marker
resolve_get_clip_markers Get clip markers
resolve_set_clip_color colorName Set clip color (media pool)
resolve_add_clip_flag color Add a clip flag
resolve_transcribe_clip_audio useSpeakerDetection? Transcribe audio
resolve_set_clip_mark_inout markIn, markOut, type Set mark in/out
resolve_clear_clip_mark_inout type Clear mark in/out
resolve_add_timeline_marker frameId, color, name, note? Add timeline marker
resolve_get_timeline_markers Get timeline markers
resolve_delete_timeline_markers_by_color color Delete markers by color
resolve_delete_timeline_marker_at_frame frameNum Delete marker at frame
resolve_export_current_frame filePath Export current frame as still
resolve_apply_fairlight_preset name Apply Fairlight preset
resolve_get_quick_export_presets List quick export presets

Fusion Compositions (14 tools)

Tool Parameters Description
resolve_create_fusion_comp name Create a Fusion composition
resolve_add_fusion_comp trackType?, ... Add a Fusion comp to a clip
resolve_import_fusion_comp path, trackType?, ... Import a .comp file
resolve_export_fusion_comp path, compIndex?, trackType?, ... Export a Fusion comp
resolve_load_fusion_comp_by_name compName, trackType?, ... Load a comp by name
resolve_delete_fusion_comp_by_name compName, trackType?, ... Delete a comp by name
resolve_rename_fusion_comp oldName, newName, trackType?, ... Rename a comp
resolve_get_item_fusion_comp_count trackType?, ... Count Fusion comps on a clip
resolve_get_item_fusion_comp_names trackType?, ... List Fusion comp names
resolve_get_current_comp Get current Fusion composition
resolve_fusion_get_comp_list List all open comps
resolve_fusion_new_comp Create a new Fusion comp
resolve_fusion_save_comp filePath Save current comp
resolve_fusion_load_comp filePath Load a comp file
resolve_fusion_close_comp Close current comp
resolve_fusion_render_comp Render current comp

Fusion Tools (11 tools)

Tool Parameters Description
resolve_fusion_get_tool_list List all tools/nodes in current comp
resolve_fusion_find_tool name Find a tool by name
resolve_fusion_delete_tool name Delete a tool
resolve_fusion_get_attrs name Get tool attributes
resolve_fusion_set_attrs name, attrs Set tool attributes
resolve_fusion_add_node nodeType, name Add a node (Background, Paint, Merge, etc.)
resolve_fusion_connect fromNode, toNode, input Connect two nodes
resolve_fusion_set_input node, input, value, frame? Set a node input (can keyframe)
resolve_fusion_get_input node, input Get a node input value
resolve_fusion_set_current_frame frame Set the current frame
resolve_fusion_get_current_frame Get the current frame

Gallery (4 tools)

Tool Parameters Description
resolve_get_gallery_still_albums List gallery still albums
resolve_get_gallery_powergrade_albums List PowerGrade albums
resolve_create_gallery_still_album Create a still album
resolve_create_powergrade_album Create a PowerGrade album

Color / Nodes (7 tools)

Tool Parameters Description
resolve_get_node_count Get node count on current clip
resolve_get_node_label nodeIndex Get a node label
resolve_get_node_lut nodeIndex Get a node's LUT
resolve_set_node_lut nodeIndex, lutPath Set a LUT on a node
resolve_set_node_enabled nodeIndex, isEnabled Enable/disable a node
resolve_reset_all_grades Reset all grades
resolve_refresh_lut_list Refresh the LUT list

Rendering (22 tools)

Tool Parameters Description
resolve_get_render_formats List render formats
resolve_get_render_codecs renderFormat List codecs for a format
resolve_get_current_render_format_codec Get current format/codec
resolve_set_render_format_codec format, codec Set render format and codec
resolve_get_render_mode Get render mode
resolve_set_render_mode renderMode Set render mode
resolve_get_render_resolutions format, codec List render resolutions
resolve_get_render_preset_list List render presets
resolve_load_render_preset presetName Load a render preset
resolve_save_as_new_render_preset presetName Save a new render preset
resolve_delete_render_preset presetName Delete a render preset
resolve_set_render_settings settings Set render settings (TargetDir, CustomName, etc.)
resolve_add_render_job Add a render job
resolve_delete_render_job jobId Delete a render job
resolve_delete_all_render_jobs Delete all render jobs
resolve_get_render_job_list List render jobs
resolve_start_rendering jobIds?, isInteractiveMode? Start rendering
resolve_stop_rendering Stop rendering
resolve_is_rendering_in_progress Check if rendering
resolve_get_render_status jobId Get render job status
resolve_render_with_quick_export presetName Quick export
resolve_render settings? Add job and start rendering

Speech & Subtitles (1 tool)

Tool Parameters Description
resolve_generate_speech text, voice? Generate AI speech audio

Special (1 tool)

Tool Parameters Description
resolve_create_hand_animation imagePath, ... Create a hand-drawing animation (Daniel Batal technique)

Troubleshooting

Bridge won't start

  • Make sure DaVinci Resolve is running and a project is open
  • Check the Console (Workspace → Console) for error messages
  • Restart DaVinci Resolve — it only scans the Scripts folder at startup

"Could not connect to Resolve Bridge"

  • Make sure you ran Workspace → Scripts → Bridge-Connection-Script inside Resolve
  • Check that the console shows [Resolve Bridge] HTTP server running on http://127.0.0.1:8787
  • If the port is already in use, close Resolve and reopen it (stale fuscript.exe processes can hold the port)

Tools return errors

  • Call resolve_status first to verify connectivity
  • Some actions require a project to be open, a timeline to exist, or a clip to be selected
  • Error messages from the bridge indicate what's missing

Technical Details

  • Bridge port: 127.0.0.1:8787 (localhost only, no external access)
  • Transport: HTTP/1.0 with Connection: close
  • MCP transport: stdio
  • Dependencies: mcp, requests (MCP server only; bridge uses pure stdlib)
  • Resolve version: 18.5+ (tested on 21.0.4.5)
  • Python: 3.10+ for MCP server; bridge uses Resolve's embedded Python

License

MIT License — see LICENSE file.

Credits

Created by The Geek Gods. Inspired by the DaVinci Resolve scripting community.

MCP Server · Populars

MCP Server · New

    Get-Concord-AI

    Concord MCP

    Live messaging for coding agents

    Community Get-Concord-AI
    alijancb

    Subio MCP

    Open-source MCP server for discovering fast-growing internet conversations with Subio

    Community alijancb
    ruezo

    MCP Video Digest (视频内容提取总结)

    MCP Server for transcribing videos via video links and summarizing video content

    Community ruezo
    LastSearch-HQ

    LastSearch

    Reliable research infrastructure for AI agents. Evidence-backed web search with citations, confidence scores, and Clarity anti-hallucination. MCP server, REST API, Python SDK.

    Community LastSearch-HQ
    gtfodevs

    Autonomo MCP

    Tired of 'it works' lies? Autonomo MCP makes your AI prove it—on real hardware, right in your editor.

    Community gtfodevs