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 整合