Figma MCP server 暴露的工具分成三組:讀取(從 Figma 取資料)、寫入(改 Figma 內容)、以及 Weave(Figma 的 AI 工具執行層)。知道完整清單的實際用途不是為了背起來,而是為了在 agent 挑錯工具時能明確指定——官方承認這是一個常見問題,而解法就是在提示裡直接點名工具。
以下清單取自官方文件(2026-11-01 查證)。標註 R 者為遠端限定,本機伺服器沒有。
📖 讀取工具
| 工具 | 用途 | 參數 | R |
|---|---|---|---|
get_design_context | 主力工具:回傳某圖層或選取範圍的設計脈絡與程式碼 | clientFrameworks | |
get_metadata | 回傳選取範圍的輕量 XML 輪廓 | node ID(選填) | |
get_screenshot | 對選取範圍截圖 | enableBase64Response | |
get_variable_defs | 列出選取範圍用到的變數與樣式 | — | |
get_code_connect_map | 回傳選取實例的 Code Connect 對應 | clientFrameworks、clientLanguages | |
get_motion_context | 回傳動畫資料與 CSS/Motion 片段 | recursive | |
download_assets | 匯出至多 20 個 node 的算圖與原始圖檔 | 格式與倍率選項 | R |
search_design_system | 在元件庫中搜尋元件、變數與樣式 | — | R |
get_libraries | 列出已加入與可用的元件庫 | — | R |
whoami | 回傳你的身分、方案與席次 | 無 | R |
get_figjam | 把 FigJam 圖轉成 XML,附截圖 | — | |
get_shader/list_shaders | 讀取與列出 shader | id、version 等 | 部分 |
list_file_shaders | 列出某檔案用到的 shader | fileKey | R |
get_generative_plugin/list_generative_plugins | 讀取與列出生成式外掛 | id、cursor 等 | R |
get_code_connect_suggestions | 建議 Code Connect 對應(Figma 內部使用) | — | |
get_context_for_code_connect | 取得 Code Connect 模板的元件中繼資料(Figma 內部使用) | — | R |
四個真正天天會用到的
get_design_context 是主力。它回傳設計脈絡與程式碼,絕大多數的 design→code 都是在呼叫它。要注意它的輸出格式——官方說明它會用「看起來像 React 與 Tailwind」的格式描述設計,這直接解釋了為何你老是拿到網頁程式碼,見 指定框架。
get_metadata 是處理大型設計的官方解法。它只回傳輕量輪廓,讓 agent 先看全貌、再針對需要的部分取完整脈絡。這是本專欄最值得養成的習慣之一——它同時解決了「選取過大會卡住」與「每分鐘只有 10 次呼叫」兩個問題。
get_variable_defs 取出變數與樣式。它是讓產出使用 token 而非硬編碼值的關鍵,見 變數與設計系統。
get_screenshot 用來驗證。結構化資料說不出「看起來對不對」,生成之後截一張圖比對是最低成本的品管步驟。
download_assets有一個明確的數字限制:至多 20 個 node。 這是官方文件載明的,規劃批次匯出流程時要考慮。
📖 寫入工具
這一組是 2026 年的新局面:Figma MCP 不再只是唯讀的脈絡提供者。
| 工具 | 用途 | R |
|---|---|---|
use_figma | 核心寫入工具:透過 Figma Plugin API 在檔案中執行程式碼,建立、編輯與檢視內容 | R |
generate_figma_design | 把實際運行的網頁 UI 送進 Figma 成為設計圖層 | R |
html_to_figma | 把一份 HTML 文件轉成設計圖層 | R |
send_code_to_figma | 把本機專案匯入成 Make 檔案或程式碼圖層 | R |
create_new_file | 建立空白的 Design/FigJam/Slides 檔案 | R |
generate_diagram | 由描述或 Mermaid 語法生成 FigJam 圖 | R |
generate_image | 生成圖片並放進檔案 | R |
upload_assets | 上傳圖片與 SVG 進檔案 | R |
add_code_connect_map | 把 Figma 元件對應到程式碼元件 | |
send_code_connect_mappings | 確認建議的對應(Figma 內部使用) | |
create_shader/update_shader | 建立與更新 shader | R |
create_generative_plugin/update_generative_plugin | 建立與更新生成式外掛 | R |
幾乎全部是遠端限定,只有 Code Connect 對應那兩個例外。這是選遠端伺服器最實際的理由。
三個對 UI 工作流真正有意義的:
generate_figma_design ——從跑起來的網頁反向生成設計。這解決的是一個長年存在的問題:設計檔案與線上實況逐漸分歧。 用法見 完整 UI workflow。
use_figma ——寫回畫布的核心。官方說明它能建立「frames、components、variants、variables 與 auto layout」這些真正的 Figma 內容,不是貼一張圖。
add_code_connect_map ——讓 agent 自己建立設計元件與程式碼元件的對應,見 Code Connect。
寫入工具有明確的限制與風險
官方載明:每次工具呼叫最多回傳 20 KB;
use_figma無法自行加入圖片;含圖片或影片的元件匯入、以及建立 GIF 目前不支援;字型必須已上傳到你的 Figma 帳號(只裝在本機電腦的字型不可用);元件必須手動發布後才能完成 Code Connect 對應。 官方並明確警告:先在元件庫的複本或草稿檔測試,再動正式檔案,並保留備份。產出品質為 beta 等級,「may need manual review and cleanup」。
📖 Weave 工具
weave_list_tools、weave_get_tool_inputs、weave_upload_asset、weave_run_tool、weave_get_tool_run_output、weave_cancel_tool_run、weave_find_model、weave_run_model、weave_get_model_run_output。
這一組是 Figma 的 AI 工具與模型執行層,與 design→code 主線關係不大。計費方式不同——它使用 Weave credits 而非 Figma AI credits。官方文件未標註這組的遠端/本機可用性。
📖 Prompts 與 Skills
MCP prompt:create_design_system_rules——依你的 codebase 產生一份規則檔,無參數。這是建立 custom rules 最省事的起點,見 規則檔。
Skills:figma-use(Design)、figma-use-figjam、figma-use-slides、figma-spec(Specs,open beta)、figma-generative-plugins、figma-shaders、figma-code-connect。
skills 不是新能力,是使用說明。 官方的原話是「Skills don’t replace the MCP connection or add new capabilities」——它們把正確的使用方式包裝成 agent 可讀的指示,讓 agent 更可靠地使用寫入工具。這也是官方建議用 plugin 安裝的理由:plugin 會一併帶進 skills。
📖 已棄用
list_shader_effects、list_shader_fills、get_shader_effect、get_shader_fill 四個 shader 工具已標註棄用。看到教學提到這些,代表該文已過期。
📖 明確指定工具
官方承認一個常見問題:agent 依你的提示挑選工具,有時會挑錯。 官方的解法很直接——把你要的東西講清楚,並給了範例:
「Get the variable names and values for this selection.」
這比寫「用 get_variable_defs」更自然也更可靠,因為提示描述的是意圖,而工具名稱是實作細節。但在排查問題時,直接點名工具是有用的——它能區分「agent 挑錯工具」與「工具本身回傳有問題」。
🧠 重點整理
工具分三組:讀取、寫入、Weave。寫入組幾乎全是遠端限定,這是選遠端最實際的理由。
四個天天用的讀取工具:get_design_context(主力)、get_metadata(大型設計先取輪廓)、get_variable_defs(token)、get_screenshot(驗證)。
get_design_context 用 React/Tailwind 風格描述設計,這解釋了為何總是拿到網頁程式碼。
get_metadata 先行同時解決選取過大與呼叫次數兩個問題。
download_assets 上限 20 個 node。
寫入工具每次呼叫最多回傳 20 KB;不支援含圖片影片的元件匯入與 GIF;字型須已上傳至帳號。
官方明確要求先在複本或草稿測試寫入功能。
skills 不新增能力,只是使用說明——但它顯著提升寫入工具的可靠度。
四個 shader 工具已棄用,可用來判斷教學是否過期。
✍️ 動手做
建立「先輪廓、後細節」的習慣,約 20 分鐘:
- 在 Figma 選一個整頁的大 frame,請 agent 直接取設計脈絡。記下花了多久、有沒有出錯。
- 同一個 frame,改成請 agent 先呼叫
get_metadata取輪廓,列出裡面有哪些區塊。 - 從輪廓中挑一個區塊,只對那個區塊取完整脈絡。
- 比較兩條路徑的耗時、回傳大小、以及產出是否完整。
第 1 步有不小的機率會卡住或回傳不完整——那正是官方文件所描述的症狀。親自撞一次,之後就不會再用第一種做法。
🔗 資料來源
- Figma 開發者文件 — 工具與提示——完整工具清單、參數、Remote only 標註、prompts 與 skills、已棄用項目(一手,2026-11-01 查證)。
- Figma 開發者文件 — 寫回畫布——20 KB 上限、不支援項目、字型要求、測試警告(一手)。
- Figma 開發者文件 — 變數沒有正確帶入——agent 挑錯工具與官方範例提示。
- Figma 開發者文件 — 避免大型 frame——
get_metadata先行的官方建議。 - Figma 開發者文件 — 限額與存取——Weave credits。