原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

DaVinci Resolve Lua MCP

作者:saadk408版本 0.2.0i★ –i在你的电脑上运行
注册名称io.github.saadk408/davinci-resolve-lua-mcp

安装

概览

作者提供的说明(英文原文)

Control the free edition of DaVinci Resolve 21.1 from Claude through a Lua script inside Resolve.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

下载作者的 .mcpb 文件

链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。

在终端中运行这条命令

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 saadk408 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32673 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32673 个服务器的 47% 更新
  • 基础检查结果等于或优于此分类中其他 32673 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

DaVinci Resolve Lua MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.2.0)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Systemdox

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211前天更新
安装

Systemdox

作者:puglieseweb

Your architecture in your agents' context: checks, specs, ADRs and docs over MCP, at write time.

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

DaVinci Resolve Lua MCP

*Control the free edition of DaVinci Resolve 21.1 from Claude through a Lua script that runs inside Resolve. macOS and Windows (experimental), no Studio licence, no network.*

DaVinci Resolve 21.1 moved Python scripting and the external scripting API to the Studio edition, and Blackmagic's own MCP server ships with Studio only. One door is still open on the free edition: Workspace > Scripts lists and runs Lua files. This project puts a small Lua script there. Launched once per Resolve session, it holds the live resolve object and executes Lua on behalf of an MCP server that Claude Desktop runs as an extension.

[!NOTE]

Nothing here unlocks Studio features: the bridge uses the free edition's own Lua scripting API. Studio 21.1 users already have Blackmagic's native MCP server.

Features

  • 15 purpose-built tools: project overview, project and timeline lists, Media Pool clips, timeline items, markers, timeline and project switching, rendering with status polling, and a search over Blackmagic's shipped scripting reference.
  • `run_lua` for everything else: any Lua 5.1 chunk runs inside Resolve with the live resolve object and returns JSON, captured print output and errors.
  • One `.mcpb` bundle: install it in Claude Desktop, and the server copies its two Lua scripts into Resolve's user scripts folder on first launch.
  • No network: the server and the script talk through a request file and Fusion's preferences. There are no sockets, no listeners and no telemetry.
  • Fast enough to feel interactive: about 60 ms per call, measured end to end on a Mac.

Requirements

  • macOS (Apple Silicon is the only hardware measured).
  • Windows 10 or 11, experimental. The default paths come from Blackmagic's documentation and forum reports; nothing has been measured on Windows yet. docs/windows.md lists what to check.
  • DaVinci Resolve 21.1 free edition (build 21.1.0.17 is the one measured). Studio is not needed and not targeted. Blackmagic documents neither this Lua host nor its sandbox, so a point release can change what works.
  • Claude Desktop. It ships the Node runtime the server needs (Node 20 or newer); nothing else is installed.
  • A project open in Resolve while you use the tools.

Install

  1. Download davinci-resolve-lua-mcp.mcpb (the latest release; the release notes and the SHA-256 are on the Releases page).
  2. Double-click the file, or drag it onto the Claude Desktop window. Claude Desktop shows the extension's details and five settings; keep the defaults and click Install.
  3. In Resolve, open a project and click Workspace > Scripts > resolve_mcp_bridge. That script is the bridge; the extension put it there when it first started.
  • The bridge stops when Resolve quits. Click it again after every Resolve launch, before using the tools.
  1. Ask Claude "Are you connected to DaVinci Resolve?".

From a terminal, either command downloads the file and opens the same dialog.

macOS:

curl -fsSLo ~/Downloads/davinci-resolve-lua-mcp.mcpb https://github.com/saadk408/davinci-resolve-lua-mcp/releases/latest/download/davinci-resolve-lua-mcp.mcpb && open ~/Downloads/davinci-resolve-lua-mcp.mcpb

Windows (PowerShell):

Invoke-WebRequest -Uri https://github.com/saadk408/davinci-resolve-lua-mcp/releases/latest/download/davinci-resolve-lua-mcp.mcpb -OutFile "$env:USERPROFILE\Downloads\davinci-resolve-lua-mcp.mcpb"; Start-Process "$env:USERPROFILE\Downloads\davinci-resolve-lua-mcp.mcpb"

If nothing opens, install the file from Claude Desktop: Settings > Extensions > Advanced settings > Install Extension.

To update, download the new file and open it; extensions installed from a file do not update on their own. The server refreshes its two Lua scripts on its next start, so click Workspace > Scripts > resolve_mcp_bridge again afterwards. To build the bundle yourself, see Development.

Start and stop the bridge

Open a project in Resolve and click Workspace > Scripts > resolve_mcp_bridge. Nothing appears in the Console (the free edition mutes print in menu scripts); the bridge loops in the background and Resolve stays responsive. In Claude Desktop, resolve_status then reports alive: true with the product, version, edition, page and open project.

Scripts menu listing claude_diag and resolve_mcp_bridge">

[!IMPORTANT]

The bridge lives and dies with Resolve. After every Resolve launch, click Workspace > Scripts > resolve_mcp_bridge again before using the tools. It is never started automatically, by design: a loop started through fusion:Execute holds Fusion's shared script executor for the whole session, so the Scripts menu is the only supported launch.

