Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Figma designs pulled once into a local vault; AI agents read them offline with no rate limits
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"figma-vault": {
"command": "npx",
"args": [
"-y",
"figma-vault",
"mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add figma-vault -- npx -y figma-vault mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"figma-vault": {
"command": "npx",
"args": [
"-y",
"figma-vault",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"figma-vault": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"figma-vault",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub NBhey ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.5) เข้า registry 39 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
English · Русский
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.
Try it in 30 seconds. You don't need a Figma token for this:
npm i -g figma-vault
figma-vault init && figma-vault demo && figma-vault check
How it works: the pull normalizes the frame and writes it to disk. The agent then reads it over MCP.
one developer: figma-vault add <link> → vault → git commit
the rest of the team: the agent reads it over MCP, no Figma token needed
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.
| Figma Dev Mode MCP | figma-vault | |
|---|---|---|
| who calls Figma | the agent, while it works | the CLI, once |
| how many calls | grows with the agent's work | fixed per design |
| does every reader need a token | yes | no |
| works offline | no | yes |
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.
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:
doc.json follows a written contract, and a strict validator checks every file.Requires Node.js 22+.
npm i -g figma-vault
figma-vault init
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.
figma-vault init --global
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.
figma-vault add "https://figma.com/design/KEY/Project?node-id=127-4532"
figma-vault add " " " "
figma-vault add " " " " --no-assets
figma-vault add " " --expand --max-screens 20
To get the link, right-click a frame in Figma and choose Copy link to selection.
figma-vault limits "<frame link 1>" "<frame link 2>" # probe access before pulling
figma-vault list # what has been pulled so far figma-vault check # verify the whole chain works figma-vault demo # add a demo design, no token needed
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:
/figma <frame link> [more frame links...]
It pulls the design, reads it over MCP and builds the UI following the project's conventions.
REST API limits depend on the token, plan and seat type. Both node reads and image renders are Tier 1 endpoints. figma-vault limits " " [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:
| requests | |
|---|---|
selected node trees (/v1/files/:key/nodes) | 1 per file |
screenshots and raster assets (/v1/images, batches of 40 IDs) | ceil((S + R) / 40) per file |
| icons with local geometry | 0 |
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.
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).
data-figma-node-id=" ", and the main blocks with the ids of their nodes.figma-vault verify --snippet prints a script. Run it on the page and save what it returns to a file.figma-vault verify --snapshot checks it:--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.
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:
figma-vault init && figma-vault demo && figma-vault check
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.
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.
The MCP server exposes six read-only tools:
| tool | returns |
|---|---|
vault_list | the designs in the vault |
vault_get_doc | a design's node tree; maxDepth limits the depth |
vault_get_node | the subtree of one node |
vault_search | nodes found by name or text |
vault_get_tokens | colours, typography, effects |
vault_get_asset | an image or an icon |
The tree is normalized:
mode: row|column with gap and padding;text.runs);hidden: true. By default the agent doesn't get them, but a parent reports how many it has (hiddenOmitted). Pass includeHidden: true when 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:
raw.json 1.9 MB raw Figma response
doc.json 256 KB what the agent reads
This saves more than disk space. An agent that reads 256 KB instead of 2 MB rebuilds the UI noticeably more accurately.
<vault>/
index.json list of designs / doc.json normalized tree, the main artifact raw.json raw Figma response screenshot.png render of the whole frame assets/ icons and images
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.
This is an MVP. Here is what it can't do yet.
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. Run figma-vault limits before pulling.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:
| check | result |
|---|---|
| design texts present in the rebuilt markup | 41 of 41 |
| icons | 15 of 15, 0 broken links |
| placeholders needed | 1 (a raster avatar) |
| Figma requests in the earlier measured pull | 3 (before combined rendering) |
doc.json against the contract | passes |
Not checked: pixel-perfect match. We compare with Figma's reference render by eye, using npm run dev → /compare/ . figma-vault verify checks texts and the geometry of marked blocks, but no
ตัดมาแค่ช่วงต้น อ่านต่อใน repo