DaVinci Resolve MCP (free edition)

io.github.kingjamesch由 GitHub 账号 kingjamesch 发布v0.2.0更新于 Oct 31, 2026

Control DaVinci Resolve 21.1 (free edition included) from Claude via a Lua bridge. See README.

发布方自己的服务:Resolve

已验证STDIO仅桌面开发者工具媒体与设计

概览

AI 生成的概览

通过 Lua 桥接控制 macOS 上的 DaVinci Resolve 21.1(含免费版),让助手管理项目、时间线、媒体和渲染。

可以做什么
  • 检查桥接状态,列出并打开项目,读取和设置项目参数,保存项目,切换页面
  • 列出时间线,查看片段与标记,设置当前时间线和时间码,创建时间线,添加或删除标记,插入和删除片段,导出时间线
  • 浏览媒体池,读取片段属性,创建文件夹,导入媒体,把片段追加到时间线
  • 查看渲染选项与状态,添加、开始、停止和删除渲染任务
  • 在 Resolve 内执行任意 Lua,并检索 Blackmagic 随附的脚本 API 文档
适用场景
适合在 Mac 上用 DaVinci Resolve 剪辑、希望助手代为完成重复的时间线、媒体池和渲染操作,或需要借助 Lua 触及命名工具未覆盖的 Resolve API 的场景。
运行要求
仅限 macOS,需要 DaVinci Resolve 21.1.2(免费版或 Studio)和 Claude Code。需要 /usr/bin/python3 上的 Python 3.9 或更新版本,只用标准库,无需 pip 安装。通过 Claude Code 插件或克隆仓库的安装脚本安装,安装后重启一次 Resolve,并在每个 Resolve 会话中从 Workspace > Scripts 启动 Lua 桥接。无需凭据或网络。
安装前请注意
桥接以你的 macOS 用户身份在 Resolve 内执行 Lua,任何能写入状态目录的人都能执行代码。破坏性工具需要 confirm: true,但 run_lua 完全开放,可能删除或覆盖项目数据;可用 DAVINCI_MCP_DISABLE_RUN_LUA 将其移除。免费版上 Studio 专属功能会失败或弹出阻塞桥接的升级对话框。最后一次响应会留在 Fusion.prefs 中直到被清除。

安装

在 SourceWeft 中

  1. 打开 控制台中的 DaVinci Resolve MCP (free edition),将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

davinci-resolve-mcp

[test]

Let Claude Code drive the free edition of DaVinci Resolve 21.1.

Resolve 21.1 free removed Python scripts from the Workspace > Scripts menu and blocks external scripting. Lua menu scripts still run. This project uses that gap. A Lua bridge runs inside Resolve and a tiny Python MCP server runs outside. The server sends Lua to the bridge, the bridge runs it against the live resolve object and sends the answer back. A call takes about 80 to 95 ms as measured. There are 33 tools, plus run_lua for anything the named tools do not cover.

Requirements

  • macOS
  • DaVinci Resolve 21.1.2, free or Studio
  • Claude Code
  • Python 3.9 or newer at /usr/bin/python3
  • No pip installs. The server uses the standard library only.

Install

bash
git clone https://github.com/kingjamesch/davinci-resolve-mcp.gitcd davinci-resolve-mcp./install.sh

The installer does four things:

  1. Copies the two Lua scripts into ~/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Scripts/Utility/. It stamps the state directory path into the bridge.
  2. Creates the state directory ~/Library/Application Support/Blackmagic Design/DaVinci Resolve/ClaudeMCP with mode 0700.
  3. Registers the server with Claude Code at user scope as davinci.
  4. Prints the next steps.

Next steps, as the installer prints them:

NEXT STEPS1) Quit and reopen DaVinci Resolve once (it scans the Scripts menu only at startup).2) In Resolve: Workspace > Scripts > Claude_MCP_Bridge (do this once per Resolve session; Claude_MCP_Bridge_Stop stops it).3) In Claude Code run /mcp and check that 'davinci' is connected, then ask for resolve_status.

The Resolve restart is needed once, after the first install. Resolve only reads the Scripts folder at startup.

Other flags:

FlagEffect
--claude-desktopAlso adds davinci to the Claude Desktop config. Optional. An existing config is backed up first.
--no-claudeSkip the Claude Code registration.
--checkReport what is installed.
--uninstallRemove the Lua scripts and the Claude Code registration. Add --purge to delete the state directory too. ./uninstall.sh does the same.

Install as a Claude Code plugin

If you only use Claude Code, skip the clone. Inside Claude Code:

/plugin marketplace add kingjamesch/davinci-resolve-mcp/plugin install davinci-resolve@davinci-resolve-mcp/davinci-resolve:setup

The plugin registers the davinci server itself; /davinci-resolve:setup copies the two Lua scripts into Resolve's Scripts folder. Then restart Resolve once and click Workspace > Scripts > Claude_MCP_Bridge. The plugin also ships a resolve skill with the conventions Claude needs (absolute frames, marker rules, Lua idioms, Studio-only traps).

Use either the plugin or ./install.sh, not both, or Claude Code sees two davinci servers (claude mcp remove davinci -s user removes the clone-based one).

The server is also listed on the MCP Registry as io.github.kingjamesch/davinci-resolve-mcp for discovery. The listing is metadata only: install from the plugin or the clone as above, since the bridge must be placed inside Resolve by hand.

