Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Description from the maker (original English)
Analyze Figma designs for dev & AI readiness. 39 rules, scoring, HTML reports.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
FIGMA_TOKENValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"canicode": {
"command": "npx",
"args": [
"-y",
"canicode"
],
"env": {
"FIGMA_TOKEN": "your-value"
}
}
}
}Run this in your terminal
claude mcp add canicode --env FIGMA_TOKEN=your-value -- npx -y canicodeFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"canicode": {
"command": "npx",
"args": [
"-y",
"canicode"
],
"env": {
"FIGMA_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"canicode": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"canicode"
],
"env": {
"FIGMA_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account let-sunny, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: FIGMA_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.5.2) reached the registry 8 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the 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.
Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
CanICode
Ship your Figma design exactly as you intended — without learning CSS.
Try it in your browser — no install needed.
You designed it in Figma. You know exactly how it should look and behave — but the AI codegen guesses, and half the time it guesses wrong. The cards don't stack on mobile. The hover state disappears. The padding gets normalised. *That's not what I designed.*
canicode is the pre-implementation interview between your Figma file and AI codegen. It asks the questions a developer would ask before they implement — in plain language you can answer:
*"The three cards are side-by-side at desktop width — what should happen when the screen is narrow?"*
You answer in plain words ("좁아지면 한 줄에 하나씩" / "stack them vertically"). canicode translates that into the exact technical spec the codegen needs, and writes it back into your Figma file as a structured annotation so the next run no longer has to guess.
You stay in Figma. You never type a CSS selector. The intent ships.
→ Full thesis: docs/POSITIONING.md
The linter is deterministic (no LLM tokens consumed for the analysis itself), ablation-validated at 94% pixel accuracy with 5× fewer tokens than raw JSON, and calibrated against real Figma designs.
Claude Design launched in April 2026 and covers the prompt → app path beautifully — AI designs from your prompt and hands the result to Claude Code. canicode covers a different workflow:
| Claude Design | canicode | |
|---|---|---|
| Who designs | AI (from a prompt) | The designer (in Figma) |
If you want the AI to design for you, use Claude Design. If you already designed it and want it implemented exactly the way you intended, canicode is for you. The two are not in competition — they assume different things about who owns the design.
See docs/POSITIONING.md for the full thesis (target persona, the workflow assumption, and what canicode is not for).
Skills: `canicode-gotchas` = survey answers saved locally in SKILL.md only (memo). `canicode-roundtrip` = same analysis path plus writes to Figma (annotations / properties). Pick gotchas for capture-only; pick roundtrip when the design file should change.
/canicode-roundtrip skill writes answers back via use_figma. Each write shows up in the summary with one of three outcome markers:allowDefinitionWrite.figma-implement-design — canicode's scope ends at design augmentation. Figma's official code-generation skill takes the now-clean design and produces code.figma-implement-design returns, the roundtrip asks whether the generated code is satisfactory. On y, canicode registers a Code Connect mapping pointing the Figma component at the just-generated code so future roundtrips on screens containing this component reuse the implementation instead of regenerating markup. Skipped if Code Connect is not set up in your repo — the roundtrip warns about this up front, before the gotcha survey, so you can decide whether to install prerequisites first or proceed without mapping.npx canicode init
/canicode-roundtrip https://www.figma.com/design/ABC123/MyDesign?node-id=1-234
The roundtrip calls the Figma MCP server to read and write your design — install it once with claude mcp add -s project -t http figma https://mcp.figma.com/mcp and restart Claude Code.
Cursor / Claude Desktop / other MCP host: also supported. CLI install path (
npx canicode init --cursor-skills), bare MCP server install, GitHub Action for CI gates, and other channels are listed in the Installation matrix below.
Optional — Code Connect (for the closing Step 6 mapping): install
@figma/code-connectand createfigma.config.jsonat your repo root per Figma's setup guide, then runcanicode doctor. If you skip this, the roundtrip still works — it just does not register the mapping. It warns you up front so you can decide.
| Category | Rules | What it measures |
|---|---|---|
| Pixel Critical | 3 | Can AI read the layout? (Auto Layout, absolute positioning, groups) |
| Responsive Critical | 2 | Will it work at different viewports? (fixed sizing, size constraints) |
| Code Quality | 5 | Is the design efficient for AI context? (components, variants, nesting, Code Connect coverage) |
| Token Management | 2 | Can AI reproduce exact values? (raw values, spacing grid) |
| Interaction | 2 | Can AI know what happens? (state variants, prototypes) |
| Semantic | 3 | Can AI infer meaning? (semantic names, conventions) |
Each issue is classified: Blocking > Risk > Missing Info > Suggestion.
Token safety: never paste your Figma token into Claude / Cursor / agent chat — session logs can retain it. Use the CLI prompt (
npx canicode init),--token, or theFIGMA_TOKEN=…env var.
Each row below is a complete install. Don't run more than one — they cover overlapping use cases.
| If you use… | Install |
|---|---|
| Claude Code (recommended for the roundtrip workflow) | npx canicode init (interactive prompt for the token in a TTY) or npx canicode init --token figd_xxxxxxxxxxxxx (CI / non-TTY) — saves the token AND drops /canicode, /canicode-gotchas, /canicode-roundtrip skills into ./.claude/skills/. The skills already know how to call canicode via npx canicode …, so no canicode MCP install is needed; the Figma MCP is still required for the /canicode-roundtrip apply step — see the prereq below. To rotate the token later without reinstalling skills: npx canicode config set-token. |
| Cursor / Claude Desktop / other MCP host | Add canicode to the host’s MCP config — see docs/CUSTOMIZATION.md. Example (Cursor project file): npx + canicode-mcp via --package=canicode. |
| OpenClaw / other AgentSkills-compatible host | Manual skill copy — see Other agents (manual install). Best-effort docs, not a support commitment. |
| Just the CLI (CI, scripts) | Nothing. npx canicode analyze " " works directly. Run canicode init --token … once if you want the token persisted to ~/.canicode/config.json. To rotate the token later, use canicode config set-token (no skill reinstall). |
Get your token: Figma → Settings → Security → Personal access tokens → Generate new token. Figma's PAT docs
Scope: Read-only is sufficient for canicode.
Expiry: Tokens default to 90 days; check the dropdown when generating.
Roundtrip prerequisite: the
/canicode-roundtripskill calls the Figma MCP server to read and write the design. Install it once withclaude mcp add -s project -t http figma https://mcp.figma.com/mcpand restart Claude Code so the new MCP tools load.
Claude Code Skills — install details
# Interactive (TTY) — prompts for the token, never paste it into agent chat
npx canicode init
FIGMA_TOKEN=figd_xxxxxxxxxxxxx npx canicode init npx canicode init --token figd_xxxxxxxxxxxxx
Drops three skills into ./.claude/skills/:
/canicode )/canicode-gotchas )/canicode-roundtrip )The install copies 7 files total — the three SKILL.md files above plus four canicode-roundtrip helper files (
helpers.js,helpers-bootstrap.js,helpers-installer.js,canicode-roundtrip-helpers.d.ts) used by the roundtrip Step 4 apply path. The CLI summary'sfiles installed: 7reflects this file count.
Explicit invocation: the SKILL.md
descriptionfields advertise TRIGGER conditions so the model auto-routes Figma-URL prompts to the right skill, but routing is non-deterministic. For deterministic invocation, type/canicode,/canicode-gotchas, or/canicode-roundtripdirectly — the slash command bypasses model-based routing.
The skills shell out to npx canicode … for analyze / gotcha-survey, so installing the canicode MCP server is optional (both paths produce the
Only the beginning is shown; read the rest in the repo