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.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 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": "your-value",
"RESOLVE_SCRIPT_LIB": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add resolve-ext --env RESOLVE_SCRIPT_API=your-value --env RESOLVE_SCRIPT_LIB=your-value -- uvx resolve-ext실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"resolve-ext": {
"command": "uvx",
"args": [
"resolve-ext"
],
"env": {
"RESOLVE_SCRIPT_API": "your-value",
"RESOLVE_SCRIPT_LIB": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"resolve-ext": {
"type": "stdio",
"command": "uvx",
"args": [
"resolve-ext"
],
"env": {
"RESOLVE_SCRIPT_API": "your-value",
"RESOLVE_SCRIPT_LIB": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
RESOLVE_SCRIPT_API envRESOLVE_SCRIPT_LIB env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 GitHub 계정 CaptRauti 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.1)은 4일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Figma Context MCP, Claude Real Video, Figma MCP Server
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
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.
The Figma MCP server brings Figma design context directly into your AI workflow.
제작자의 저장소에서 쓰인 그대로 가져왔어요. 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
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요