Skip to main content
Glama
Airta-Admin

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

by Airta-Admin

Davinc-Resolve-Local-Bridge-MCP


这是什么?

Davinc-Resolve-Local-Bridge-MCP 是一个 Model Context Protocol (MCP) 服务器,让 AI 助手能够完全控制 DaVinci Resolve。它提供 215 个工具,覆盖整个 Resolve 脚本 API——项目、时间线、媒体、Fusion、调色、渲染等。

工作原理

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

桥接脚本在 DaVinci Resolve 进程内部运行,使其能够完全访问 Resolve 脚本 API——即使在 Free 版(该版本会阻止外部脚本)上也是如此。MCP 服务器作为独立进程运行,并通过 localhost HTTP 将工具调用代理到桥接器。


Related MCP server: resolve-mcp

快速开始

前置要求

  • DaVinci Resolve 18.5+(Free 或 Studio)

  • 你的机器上安装 Python 3.10+

  • 兼容 MCP 的 AI 助手(Claude Desktop、Cursor、Devin 等)

第 1 步 — 安装桥接脚本

运行安装程序:

python install.py

或者手动将 bridge/Bridge-Connection-Script.py 复制到 Resolve 的脚本文件夹:

平台

路径

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/

第 2 步 — 安装 MCP 服务器依赖

pip install -r requirements.txt

第 3 步 — 配置你的 AI 助手

将 MCP 服务器添加到你的助手配置文件中。服务器路径是本仓库中的 mcp_server/server.py

Claude Desktop

编辑 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

编辑 .cursor/mcp.json

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

Devin

编辑 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

任意 MCP 客户端(通用)

服务器使用 stdio 传输。使用以下命令启动:

python mcp_server/server.py

第 4 步 — 在 DaVinci Resolve 中启动桥接器

  1. 打开 DaVinci Resolve

  2. 转到 Workspace → Scripts → Bridge-Connection-Script

  3. Console(Workspace → Console)中查看:

[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

第 5 步 — 开始使用

向你的 AI 助手提问:

"检查 DaVinci Resolve 是否已连接"

助手将调用 resolve_status 工具并返回结果。然后尝试:

"创建一个名为 'My Video' 的 1920x1080 30fps 新项目并添加时间线"


架构

桥接脚本(bridge/Bridge-Connection-Script.py

一个通过 Workspace > Scripts 菜单在 DaVinci Resolve 内部运行的 Python 脚本。它:

  • 从 Fusion 的全局变量中获取实时的 resolve 对象

  • 127.0.0.1:8787 上启动 HTTP 服务器

  • 提供 3 个端点:

    • GET /health — 检查桥接器是否存活

    • GET /actions — 列出所有可用的操作名称

    • POST /action — 按名称执行操作并传入参数

  • 通过阻塞式 serve_forever() 调用保持运行

  • 启动前会终止同一端口上的任何先前实例

MCP 服务器(mcp_server/server.py

一个独立的 MCP 服务器,它:

  • 通过 localhost 上的 HTTP 连接到桥接器

  • 从桥接器的 /actions 端点自动发现全部 215 个操作

  • 将每个操作作为带有 resolve_ 前缀的 MCP 工具公开

  • 通过 POST /action 将工具调用代理到桥接器

  • 与桥接器保持同步——无需手动定义工具


全部 215 个工具

MCP 服务器从桥接器自动发现工具。每个工具都带有 resolve_ 前缀(例如,status 变为 resolve_status)。通过 params 对象传递参数。

Resolve 应用程序(15 个工具)

工具

参数

描述

resolve_status

检查桥接连接状态并获取当前项目/时间线信息

resolve_get_version

获取 Resolve 版本信息

resolve_get_current_page

获取当前活动页面(edit、cut、color 等)

resolve_open_page

page

切换到指定页面:edit、cut、fusion、color、fairlight、deliver、media

resolve_get_layout_presets

列出可用的布局预设

resolve_load_layout_preset

presetName

按名称加载布局预设

resolve_get_keyframe_mode

获取当前关键帧模式

resolve_set_keyframe_mode

keyframeMode

设置关键帧模式

resolve_get_fairlight_presets

列出 Fairlight 音频预设

resolve_get_burnin_presets

列出烧录预设

resolve_import_render_preset

presetPath

从文件导入渲染预设

resolve_export_render_preset

presetName, exportPath

将渲染预设导出到文件

resolve_open_fusion_page

切换到 Fusion 页面

resolve_open_edit_page

切换到 Edit 页面

resolve_open_deliver_page

切换到 Deliver 页面

项目管理器(18 个工具)

工具

参数

描述

resolve_create_project

name, width, height, fps

创建新项目

resolve_load_project

name

加载现有项目

resolve_save_project

保存当前项目

resolve_close_project

关闭当前项目

resolve_delete_project

name

删除项目

resolve_create_folder

folderName

创建项目文件夹

resolve_delete_folder

folderName

删除项目文件夹

resolve_get_project_list

列出当前文件夹中的项目

resolve_get_folder_list

列出当前文件夹中的子文件夹

resolve_get_current_folder

获取当前文件夹名称

resolve_open_folder

folderName

打开文件夹

resolve_goto_root_folder

导航到根文件夹

resolve_goto_parent_folder

导航到父文件夹

resolve_import_project

filePath, projectName

导入 .drp 项目

resolve_export_project

projectName, filePath, withStillsAndLUTs

将项目导出为 .drp

resolve_archive_project

projectName, filePath, ...

归档项目

resolve_get_current_database

获取当前数据库名称

resolve_get_database_list

列出可用数据库

项目设置(7 个工具)

工具

参数

描述

resolve_get_project_name

获取当前项目名称

resolve_set_project_name

name

重命名当前项目

resolve_get_project_setting

key

按键获取项目设置

resolve_set_project_setting

key, value

设置项目设置

resolve_get_project_settings

获取所有项目设置

resolve_get_project_preset_list

列出项目预设

resolve_set_project_preset

presetName

应用项目预设

媒体存储(4 个工具)

工具

参数

描述

resolve_get_mounted_volumes

列出已挂载的存储卷

resolve_get_subfolder_list

folderPath

列出路径中的子文件夹

resolve_get_file_list

folderPath

列出文件夹中的文件

resolve_reveal_in_storage

path

在操作系统文件浏览器中显示文件

媒体池(13 个工具)

工具

参数

描述

resolve_import_media

paths(列表)

将媒体文件导入媒体池

resolve_get_media_pool

列出根文件夹中的所有片段

resolve_get_root_folder

获取根文件夹信息

resolve_add_sub_folder

folderName, parentFolderName

创建子文件夹

resolve_set_current_folder

folderName

设置当前文件夹

resolve_delete_clips

clipNames(列表)

从媒体池中删除片段

resolve_move_clips

clipNames, targetFolder

将片段移动到文件夹

resolve_relink_clips

clipNames, folderPath

重新链接片段

resolve_unlink_clips

clipNames

取消链接片段

resolve_export_metadata

fileName, clipNames

导出元数据 CSV

resolve_get_selected_clips

列出选中的片段

resolve_set_selected_clip

clipName

选择片段

resolve_add_timeline_mattes

paths(列表)

添加遮罩文件

时间线(21 个工具)

工具

参数

描述

resolve_create_timeline

name

创建新的空时间线

resolve_create_timeline_from_clips

name, clipNames

从片段创建时间线

resolve_list_timelines

列出所有时间线

resolve_get_timeline_name

获取当前时间线名称

resolve_set_timeline_name

name

重命名当前时间线

resolve_set_current_timeline

timelineIndex

按索引切换时间线(从1开始)

resolve_duplicate_timeline

复制当前时间线

resolve_delete_timelines

timelineNames

删除时间线

resolve_get_timeline_start_frame

获取起始帧

resolve_get_timeline_end_frame

获取结束帧

resolve_get_start_timecode

获取起始时间码

resolve_set_start_timecode

timecode

设置起始时间码

resolve_get_current_timecode

获取当前时间码

resolve_set_current_timecode

timecode

设置当前时间码

resolve_detect_scene_cuts

检测场景剪切

resolve_create_subtitles_from_audio

settings

自动生成字幕

resolve_timeline_export

fileName, exportType, exportSubtype

导出时间线

resolve_import_timeline_from_file

filePath

从文件导入时间线

resolve_append_to_timeline

clipNames

将片段追加到时间线

resolve_get_timeline_setting

key

获取时间线设置

resolve_set_timeline_setting

key, value

设置时间线设置

时间线轨道(11个工具)

工具

参数

描述

resolve_get_track_count

trackType

统计轨道数量(视频/音频/字幕)

resolve_add_track

trackType

添加轨道

resolve_delete_track

trackType, trackIndex

删除轨道

resolve_set_track_enable

trackType, trackIndex, enabled

启用/禁用轨道

resolve_get_track_enable

trackType, trackIndex

检查轨道是否启用

resolve_set_track_lock

trackType, trackIndex, locked

锁定/解锁轨道

resolve_get_track_lock

trackType, trackIndex

检查轨道是否锁定

resolve_get_track_name

trackType, trackIndex

获取轨道名称

resolve_set_track_name

trackType, trackIndex, name

设置轨道名称

resolve_get_items_in_track

trackType, index

列出轨道上的片段

resolve_get_timeline_selected_clips

列出选中的时间线片段

时间线片段(66个工具)

所有片段操作都接受可选的 trackTypetrackIndexitemIndex 来定位特定片段,如果省略则作用于第一个选中的片段。

Tool

Parameters

Description

resolve_get_item_name

trackType?, trackIndex?, itemIndex?

获取片段名称

resolve_set_item_name

name, trackType?, ...

重命名片段

resolve_get_item_duration

trackType?, ...

获取片段时长

resolve_get_item_start

trackType?, ...

获取片段起始帧

resolve_get_item_end

trackType?, ...

获取片段结束帧

resolve_get_item_property

key?, trackType?, ...

获取片段属性

resolve_set_item_property

key, value, trackType?, ...

设置片段属性

resolve_get_item_enabled

trackType?, ...

检查片段是否启用

resolve_set_item_enabled

enabled, trackType?, ...

启用/禁用片段

resolve_set_item_color

colorName, trackType?, ...

设置片段颜色

resolve_get_item_color

trackType?, ...

获取片段颜色

resolve_clear_item_color

trackType?, ...

清除片段颜色

resolve_add_item_flag

color, trackType?, ...

添加标记

resolve_get_item_flags

trackType?, ...

获取标记

resolve_clear_item_flags

color, trackType?, ...

清除标记

resolve_add_item_marker

frameId, color, name, note?, ...

添加标记点

resolve_get_item_markers

trackType?, ...

获取标记点

resolve_insert_generator

generatorName

插入生成器

resolve_insert_fusion_generator

generatorName

插入 Fusion 生成器

resolve_insert_fusion_composition

插入 Fusion 合成

resolve_insert_ofx_generator

generatorName

插入 OFX 生成器

resolve_insert_title

titleName

插入标题

resolve_insert_fusion_title

titleName

插入 Fusion 标题

resolve_grab_still

从当前帧抓取静帧

resolve_grab_all_stills

从所有片段抓取静帧

resolve_create_compound_clip

name

创建复合片段

resolve_create_fusion_clip

创建 Fusion 片段

resolve_import_into_timeline

filePath, importOptions?

导入到时间线

resolve_stabilize

trackType?, ...

稳定片段

resolve_smart_reframe

trackType?, ...

智能重构片段

resolve_create_magic_mask

mode, trackType?, ...

创建 Magic Mask

resolve_regenerate_magic_mask

trackType?, ...

重新生成 Magic Mask

resolve_get_item_track_info

trackType?, ...

获取片段的轨道信息

resolve_get_linked_items

trackType?, ...

获取关联项

resolve_set_item_cdl

cdl, trackType?, ...

设置 CDL 值

resolve_add_take

mediaPoolItemName, startFrame?, endFrame?

添加一个 take

resolve_get_takes_count

trackType?, ...

统计 take 数量

resolve_select_take_by_index

idx, trackType?, ...

选择 take

resolve_finalize_take

trackType?, ...

完成当前 take

resolve_copy_grades

targetItemNames, trackType?, ...

将调色复制到其他片段

resolve_export_lut

exportType, path, trackType?, ...

导出 LUT

resolve_set_color_output_cache

cache_value, trackType?, ...

设置颜色输出缓存

resolve_set_fusion_output_cache

cache_value, trackType?, ...

设置 Fusion 输出缓存

resolve_get_clip_metadata

metadataType?

获取片段元数据

resolve_set_clip_metadata

metadataType, metadataValue

设置片段元数据

resolve_get_clip_property

propertyName?

获取片段属性

resolve_set_clip_property

propertyName, propertyValue

设置片段属性

resolve_link_proxy_media

proxyMediaFilePath

链接代理媒体

resolve_unlink_proxy_media

取消链接代理媒体

resolve_replace_clip

filePath

用文件替换片段

resolve_add_clip_marker

frameId, color, name, note?

添加片段标记点

resolve_get_clip_markers

获取片段标记点

resolve_set_clip_color

colorName

设置片段颜色(媒体池)

resolve_add_clip_flag

color

添加片段标记

resolve_transcribe_clip_audio

useSpeakerDetection?

转录音频

resolve_set_clip_mark_inout

markIn, markOut, type

设置入点/出点

resolve_clear_clip_mark_inout

type

清除入点/出点

resolve_add_timeline_marker

frameId, color, name, note?

添加时间线标记点

resolve_get_timeline_markers

获取时间线标记点

resolve_delete_timeline_markers_by_color

color

按颜色删除标记点

resolve_delete_timeline_marker_at_frame

frameNum

删除指定帧的标记点

resolve_export_current_frame

filePath

将当前帧导出为静帧

resolve_apply_fairlight_preset

name

应用 Fairlight 预设

resolve_get_quick_export_presets

列出快速导出预设

Fusion 合成(14 个工具)

Tool

Parameters

Description

resolve_create_fusion_comp

name

创建 Fusion 合成

resolve_add_fusion_comp

trackType?, ...

向片段添加 Fusion 合成

resolve_import_fusion_comp

path, trackType?, ...

导入 .comp 文件

resolve_export_fusion_comp

path, compIndex?, trackType?, ...

导出 Fusion 合成

resolve_load_fusion_comp_by_name

compName, trackType?, ...

按名称加载合成

resolve_delete_fusion_comp_by_name

compName, trackType?, ...

按名称删除合成

resolve_rename_fusion_comp

oldName, newName, trackType?, ...

重命名合成

resolve_get_item_fusion_comp_count

trackType?, ...

统计片段上的 Fusion 合成数量

resolve_get_item_fusion_comp_names

trackType?, ...

列出 Fusion 合成名称

resolve_get_current_comp

获取当前 Fusion 合成

resolve_fusion_get_comp_list

列出所有打开的合成

resolve_fusion_new_comp

创建新的 Fusion 合成

resolve_fusion_save_comp

filePath

保存当前合成

resolve_fusion_load_comp

filePath

加载合成文件

resolve_fusion_close_comp

关闭当前合成

resolve_fusion_render_comp

渲染当前合成

Fusion 工具(11 个工具)

工具

参数

描述

resolve_fusion_get_tool_list

列出当前合成中的所有工具/节点

resolve_fusion_find_tool

name

按名称查找工具

resolve_fusion_delete_tool

name

删除工具

resolve_fusion_get_attrs

name

获取工具属性

resolve_fusion_set_attrs

name, attrs

设置工具属性

resolve_fusion_add_node

nodeType, name

添加节点(Background、Paint、Merge 等)

resolve_fusion_connect

fromNode, toNode, input

连接两个节点

resolve_fusion_set_input

node, input, value, frame?

设置节点输入(可设置关键帧)

resolve_fusion_get_input

node, input

获取节点输入值

resolve_fusion_set_current_frame

frame

设置当前帧

resolve_fusion_get_current_frame

获取当前帧

画廊(4 个工具)

工具

参数

描述

resolve_get_gallery_still_albums

列出画廊静帧相册

resolve_get_gallery_powergrade_albums

列出 PowerGrade 相册

resolve_create_gallery_still_album

创建静帧相册

resolve_create_powergrade_album

创建 PowerGrade 相册

调色 / 节点(7 个工具)

工具

参数

描述

resolve_get_node_count

获取当前片段的节点数量

resolve_get_node_label

nodeIndex

获取节点标签

resolve_get_node_lut

nodeIndex

获取节点的 LUT

resolve_set_node_lut

nodeIndex, lutPath

在节点上设置 LUT

resolve_set_node_enabled

nodeIndex, isEnabled

启用/禁用节点

resolve_reset_all_grades

重置所有调色

resolve_refresh_lut_list

刷新 LUT 列表

渲染(22 个工具)

工具

参数

描述

resolve_get_render_formats

列出渲染格式

resolve_get_render_codecs

renderFormat

列出某格式的编解码器

resolve_get_current_render_format_codec

获取当前格式/编解码器

resolve_set_render_format_codec

format, codec

设置渲染格式和编解码器

resolve_get_render_mode

获取渲染模式

resolve_set_render_mode

renderMode

设置渲染模式

resolve_get_render_resolutions

format, codec

列出渲染分辨率

resolve_get_render_preset_list

列出渲染预设

resolve_load_render_preset

presetName

加载渲染预设

resolve_save_as_new_render_preset

presetName

保存新的渲染预设

resolve_delete_render_preset

presetName

删除渲染预设

resolve_set_render_settings

settings

设置渲染设置(TargetDir、CustomName 等)

resolve_add_render_job

添加渲染任务

resolve_delete_render_job

jobId

删除渲染任务

resolve_delete_all_render_jobs

删除所有渲染任务

resolve_get_render_job_list

列出渲染任务

resolve_start_rendering

jobIds?, isInteractiveMode?

开始渲染

resolve_stop_rendering

停止渲染

resolve_is_rendering_in_progress

检查是否正在渲染

resolve_get_render_status

jobId

获取渲染任务状态

resolve_render_with_quick_export

presetName

快速导出

resolve_render

settings?

添加任务并开始渲染

语音与字幕(1 个工具)

工具

参数

描述

resolve_generate_speech

text, voice?

生成 AI 语音音频

特殊(1 个工具)

工具

参数

描述

resolve_create_hand_animation

imagePath, ...

创建手绘动画(Daniel Batal 技法)


故障排除

Bridge 无法启动

  • 确保 DaVinci Resolve 正在运行且已打开项目

  • 检查控制台(工作区 → 控制台)中的错误消息

  • 重启 DaVinci Resolve——它只在启动时扫描 Scripts 文件夹

“无法连接到 Resolve Bridge”

  • 确保你已在 Resolve 中运行 工作区 → 脚本 → Bridge-Connection-Script

  • 检查控制台是否显示 [Resolve Bridge] HTTP server running on http://127.0.0.1:8787

  • 如果端口已被占用,请关闭 Resolve 并重新打开(过期的 fuscript.exe 进程可能占用端口)

工具返回错误

  • 先调用 resolve_status 验证连接

  • 某些操作需要打开项目、存在时间线或选中片段

  • Bridge 返回的错误消息会指出缺少什么


技术细节

  • Bridge 端口: 127.0.0.1:8787(仅限本机,无外部访问)

  • 传输方式: HTTP/1.0,使用 Connection: close

  • MCP 传输方式: stdio

  • 依赖项: mcprequests(仅 MCP 服务器;Bridge 使用纯标准库)

  • Resolve 版本: 18.5+(已在 21.0.4.5 上测试)

  • Python: MCP 服务器需要 3.10+;Bridge 使用 Resolve 内置的 Python


许可证

MIT 许可证——参见 LICENSE 文件。


致谢

The Geek Gods 创建。灵感来自 DaVinci Resolve 脚本社区。

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