
ResolveMCP-ext
io.github.CaptRautiPublished by GitHub account CaptRautiv1.0.2Updated Nov 7, 2026
Resolve MCP gaps: clip effects, Paste Attributes, frame export, photo albums, camera layouts.
The publisher's own server: Resolve
Overview
MCP server that gives an assistant DaVinci Resolve 21.1.2 scripting features the mainstream Resolve MCP servers lack: clip effects, Paste Attributes, frame…
- What you can do
- List, apply, remove, toggle and reorder clip effects, and read effect properties
- Copy attributes between clips (Paste Attributes) and read a clip's current attributes
- Export stills from a timeline clip or media-pool item, and find which bin a clip or folder lives in
- Manage photo albums: create, rename, delete, rate, flag, versions, stills and photo node graphs
- Edit node graphs: labels, colours, enable state, LUTs and cache; read render presets, audio formats and clip transcripts
- Build camera comparison layouts (2x2, split, explicit transforms), camera markers and per-camera bins; read clip position and handle offsets
- When to use it
- Use it when you already drive DaVinci Resolve Studio from an assistant and need the newer 21.1.2 scripting surfaces that other Resolve MCP servers do not expose. It is designed to run alongside Blackmagic's own ResolveMCP and the community davinci-resolve-mcp server rather than replace them.
- Requirements
- A local install: Python 3.10+ and the resolve-ext package (pip or uvx), plus DaVinci Resolve Studio 21.1.2 or later, since external scripting is a Studio-only feature. Resolve must be running with external scripting set to Local. The scripting API path is detected automatically; RESOLVE_SCRIPT_API and RESOLVE_SCRIPT_LIB are optional overrides for non-standard installs. A doctor command checks the setup.
Installation
In SourceWeft
- Open ResolveMCP-ext in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
resolve-ext
An MCP server that adds the DaVinci Resolve 21.1.2 scripting surfaces the mainstream Resolve MCP servers do not cover — clip effects, effect properties, Paste-Attributes, frame export and media-pool folder lookups.
It is deliberately an extension, not a replacement: register it alongside the other two Resolve MCP servers and you get a larger surface with no overlap — see the full setup. Everything it exposes is measured against a live Resolve, and calls that turn out to be broken are reported as broken rather than wrapped in a success.
The full Resolve MCP setup — three servers, all of them
Resolve is not covered by one MCP server. Three independent servers do different jobs, and full coverage means running all three. This project is the third; the other two are not optional extras.
All three talk to the same Resolve through the same single-client scripting API. They coexist without overlap; registering one and wondering why a capability is missing is the usual disappointment.
Full procedure, per-platform paths, the Windows "Resolve is on another drive" case, and the failure modes of each: AGENTS.md — written so an AI agent can install all three unattended.
Why this exists
DaVinci Resolve 21.1.2 (22 Oct 2026) added a batch of scripting APIs. The
popular MCP servers do not implement them — verified two ways: searching their
source for each symbol, and probing live Resolve objects with hasattr (a type
stub documents the API; only the live object proves your build has it).
TimelineItem alone exposes 113 methods on 21.1.2; a large share of them
were unreachable through MCP before this server.
Install
Installing this with an AI agent? Point it at AGENTS.md — it is a step-by-step procedure written for agents, including the failure cases. This section is the human-facing version.
Requires Python 3.10+ and DaVinci Resolve Studio (external scripting is a Studio feature — the free build refuses it).
From a release (recommended)
Download the wheel from the releases page and install it:
The wheel is pure Python and platform-independent — the same file works on Windows, macOS and Linux.
From a git checkout
Or from a local clone:
mcp 2.x breaks FastMCP, so the dependency is pinned <2. That pin is in the
package metadata — you do not need to add it yourself.
Verify the installation
doctor exits 0 when everything works and 1 otherwise, so it is usable in
a setup script. When something is wrong it names the exact path that is missing
and what to enable.
Register with your MCP client
The server finds Resolve's scripting API by itself, so on a default installation there is nothing to configure:
For a non-standard Resolve location, or to see the explicit form, run:
which prints the configuration for the machine it runs on — including the exact
RESOLVE_SCRIPT_API, RESOLVE_SCRIPT_LIB and PYTHONPATH values — as generic
JSON and as a hermes mcp add command.
When merging into an existing client config, the server entry sits flat
under the client's own mcpServers key. Do not wrap it in a second
mcpServers level — that silently disables tool discovery.
Resolve settings
Resolve must be running with Preferences → System → General → External scripting using → Local.
Tools
effects
Address a timeline item with item_id (GetUniqueId) or with name plus the
track it sits on (track_type default video, track_index default 1).
Always call list_available first — apply needs the category and id it
returns. On a stock 21.1.2 Studio that is 36 fusion + 98 ofx effects for
video, plus the Fairlight set for audio. Fusion ids look like
Fusion/Effects/<category>/<name>.
clip_attrs
The API behind the Edit page's Paste Attributes — the lever that makes a per-camera look repeatable: grade one clip, push the same attributes onto every other clip from that camera.
36 options in 6 groups (clip, video, zoom_crop_flip, retime,
grade_fusion, audio). Shorthands: copy_all_video, copy_all_audio.
export_frame
item and media are verified working. The offset is 0-based and must be
below the item's duration. output_type: file (needs file_path) or
encodedString (default); for the latter the base64 is decoded and written to
out/ next to the server, with only a short prefix returned inline.
folder_ops
photo_albums
Verified working on 21.1.2.10: 9/9 PhotoAlbum methods, 20/20
PhotoAlbumItem methods, CreatePhotoAlbumFromPhotos, persistent ratings /
flags / versions, AddFusionComp on a photo.
add_photos is broken upstream (AddToPhotoAlbum adds nothing) — the
action verifies by reading the album back and tells you so. Use
create_from_photos, which is the verified path.
Note the split: the album listing methods live on
Project, the creating/adding ones onMediaPool, and Resolve answers none of them. The tool resolves the right object per call, because a Resolve proxy makeshasattrreport every method on every object.
node_graph
Valid node colours: Orange, Apricot, Yellow, Lime, Olive, Green, Teal, Navy, Blue, Purple, Violet, Pink, Tan, Beige, Brown, Chocolate.
Target a timeline clip by item_id/name, or a photo by photo_id. Labels
and colours verified persistent across calls.
project_extras
audio_formats / audio_codecs VERIFIED: 7 real formats
(FLAC, MP3, MP4, MXF OP-Atom, MXF OP1A (IMF), QuickTime, Wave) and their
codecs. render_presets VERIFIED: 37 real presets.
camera_comparison
Camera detection, longest prefix first:
Why this tool exists: the loose scripts this replaces positioned clips
with SetProperty("PositionX", …) / "PositionY". MEASURED on 21.1.2.10 those
keys return False and are silently ignored — GetProperty gives back
False too. Zoom worked, the positioning never did. The real keys are Pan
(x, +right) and Tilt (y, +up), in pixels. Every write here is read
back, and a transform that does not stick is reported as a failure.
Verified: on a 3840x2160 timeline grid_2x2 puts AcePro at Pan -960, Tilt 540 (top-left) and Go Ultra at Pan 960, Tilt 540 (top-right), read back.
clip_position
set / move / set_offset / delete_gaps exist in the code but are
disabled and transparent about why — they wrap Resolve calls that are broken
or destructive on 21.1.2. See the next section.
Measured behaviour on Resolve 21.1.2.10
Everything below was measured against a live Studio build, not read from docs.
tests/ reproduces all of it — 132 assertions across four suites, 0 failures.
Working
Broken or destructive — do not use
Gotchas
TimelineItem.GetProperty("Position")returns a bool on 21.1.2, not coordinates. The position lives inPan/Tilt(x/y in pixels).RotationAngleis degrees,Opacity0–100, crop values 0–1,ZoomX/Ya multiplier. All are writable — verify with a read-back.- Setting a timeline's
SetIsEnabled(False)makesGetCurrentTimeline()returnNone, so every later call reports "No current timeline" until it is switched back on in the GUI. MediaPoolItem.GetParentFolderis only useful with a recursive walk of the media pool:ImportMediadrops clips into the currently selected bin, so a root-only lookup reports "not found" while the clip exists one level down.
Testing
Two layers, because DaVinci Resolve cannot run in CI.
Offline — no Resolve needed, this is what CI runs
Checks that server.py imports without Resolve present (so pip install
followed by resolve-ext --help cannot fail), that all ten tools register,
that the CLI returns the right exit codes, and that the platform path
resolution produces the correct paths for the OS it finds itself on. Runs on
Windows, macOS and Linux — see .github/workflows/test.yml.
Live — needs a running Resolve Studio
162 assertions, 0 failures against Resolve Studio 21.1.2.10 (30 offline + 132 live).
Each suite creates its own scratch project, exercises the tools and deletes it again — they never touch your other projects. Two habits are deliberate:
- Assertions check that values changed and read back, not merely that no
error was returned. A write test that passes because nothing moved proves
nothing; that is exactly how
DeleteGapsandAddToPhotoAlbumwere caught reporting success while doing nothing. - Known-broken calls are asserted to fail honestly. If a future Resolve build
fixes
AddToPhotoAlbum, its test will start failing — which is the signal to re-measure and update this README, not a broken test.
Design notes
- Extension, not fork. Nothing here duplicates a mainstream server's surface, so both can run side by side without the model having to choose.
- Broken APIs are reported, not hidden. Where Resolve's own call lies
(
DeleteGapsreturningTrue), the tool says so with the measurement attached, rather than emitting a success the caller cannot trust. - Destructive APIs are not exposed.
SetLeftOffsetcannot be undone through the API, so it stays out of the surface andgetremains read-only.
Requirements
- DaVinci Resolve Studio 21.1.2+ (earlier builds lack these symbols)
- Windows / macOS / Linux wherever the Resolve scripting API is available
- Python 3.10+ and
mcp[cli]>=1.30,<2
License
MIT — see LICENSE.
Source: README.md at commit 351bb7a
Tools
0Version history
2- v1.0.2LatestNov 7, 2026
- v1.0.1Nov 3, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Resolve integrations
Resolve
ai.resolveOfficial publisher
Resolve is a remote AI DevOps investigation server that lets an assistant investigate alerts, run root-cause analysis and answer production questions across…

DaVinci Resolve
Published by GitHub account Aedelon
MCP server that lets an AI assistant edit, grade and deliver in DaVinci Resolve through typed, verified scripting-API actions.

DaVinci Resolve MCP (free edition)
Published by GitHub account kingjamesch
Drives DaVinci Resolve 21.1 (free or Studio) on macOS through a Lua bridge, letting an assistant manage projects, timelines, media and renders.

Nigeria Bank Resolve MCP by Wycord
Published by GitHub account wycord
Resolves a Nigerian bank account number and bank code to the registered account name, and lists Nigerian banks with their codes.

DaVinci Resolve Lua MCP
Published by GitHub account saadk408
A local Claude Desktop extension that drives the free edition of DaVinci Resolve 21.1 through a Lua bridge script running inside Resolve.