ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

ResolveMCP-ext

โดย CaptRautiรุ่น 1.0.1i★ –iรันบนเครื่อง
ชื่อใน registryio.github.CaptRauti/resolve-ext

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Resolve MCP gaps: clip effects, Paste Attributes, frame export, photo albums, camera layouts.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ออกแบบ ภาพ และเสียง

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "resolve-ext": {
      "command": "uvx",
      "args": [
        "resolve-ext"
      ],
      "env": {
        "RESOLVE_SCRIPT_API": "ใส่ค่าของคุณ",
        "RESOLVE_SCRIPT_LIB": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add resolve-ext --env RESOLVE_SCRIPT_API='ใส่ค่าของคุณ' --env RESOLVE_SCRIPT_LIB='ใส่ค่าของคุณ' -- uvx resolve-ext

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "resolve-ext": {
      "command": "uvx",
      "args": [
        "resolve-ext"
      ],
      "env": {
        "RESOLVE_SCRIPT_API": "ใส่ค่าของคุณ",
        "RESOLVE_SCRIPT_LIB": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "resolve-ext": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "resolve-ext"
      ],
      "env": {
        "RESOLVE_SCRIPT_API": "ใส่ค่าของคุณ",
        "RESOLVE_SCRIPT_LIB": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • RESOLVE_SCRIPT_API env
    Path to the DaVinci Resolve scripting API folder. Optional: the server locates it automatically on Windows, macOS and Linux, and only uses this when set to an existing path.
  • RESOLVE_SCRIPT_LIB env
    Path to fusionscript.dll / fusionscript.so. Optional for the same reason.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub CaptRauti ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ออกแบบ ภาพ และเสียงi

  • ดาวมากกว่า 0% ของอีก 2175 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 89% ของอีก 2175 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 2175 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

ResolveMCP-ext ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.1) เข้า registry 4 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Figma Context MCP, Claude Real Video, Figma MCP Server

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Figma Context MCP

โดย GLips

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

รันบนเครื่อง★ 16,165MITอัปเดต 5 เดือนที่ผ่านมา
ติดตั้ง

Claude Real Video

โดย HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

รันบนเครื่อง★ 2,284MITอัปเดต 2 เดือนที่ผ่านมา
ติดตั้ง

Figma MCP Server

โดย figma

server ทางการของ Figma ส่งข้อมูลงานออกแบบให้ AI อ่าน เพื่อเปลี่ยนแบบเป็นโค้ดหรืออธิบายแบบได้ตรงขึ้น ต่อผ่านคลาวด์ของ Figma

รันบนคลาวด์★ 2,152อัปเดต 13 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

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.

effects              apply/list/remove/toggle/reorder clip effects

clip_attrs copy attributes between clips (Paste Attributes) export_frame stills from a clip or media-pool item folder_ops which bin does this clip/folder live in photo_albums albums, photos, ratings, flags, versions, stills node_graph node labels, colours, enable state, LUTs, cache project_extras render presets, audio render formats, transcription camera_comparison 2x2 / split layouts, camera labels, markers clip_position read placement + handle offsets; flags broken APIs resolve_ext_status health check

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.

ServerOriginToolsWhat it is for

| Blackmagic's own ResolveMCP.exe | Ships with DaVinci Resolve 21 — nothing to download | 14 | A *meta-server*: it provides Resolve's scripting-API stubs and a Python sandbox (run_script, search_scripting_api, get_whats_new) plus LUT/DCTL management. It performs no Resolve actions itself. | | community samuelgursky/davinci-resolve-mcp | npx or git | 37 (390 with --full) | The workhorse: editing, media pool, render, markers, grading, Fusion — one granular tool per task. Ships a second davinci-resolve-advanced server (18 Node tools) for source-safe media analysis. | | this project resolve-ext | pip | 10 | The gaps the other two leave — see the table below. |

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.

# 1. Blackmagic's — already on disk, just register it:

%ProgramFiles%\Blackmagic Design\DaVinci Resolve\ResolveMCP.exe (Windows)

/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Applications/ResolveMCP

/opt/resolve/bin/ResolveMCP (Linux)

2. the community server (use --clients manual when driving it non-interactively):

npx davinci-resolve-mcp setup

3. this project:

pip install https://github.com/CaptRauti/ResolveMCP-ext/releases/download/v1.0.0/resolve_ext-1.0.0-py3-none-any.whl resolve-ext doctor

Full procedure, per-platform paths, the Windows "Resolve is on another drive" case, and the failure modes of each: [AGENTS.md](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).

Resolve 21.1.2 symbolIn mainstream MCP servers
Resolve.GetEffectsListabsent
TimelineItem.AddEffect / GetEffects / DeleteEffectsabsent
Effect.GetInfo / Get/SetIsEnabled / Get/SetIndexabsent
TimelineItem.CopyAttributesabsent
TimelineItem.ExportFrame / MediaPoolItem.ExportFrameabsent
MediaPoolItem.GetParentFolder / Folder.GetParentFolderabsent
TimelineItem.Get/SetLeftOffset / GetPositionabsent
Timeline.MoveItems / DeleteGaps / Get/SetIsEnabledabsent
Photo Album APIs (PhotoAlbum, PhotoAlbumItem, 53 methods)absent
Graph.SetNodeLabel / Get/SetNodeColor / SetNodeEnabledabsent
Project.GetAudioRenderFormats / GetAudioRenderCodecsabsent
Project.UpdateRenderPreset / SetQuickExportEnabledForRenderPresetabsent
MediaPoolItem.SetTranscriptionabsent

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:

pip install resolve_ext-1.0.0-py3-none-any.whl

The wheel is pure Python and platform-independent — the same file works on Windows, macOS and Linux.

From a git checkout
pip install git+https://github.com/CaptRauti/ResolveMCP-ext

Or from a local clone:

git clone https://github.com/CaptRauti/ResolveMCP-ext

cd ResolveMCP-ext pip install .

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
resolve-ext doctor
resolve-ext 1.0.0

--- Python --- 3.12.4 at /usr/bin/python3 ok (3.10+)

--- DaVinci Resolve scripting API --- platform linux api_path /opt/resolve/Developer/Scripting (found) lib_path /opt/resolve/libs/fusionscript.so (found)

--- Import test --- ok: DaVinciResolveScript imports

--- Live connection --- ok: connected to Resolve; project = My Project

--- Result --- All checks passed.

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:

{

"mcpServers": { "resolve-ext": { "command": "resolve-ext" } } }

For a non-standard Resolve location, or to see the explicit form, run:

resolve-ext env

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
list_available(media_type?)          video (default) | photo | audio

list_applied(item_id?|name?, category?) apply(item_id?|name?, category, id) remove(item_id?|name?, category, indices?) set_enabled(item_id?|name?, index, enabled, category?) reorder(item_id?|name?, index, new_index, category?)

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/ / .

clip_attrs
options()                                    the full option vocabulary

copy(source_id?|source_name?, target_ids?|target_names?, options, ...) read(item_id?|name?)

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.

{"colorCorrection": true, "allZoomAttributes": true,

"allCropAttributes": true, "videoPlugins": true}

export_frame
item(item_id?|name?, frame_offset, output_type?, file_path?, format?, max_dimension?)

media(clip_id, frame_offset, output_type?, file_path?, format?, max_dimension?) timeline(frame_offset, ...) # broken on 21.1.2 — see below

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
parent_of_clip(clip_id)              which bin holds this clip

parent_of_folder(path?|folder_id?) a folder's parent (root has none) path(clip_id?|folder_id?) "Master/Sub/Bin" find_clip(clip_id) locate a clip anywhere in the tree

photo_albums
list() / current() / set_current(album_id?|name?)

create(name) / create_from_photos(name, clip_ids) / delete(album_ids?) / rename(...) quick_export_presets() / render_settings(settings?) photos(album_id?|name?) / add_photos(clip_ids) / remove_photos(photo_ids) / current_item() stills(album_id?|name?, all_photos?) photo(photo_id) / rate(photo_id, stars) / flag(photo_id, color?|clear?) clip_color(photo_id, color?|clear?) / versions(photo_id) add_version / load_version / delete_version copy_grade / effects_list / effect_apply / effect_remove / fusion_comps / fusion_add

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 on MediaPool, and Resolve answers none of them. The

tool resolves the right object per call, because a Resolve proxy makes

hasattr report every method on every object.

node_graph
info(item_id?|name?|photo_id?)        node list with labels and colours

label(node_index, label) "" clears the label color(node_index, color) "" clears the colour enable(node_index, enabled) tools(node_index) which Fusion/OFX tools sit in the node lut(node_index, lut_path?) read, or set cache(node_index, mode?) read, or set reset_colors() photo graphs only reset_grades(confirm=true) destructive — clears the whole grade

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
capabilities()                             what this build answers at all

render_presets() GetRenderPresetList update_render_preset(preset_name) GUI-dependent, see the broken table quick_export_enable(preset_name, enabled) GUI-dependent audio_formats() {display name -> ex

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx