关于 DaVinci Resolve Local Bridge MCP
DaVinci Resolve Local Bridge MCP 是供 AI 助手控制 DaVinci Resolve 的 MCP 服务。它通过本地 HTTP 桥接转发 218 项 Resolve 操作,涵盖项目、时间线、媒体、Fusion、调色和渲染。
主要功能
- 01218 项 Resolve 工具
- 02项目与时间线控制
- 03媒体池与存储操作
- 04Fusion 与调色工作流
- 05本地 HTTP 桥接
适用场景
- 01创建和管理 Resolve 项目
- 02导入媒体并编排时间线
- 03通过 AI 助手控制 Resolve 工作流
MCP 相关
服务通过 stdio 将自动发现的 Resolve 桥接操作公开为 MCP 工具,并通过 localhost HTTP 将工具调用转发至 DaVinci Resolve 内运行的桥接程序。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Davinc-Resolve-Local-Bridge-MCP
通过任意 AI 助手控制 DaVinci Resolve——包括 Claude、Cursor、Devin 等。
218 个工具。覆盖 Resolve API 和可选扩展。兼容 DaVinci Resolve 免费版和 Studio 版。
这是什么?
Davinc-Resolve-Local-Bridge-MCP 是一个 Model Context Protocol (MCP) 服务,可让 AI 助手受控地访问 DaVinci Resolve。它提供 218 个工具,涵盖项目、时间线、媒体、Fusion、调色、渲染以及受支持的可选扩展。
工作原理
Your AI Assistant (Claude, Cursor, Devin, etc.)
│
│ talks MCP (stdio)
▼
mcp_server/server.py ← runs on your machine
│
│ talks HTTP (localhost:8787)
▼
DaVinciResolveBridge.py ← runs INSIDE DaVinci Resolve
│ (started from the Workflow Integration)
▼
DaVinci Resolve API ← full read + write access
桥接脚本在 DaVinci Resolve 进程内部运行,因此可以完整访问 Resolve 脚本 API——即使是免费版也可以(免费版会阻止外部脚本访问)。MCP 服务作为独立进程运行,通过 localhost HTTP 将工具调用转发给桥接程序。
快速开始
前置条件
- DaVinci Resolve 18.5+(免费版或 Studio 版)
- 机器上安装 Python 3.10+
- 兼容 MCP 的 AI 助手(Claude Desktop、Cursor、Devin 等)
步骤 1 — 安装工作流集成和桥接程序
运行安装程序:
python install.py
安装程序会在 Workspace → Workflow Integrations 下添加面向用户的启动器,并安装底层桥接脚本。安装后重启一次 Resolve,使其发现该集成。
如需手动安装,请将 workflow/DaVinci Resolve Local Bridge MCP Server Connection.py 和 workflow/assets 目录复制到 Resolve 的 Workflow Integration Plugins 目录。同时,将 bridge/Bridge-Connection-Script.py 复制到 Resolve 的脚本目录,并命名为 DaVinciResolveBridge.py。Scripts 菜单项仅作为备用方式保留,并非正常启动路径。
| 平台 | 路径 |
|---|---|
| Windows | %APPDATA%\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 中启动桥接程序
- 打开 DaVinci Resolve
- 前往 Workspace → Workflow Integrations → DaVinci Resolve Local Bridge MCP Server Connection
- 点击 Start Bridge
- 确认面板显示 Running on http://127.0.0.1:8787 (218 actions)。如需查看诊断详情,请打开 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] 218 actions available
步骤 5 — 开始使用
向 AI 助手提问:
“检查 DaVinci Resolve 是否已连接”
助手会调用 resolve_status 工具并告知结果。然后试试:
“创建一个名为‘My Video’的 1920x1080 30fps 新项目,并添加一条时间线”
架构
桥接脚本(bridge/Bridge-Connection-Script.py)
一个在 DaVinci Resolve 内部运行的 Python 脚本。受支持的 Workflow Integration 启动器会为用户启动该脚本;Workspace → Scripts → DaVinciResolveBridge 仅作为备用方式保留。它会:
- 从 Fusion 的全局变量中获取实时的
resolve对象 - 在
127.0.0.1:8787上启动 HTTP 服务 - 提供 3 个端点:
GET /health— 检查桥接是否正常运行GET /actions— 列出所有可用的操作名称POST /action— 根据名称和参数执行操作
- 通过阻塞式
serve_forever()调用保持运行 - 启动前终止同一端口上的任何旧实例
MCP 服务(mcp_server/server.py)
一个独立的 MCP 服务,它会:
- 通过 HTTP 连接本地主机上的桥接
- 从桥接的
/actions端点自动发现全部 218 个操作 - 将每个操作作为带有
resolve_前缀的 MCP 工具公开 - 通过
POST /action将工具调用代理到桥接 - 与桥接保持同步——无需手动定义工具
全部 218 个工具
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 个工具)
所有项目操作都接受可选参数 trackType、trackIndex、itemIndex,用于指定目标片段;若省略,则对第一个选中的片段进行操作。
| 工具 | 参数 | 描述 |
|---|---|---|
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? | 添加备用片段 |
resolve_get_takes_count | trackType?, ... | 统计备用片段数量 |
resolve_select_take_by_index | idx, trackType?, ... | 按索引选择备用片段 |
resolve_finalize_take | trackType?, ... | 完成当前备用片段 |
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 个工具)
| 工具 | 参数 | 描述 |
|---|---|---|
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 技术) |
可选开源扩展(3 个工具)
| MCP 工具 | 描述 |
|---|---|
resolve_get_extension_status | 只读检测 OpenCaptions 和 Rembg-Fuse |
resolve_open_captions_list_templates | 列出当前项目中的字幕 Text+ 模板 |
resolve_fusion_add_rembg_node | 将已安装的 Rembg-Fuse 节点添加到当前 Fusion 合成中 |
OpenCaptions 和 Rembg-Fuse 是独立的第三方项目,不包含在此软件包中。
DaVinci Resolve Local Bridge MCP Server Connection
install.py 还会安装受支持的工作流集成启动器。重启 Resolve 一次后,打开 Workspace → Workflow Integrations → DaVinci Resolve Local Bridge MCP Server Connection,即可使用 Start Bridge、Stop Bridge、Refresh Status,以及可选的一次性 $5 开发者小费按钮;该按钮会在默认浏览器中打开由 Stripe 托管的结账页面。Resolve 的公共脚本 API 不支持在其原生顶部菜单栏中注入任意按钮;Workflow Integrations 是受支持的持久菜单入口。
支持开发
可选择一次性支付 $5 开发者小费
安全结账由 Stripe 托管。小费将用于支持此开源桥接工具的持续开发和维护;它不是慈善捐款,也不能抵税。
故障排除
Bridge 无法启动
- 确保 DaVinci Resolve 正在运行,且已打开项目
- 打开 Workspace → Workflow Integrations → DaVinci Resolve Local Bridge MCP Server Connection,然后点击 Start Bridge
- 检查 Console(Workspace → Console)中是否有错误消息
- 安装后重启 DaVinci Resolve — 它会在启动时扫描 Workflow Integrations
- 如果无法打开 Workflow Integration,请使用 Workspace → Scripts → DaVinciResolveBridge 作为备用方案,并报告该集成错误
“Could not connect to Resolve Bridge”
- 打开 Workspace → Workflow Integrations → DaVinci Resolve Local Bridge MCP Server Connection,并确认其状态显示为 Running
- 检查控制台是否显示
[Resolve Bridge] HTTP server running on http://127.0.0.1:8787 - 如果端口已被占用,请关闭并重新打开 Resolve(残留的
fuscript.exe进程可能会占用该端口)
工具返回错误
- 先调用
resolve_status验证连接状态 - 某些操作需要打开项目、存在时间线或选中片段
- Bridge 的错误消息会指出缺少什么
技术详情
- Bridge 端口: 127.0.0.1:8787(仅限 localhost,无法从外部访问)
- 传输方式: HTTP/1.0,使用 Connection: close
- MCP 传输方式: stdio
- 依赖项:
mcp、requests(仅 MCP 服务;Bridge 使用纯标准库) - Resolve 版本: 18.5+(已在 21.0.4.5 上测试)
- Python: MCP 服务需要 3.10+;Bridge 使用 Resolve 内嵌的 Python
许可证
MIT License — 详见 LICENSE 文件。
致谢
创建者:一位同行程序员,为同行程序员而作。灵感来自 DaVinci Resolve 脚本编写社区。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。