
figma-vault
io.github.NBhey由 GitHub 帳號 NBhey 發布v0.1.5更新於 Oct 25, 2026
Figma designs pulled once into a local vault; AI agents read them offline with no rate limits
發布方自己的服務:Figma MCP Server
概覽
本機 MCP 伺服器,讓助理讀取一次性拉取到本機儲存庫的 Figma 設計,可離線使用,不需 Figma 權杖,也不受速率限制。
- 可以做什麼
- 列出本機儲存庫中已保存的設計,並讀取設計的正規化節點樹,可依深度限制或只取某個節點的子樹。依名稱或文字搜尋節點。讀取顏色、字體與效果等設計權杖。取得已保存的圖片與圖示資源。儲存庫由另一個 CLI 從 Figma 一次性拉取產生;伺服器本身只讀取本機檔案,不存取網路。
- 適用情境
- 適合助理在建置介面時反覆查看 Figma 設計、而 Figma 的速率限制或權杖要求造成阻礙的情況,也適合團隊希望從已提交的程式碼庫讀取設計而不需要 Figma 存取權限時使用。
- 執行需求
- 需要 Node.js 22 以上版本與 npm 套件 figma-vault,以 stdio 在本機執行。拉取新設計需要具備唯讀檔案內容權限的 Figma 個人存取權杖,透過 .env 檔案或環境變數中的 FIGMA_TOKEN 提供。讀取既有儲存庫不需要權杖。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 figma-vault,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
figma-vault
English · Русский
[npm] [CI] [license: MIT] [node]
Pull a Figma frame once. Then Claude Code, Codex or any MCP agent reads it as often as it likes: offline, with no Figma token and no rate limits.
[figma-vault init, demo and check in a terminal: the chain works without a Figma token]
- Batch Figma requests once, then zero requests however many times the agent looks. Screens from one file share the structure read and image render batches.
- Icons cost nothing. A real screen had 141 icons, and they took no extra requests.
- Commit the vault and the team needs no Figma access. No licence, no token.
Try it in 30 seconds. You don't need a Figma token for this:
How it works: the pull normalizes the frame and writes it to disk. The agent then reads it over MCP.
The problem
Figma's MCP server and REST API are rate-limited, and on some seats the limit is tiny. While building a UI, an agent goes back to the design all the time to check a margin, a colour or a font size. That can mean dozens of calls in one session. You hit the limit fast and the work stops.
With figma-vault, the number of Figma calls doesn't depend on what the agent does. Each design costs a fixed number of calls, spent once when you pull it.
There's a side effect: the design becomes a file in your repository. A developer without access to the Figma file (no licence, no permissions, no token) still gets the whole design.
How it compares
Other projects work on the same problem. The Framelink Exporter plugin exports a design to a zip for offline use, and there are caching forks of Framelink's Figma MCP. figma-vault takes a different approach:
- The vault is meant to be committed. One person pulls a design and the whole team reads it from git. Nobody else needs Figma access.
- Icons cost zero requests. Vector paths come with the node tree, and the SVGs are built locally. Rendering them through Figma would eat the image-render limit.
- The format is fixed and validated.
doc.jsonfollows a written contract, and a strict validator checks every file.
Install
Requires Node.js 22+.
Option 1. Per project
This creates .figma-vault/, registers the server in the project's .mcp.json (other
entries are left alone), adds .env to .gitignore and installs a /figma slash command
for Claude Code.
Use --no-command to skip the /figma command, so the agent gets only the read-only
vault_* tools.
Option 2. Nothing in the repository
The vault lives in ~/.figma-vault/ and the server is registered in the agent's user
config. The project repository never learns the tool exists. Use this when you can't add
config or dependencies to the project.
Usage
To get the link, right-click a frame in Figma and choose Copy link to selection.
CLI output, errors and the MCP tool descriptions are in English by default; the /figma
command it installs is in English too. README.ru.md is a translation of
the documentation only.
After init, Claude Code has one command:
It pulls the design, reads it over MCP and builds the UI following the project's conventions.
What a pull costs in Figma requests
REST API limits depend on the token, plan and seat type. Both node reads and image renders
are Tier 1 endpoints. figma-vault limits "<link>" [more links...] spends one shallow node
read plus up to ceil(S/40) screen render requests per file. It skips rendering SECTION
and CANVAS selections as whole images; their child screens are not probed. A successful
probe cannot guarantee the full pull: asset renders can require additional requests.
For a file with S selected screens and R unique raster assets, when each screen has fewer than 40 raster assets, a successful pull typically uses:
For example, two screens in one file with three unique raster assets take one node read
and one image render if the five IDs fit in a batch. At 40 or more raster assets on one
screen, screenshots are rendered separately. --expand first probes containers with
depth=1, adding at least one node request per file. SVG fallback renders, failed
requests and retries can add calls. On a real 332-node design, 141 icons needed no render calls.
After the pull, the agent never calls Figma again.
Check the result against the design
figma-vault verify compares the page the agent built with the design. The package ships
no browser: the snapshot is taken with whatever the project already uses (Playwright,
DevTools, the agent's browser tool).
- Mark the root element of the page with
data-figma-node-id="<root node id>", and the main blocks with the ids of their nodes. figma-vault verify <docId> --snippetprints a script. Run it on the page and save what it returns to a file.figma-vault verify <docId> --snapshot <file>checks it:- texts: every visible text of the design must be on the page;
- geometry: each marked block must match the design's position and size, within
2 px by default (
--tolerance).
The result is PASS (exit code 0), FAIL (1, with a list of what is off) or
INCOMPLETE (2, when nothing is marked and geometry can't be checked). The /figma
command runs this step itself when the project has a browser.
Try it without a Figma token
You only need a token to pull new designs. Reading works without one, which is the normal setup for everyone except the person who pulls. So you can test the whole install without creating a token:
check starts the real MCP server as a child process and talks to it over the protocol.
It exits with code 1 when something is actually broken, so you can use it in CI.
Token
In Figma, go to Settings → Security → Personal access tokens → Generate new token. The token needs only one scope: File content → Read-only.
Put it in a .env file in the directory you run the CLI from, as a line
FIGMA_TOKEN=figd_..., or set it as an environment variable. If both are set,
the environment variable wins.
What the agent gets
The MCP server exposes six read-only tools:
The tree is normalized:
- auto-layout becomes
mode: row|columnwithgapandpadding; - coordinates are relative to the parent;
- styles, gradients and text come in one predictable shape, including differently
coloured fragments inside one text (
text.runs); - nodes hidden in Figma are kept with
hidden: true. By default the agent doesn't get them, but a parent reports how many it has (hiddenOmitted). PassincludeHidden: truewhen building a reusable component whose optional slots are switched off on this screen.
The raw Figma response is saved next to it in raw.json for debugging.
On a real design, normalization shrinks the tree about 7 times:
This saves more than disk space. An agent that reads 256 KB instead of 2 MB rebuilds the UI noticeably more accurately.
Vault layout
The figma-vault/doc@1 schema is described in docs/CONTRACT.md
(in Russian). A strict validator checks it. Vaults pulled with 0.1.0 (doc@0) are
still read as they are; there is no need to pull them again.
doc.json stands on its own: the MCP server never reads raw.json and never touches
the network.
Known limitations
This is an MVP. Here is what it can't do yet.
- Rate limits. Node reads and image renders are both Tier 1. Either endpoint can return
429, and the block can last for days. Icons no longer depend on rendering, but the frame
screenshot and raster images still do. The client retries up to three times,
following
Retry-After, and never sleeps for more than a minute. If Figma asks it to wait for days, the pull keeps the node tree, records the reason as a warning and doesn't fail. Runfigma-vault limitsbefore pulling. - Only colour and weight are kept for fragments inside a text. A gradient, a different font or an underline on part of a text is lost.
- Designs with many component variants make a large
doc.json. Hidden slots are kept now. On a 332-node screen that added 3,400 hidden nodes, and the file grew from 444 KB to 5 MB. The agent still gets about 100 KB by default, but the file goes into your git.
How it was tested
The fixture in the repository is synthetic: 29 nodes, enough to install the tool and confirm the chain works without a Figma token.
We checked accuracy separately, on two real designs whose content isn't published here. Results on a product screen with 332 nodes, 15 levels deep:
Not checked: pixel-perfect match. We compare with Figma's reference render by eye,
using npm run dev → /compare/<name>. figma-vault verify checks texts and the
geometry of marked blocks, but not colours, fonts or pixels.
What it deliberately doesn't do
It isn't a SaaS, a Figma replacement or a real-time sync. There is no auth, billing, teams or users, and no server side. The MCP server runs on the developer's machine as a child process of the agent and talks over stdio. There is nothing to deploy.
More docs (in Russian)
- docs/INTEGRATION.md: rolling it out to a team, the no-trace mode, checking without a Figma token.
- docs/ADAPT.md: adapting the tool to a project's design system.
Development
Two AI agents write this project in parallel, following the protocol in AGENTS.md: separate areas of the code, a task board and a shared log. Each commit is tagged with its author.
License
MIT
來源:README.md,提交 7159bc1
工具
0版本歷史
3- v0.1.5最新Sep 29, 2026
- v0.1.4Sep 24, 2026
- v0.1.3Sep 23, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
其他 Figma 整合

Figma MCP Server
com.figma.mcp官方發布者
Figma 官方遠端 MCP 伺服器,為 AI 程式助理提供 Figma 設計脈絡,用來產生與更新程式碼。

Figma Vector MCP
由 GitHub 帳號 workingmodel 發布
本機 MCP 伺服器加 Figma 外掛,讓助理在 Figma 畫布上建立與編輯可完整編輯的向量節點、形狀、文字與元件。

Figma CodeKit MCP
由 GitHub 帳號 Mehmoodqureshi 發布
把 Figma 畫框轉換成 HTML、React 或 Next.js 程式碼,並將渲染結果與設計稿做像素比對,反覆迭代直到收斂。

figma-mcp
由 GitHub 帳號 Mehmoodqureshi 發布
把 Figma 畫框確定性地轉成 HTML、React 或 Next.js 程式碼,在 Chromium 中算繪並與設計稿做像素比對,直到一致。

Figma MCP
io.scalably
在本機執行的 Figma REST API MCP 伺服器,讓助理列出檔案中的頂層畫框,並下載某個畫框的 PNG、節點 JSON 與圖片填色對應表。