Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

DaVinci Resolve Lua MCP

by saadk408version 0.2.0i★ –iRuns on your computer
Registry nameio.github.saadk408/davinci-resolve-lua-mcp

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Download the maker’s .mcpb file

The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.

Run this in your terminal

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account saadk408, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32661 servers in this category
  • Published to the registry more recently than 47% of the other 32661 servers in this category
  • Basic checks equal to or better than 100% of the other 32661 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is DaVinci Resolve Lua MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Claude Checkpoint MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

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

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

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

Runs in the cloud★ 211Updated 2 days ago
Install

Claude Checkpoint MCP

by daniel-munoz

MCP server that checkpoints Claude Code session context to survive crashes and token limits

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

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

Only the beginning is shown; read the rest in the repo

Ask PopNx