Daily use

  1. Open Resolve with a project.
  2. Click Workspace > Scripts > Claude_MCP_Bridge. Do this once per Resolve session.
  3. In Claude Code, ask for resolve_status first. It tells you whether the bridge is alive.
  4. To stop the bridge, click Workspace > Scripts > Claude_MCP_Bridge_Stop.

Example prompts:

  • "Call resolve_status, then list my timelines."
  • "Add a red marker named 'fix audio' at 00:00:10:00 on the current timeline."
  • "Import everything in /Users/me/Footage/day1 and make a timeline called Day 1 from it."
  • "Queue an mp4 render of the current timeline into /Users/me/Exports, start it and tell me when it finishes."
  • "Use run_lua to list the clip colors on video track 1."

Tools

The full reference, with every argument, is in docs/TOOLS.md. It is generated from the code.

  • Status and project: resolve_status, list_projects, get_project_info, get_project_setting, open_project, save_project, set_project_setting, open_page
  • Timelines: list_timelines, get_timeline_info, get_timeline_items, get_timeline_markers, set_current_timeline, set_timecode, create_timeline, add_marker, delete_markers, insert_timeline_element, delete_timeline_items, export_timeline
  • Media pool: list_media_pool, get_clip_properties, create_media_pool_folder, import_media, append_clips_to_timeline
  • Render: get_render_status, list_render_options, add_render_job, start_render, stop_render, delete_render_job
  • Escape hatch: run_lua runs any Lua 5.1 chunk inside Resolve. scripting_api_docs searches Blackmagic's shipped API reference so Claude can write that Lua correctly.

Conventions: paths are absolute, frames are integers in the timeline's own numbering, timecodes are HH:MM:SS:FF, and track and item indexes start at 1.

How it works

  • Claude Code starts server.py over stdio. The server speaks MCP and holds no network socket.
  • To send a request, the server creates folders under the state directory. The request is hex-encoded into the folder names.
  • The Lua bridge lists those folders every 30 ms, decodes the request and runs it with the resolve object bound.
  • The bridge returns the answer with fu:SetData, which Resolve writes to Fusion.prefs. The server polls that file.
  • The last response stays in Fusion.prefs and is cleared about 10 seconds after it was written; the bridge also clears it when it stops.
  • Several Claude Code sessions can share one Resolve: every server takes a lock in the state directory, so requests run one at a time.

The wire format is in docs/PROTOCOL.md. The design record is in docs/MCP-RECORD.md.

Troubleshooting

  • Tools say the bridge is not running. Open Resolve with a project and click Workspace > Scripts > Claude_MCP_Bridge, then retry.
  • Workspace > Scripts shows no Claude_MCP_Bridge. Resolve was not restarted after the install. Quit and reopen it. Run ./install.sh --check to confirm the files are in place.
  • A tool times out. Resolve is probably showing a dialog, such as the Studio upsell or a frame-rate question after an import. Dismiss it in Resolve. Long operations also block the bridge until they finish.
  • A Studio-only feature fails. Do not use Studio-only features on the free edition. They fail or open an upgrade dialog that blocks the bridge.
  • The old davinci-resolve-lite-mcp Python scripts do nothing. They cannot work on 21.1 or later, because Python scripts no longer appear in the Scripts menu and external scripting is blocked.

Not included yet

Color-page node tools, gallery and stills, Fairlight, compound and Fusion clips, keyboard and preset import or export, project archive and restore, automatic bridge start when Resolve launches, a Claude Desktop .mcpb package, and Windows. run_lua covers most of these in the meantime. Set DAVINCI_MCP_DISABLE_RUN_LUA=1 in the server environment to remove run_lua from the tool list.

Security posture

  • Local only. The server opens no network port and sends no telemetry.
  • There are no credentials. The identity is your macOS user.
  • Anyone who can write to the state directory can run Lua inside Resolve as you. The directory is created with mode 0700.
  • Destructive tools need confirm: true. run_lua is open-ended, so Claude is told to ask you before running code that deletes or overwrites.
  • Responses are size-capped. Over-cap results come back marked truncated.
  • Fusion.prefs is readable by your user and holds the last response until it is cleared.
  • To shut it down, run the Stop script and delete the state directory.
  • The server logs only the tool name, status and duration to stderr. It never logs arguments or results.

Development

Run the tests:

bash
/usr/bin/python3 -m unittest discover -s tests

Regenerate the tool reference after changing any tool:

bash
/usr/bin/python3 scripts/gen_tools_doc.py

A test fails if docs/TOOLS.md is stale or if a tool is renamed.

Layout:

server.py                  stdio entry pointinstall.py, install.sh     installer, uninstaller (uninstall.sh)bridge/                    Lua scripts that run inside Resolvedavinci_mcp/               server, transport, prefs parser, Lua encoder, docs indexdavinci_mcp/tools/         one module per tool groupdocs/                      MCP-RECORD.md, PROTOCOL.md, TOOLS.md (generated)scripts/gen_tools_doc.py   generates docs/TOOLS.mdtests/                     unit tests and the offline bridge round trip

Credits

  • The JSON encoder and several measured host facts are adapted from saadk408/davinci-resolve-lua-mcp, MIT.
  • The idea of using Lua over the preferences file as a channel comes from AutoSubs.

License

MIT. See LICENSE.

来源:README.md,提交 61c3e57

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.0最新Oct 31, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Resolve 集成