Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Resolve MCP gaps: clip effects, Paste Attributes, frame export, photo albums, camera layouts.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
RESOLVE_SCRIPT_API, RESOLVE_SCRIPT_LIBต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด 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/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"resolve-ext": {
"command": "uvx",
"args": [
"resolve-ext"
],
"env": {
"RESOLVE_SCRIPT_API": "ใส่ค่าของคุณ",
"RESOLVE_SCRIPT_LIB": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .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 envRESOLVE_SCRIPT_LIB envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub CaptRauti ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 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
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
server ทางการของ Figma ส่งข้อมูลงานออกแบบให้ AI อ่าน เพื่อเปลี่ยนแบบเป็นโค้ดหรืออธิบายแบบได้ตรงขึ้น ต่อผ่านคลาวด์ของ Figma
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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
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.
| Server | Origin | Tools | What 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:
npx davinci-resolve-mcp setup
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.
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 symbol | In mainstream MCP servers |
|---|---|
Resolve.GetEffectsList | absent |
TimelineItem.AddEffect / GetEffects / DeleteEffects | absent |
Effect.GetInfo / Get/SetIsEnabled / Get/SetIndex | absent |
TimelineItem.CopyAttributes | absent |
TimelineItem.ExportFrame / MediaPoolItem.ExportFrame | absent |
MediaPoolItem.GetParentFolder / Folder.GetParentFolder | absent |
TimelineItem.Get/SetLeftOffset / GetPosition | absent |
Timeline.MoveItems / DeleteGaps / Get/SetIsEnabled | absent |
Photo Album APIs (PhotoAlbum, PhotoAlbumItem, 53 methods) | absent |
Graph.SetNodeLabel / Get/SetNodeColor / SetNodeEnabled | absent |
Project.GetAudioRenderFormats / GetAudioRenderCodecs | absent |
Project.UpdateRenderPreset / SetQuickExportEnabledForRenderPreset | absent |
MediaPoolItem.SetTranscription | absent |
TimelineItem alone exposes 113 methods on 21.1.2; a large share of them were unreachable through MCP before this server.
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).
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.
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.
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.
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 must be running with Preferences → System → General → External scripting using → Local.
effectslist_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_attrsoptions() 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_frameitem(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_opsparent_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_albumslist() / 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
hasattrreport every method on every object.
node_graphinfo(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_extrascapabilities() 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