Skip to main content
Glama
Airta-Admin

io.github.Airta-Admin/davinc-resolve-local-bridge-mcp

by Airta-Admin

Davinc-Resolve-Local-Bridge-MCP


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.


Related MCP server: resolve-mcp

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

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.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • A real timeline video editor for AI agents: journaled edits, FFmpeg/MLT rendering, exports

  • MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Airta-Admin/Davinc-Resolve-Local-Bridge-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server