To stop it, ask Claude to stop the bridge (stop_bridge), or quit Resolve. Clicking the script a second time while the bridge is running is harmless: the new one takes over and the old one exits on the first request addressed to the newer session.

Example prompts

Give me an overview of the open Resolve project.

List the clips in the root bin with their durations and frame rates. What is on video track 1 of the current timeline? Add a blue marker at frame 240 named "fix colour". Delete all the red markers on this timeline. Render the current timeline to ~/Movies/out as fix-v2 and tell me when it finishes. Look up AppendToTimeline in the Resolve scripting docs. Use run_lua to return the current timeline's start timecode and its item count on V1.

https://github.com/user-attachments/assets/febdf2b9-8e0d-4fbf-8462-0d6ecd98c829

Tools

ToolWhat it doesParametersAccess
resolve_statusWhether the bridge is running and why not, its session, the platform, the self-install outcome and, when alive, product, version, edition, page and projectnoneread-only
run_luaRuns a Lua 5.1 chunk inside Resolve with the live resolve object; returns its first return value as JSON plus captured prints and errorscode; timeout_s 1..300 (default from the settings)destructive
get_project_infoName, page, database, frame rate, resolution, timeline count, root-bin counts and the current timeline of the open projectnoneread-only
list_projectsProjects in the current project-manager folder with dates and notes; marks the open onenoneread-only
list_timelinesEvery timeline with unique id, frame range and track counts; marks the current onenoneread-only
list_media_pool_clipsClips in one bin with path, duration, fps, resolution, type, frames and colourbin_path (default /); offset; limit 1..200 (default 50)read-only
get_timeline_itemsItems on one track of the current timeline with type, frames, source frames, enabled state and file pathtrack_type video, audio or subtitle; track_index from 1; offset; limit 1..500 (default 100)read-only
add_markerAdds a marker to the current timeline and returns the stored markerframe (relative to the timeline start); color (one of the 16 Resolve colours); name; note; duration in frames (default 1)writes
delete_markersDeletes every marker of one colour, or all markers, from the current timelinecolor (omit for all); confirm must be truedestructive
set_current_timelineMakes the named timeline current; an unknown name lists the known onesnamewrites
open_projectLoads the named project, saving the open one first by default; an unknown name lists the known projectsname; save_current (default true)writes
render_current_timelineQueues and starts a render of the current timeline and returns the job idpreset (optional, validated against the preset list); output_dir (absolute, must exist); filenamewrites
get_render_statusStatus, completion percentage and error of one render job, plus whether Resolve is renderingjob_idread-only
stop_bridgeAsks the bridge to exit cleanly; relaunch it from Workspace > Scripts afterwardsnonewrites
scripting_api_docsSearches Blackmagic's shipped scripting reference (.pyi signatures, README sections, CHANGELOG) with file and line; flags deprecated and unsupported callsquery; limit 1..10 (default 5)read-only

Every tool declares its access hints to the client. delete_markers refuses without confirm: true, and Claude is told to ask you first; run_lua takes no confirmation and is flagged destructive so the client can warn. Results are JSON with a matching structuredContent; the paginated tools (list_media_pool_clips, get_timeline_items) report total, offset, limit and truncated, and every failure names the next step instead of throwing.

Marker colours: Blue, Cyan, Green, Yellow, Red, Pink, Purple, Fuchsia, Rose, Lavender, Sky, Mint, Lemon, Sand, Cocoa, Cream.

Writing Lua for run_lua

The chunk runs inside Resolve's Scripts-menu Lua state (LuaJIT, Lua 5.1) with the globals resolve and fusion. Conventions, as the server also tells Claude:

  • Call methods with a colon (project:GetName()) and read constants with a dot (resolve.EXPORT_AAF).
  • API lists are 1-based tables: use #list and for i = 1, #list, never pairs. Dicts are keyed tables; GetMarkers() is keyed by frame number.
  • Page names for OpenPage are lowercase ("edit", "color", "deliver").
  • return a value to get it back as JSON. Only the first return value is sent. print output is invisible in Resolve but comes back in prints (capped at 200 lines / 16 KB).
  • Look the method up with scripting_api_docs first, and avoid the deprecated forms Blackmagic's shipped examples still use: GetSetting/SetSetting (use GetSettings()/SetSettings({})), GetItemsInTrack (use GetItemListInTrack), index-based render-job calls (ids are strings) and single-argument GetClipProperty.
  • io, os.execute, os.remove, require, package, ffi and debug do not exist in this state; errors carry the message only, without a traceback.
local project = resolve:GetProjectManager():GetCurrentProject()

local timeline = project:GetCurrentTimeline() local items = timeline:GetItemListInTrack("video", 1) local out = {} for i = 1, #items do out[i] = { name = items[i]:GetName(), first = items[i]:GetStart(), last = items[i]:GetEnd() } end return { timeline = timeline:GetName(), start_timecode = timeline:GetStartTimecode(), items = out }

[!WARNING]

The bridge handles one request at a time and cannot answer Resolve's modal dialogs. Long synchronous API calls (RenderWithQuickExport, TranscribeAudio, Export, ArchiveProject, LoadProject on an unsaved project when live save is off) block it until they finish. Start renders with render_current_timeline and poll

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx