Your design system as an API. A design-system-focused Model Context Protocol server for Figma. It works in both directions (Figma ⇄ code), writes to Figma, and runs deterministic checks for design-code parity, accessibility, and design-system health. It hands the AI exact tokens, variants, bindings, and states as structured data rather than prescribing a framework or house style, so generated code follows your team's own stack and conventions.
🆕 Shaders, grid and auto layout, OKLCH and P3 color, text wrap and variable fonts (latest v1.46.0): apply shaders and set their properties by name (
figma_apply_shader,figma_list_shaders), set auto layout or grid layout in one call with CSS-style grid tracks (figma_set_layout), use OKLCH, Display P3 and other CSS colors on fills and strokes, and set text wrap (balance, pretty) and variable-font axes withfigma_set_text(v1.46.0). v1.45 added Motion: animate layers with presets, custom animation styles or keyframes bound to Timing and Easing tokens, export video, and find code layers. See what's new →
Figma Console MCP connects AI assistants (like Claude) to Figma, enabling:
_mcp: "figma-console-mcp" and errors are prefixed [figma-console-mcp] so attribution stays unambiguous in agents running multiple Figma MCPsFirst, decide what you want to do:
| I want to... | Setup Method | Time |
|---|---|---|
| Create and modify designs with AI | NPX Setup (Recommended) | ~10 min |
| Design from the web (Claude.ai, v0, Replit, Lovable) | Cloud Mode | ~5 min |
| Contribute to the project | Local Git Setup | ~15 min |
| Just explore my design data (read-only) | Remote SSE | ~2 min |
| Capability | NPX / Local Git | Cloud Mode | Remote SSE |
|---|---|---|---|
| Read design data | ✅ | ✅ | ✅ |
| Create components & frames | ✅ | ✅ | ❌ |
| Edit existing designs | ✅ | ✅ | ❌ |
| Manage design tokens/variables | ✅ | ✅ | ❌ |
| FigJam boards (stickies, flowcharts) | ✅ | ✅ | ❌ |
| Real-time monitoring (console, selection) | ✅ | ❌ | ❌ |
Codebase → design system extraction (figma_ds_*) |
✅ | ❌ | ❌ |
| Desktop Bridge plugin | ✅ | ✅ | ❌ |
| Requires Node.js | Yes | No | No |
| Total tools available | 130 | 105 after pairing | Read-only subset |
Bottom line: Remote SSE is read-only until you pair the plugin. Cloud Mode unlocks write access (105 tools) from web AI clients without Node.js. NPX/Local Git gives the full 130 tools with real-time monitoring.
Best for: Designers who want full AI-assisted design capabilities.
What you get: All 130 tools including design creation, variable management, and component instantiation.
node --version (Download)Figma Console MCPfigd_)Claude Code (CLI):
claude mcp add figma-console -s user -e FIGMA_ACCESS_TOKEN=figd_YOUR_TOKEN_HERE -e ENABLE_MCP_APPS=true -- npx -y figma-console-mcp@latest
OpenAI Codex (CLI):
codex mcp add figma-console --env FIGMA_ACCESS_TOKEN=figd_YOUR_TOKEN_HERE --env ENABLE_MCP_APPS=true -- npx -y figma-console-mcp@latest
Then set startup_timeout_sec = 60 and tool_timeout_sec = 300 for it in ~/.codex/config.toml (Codex's 10 s / 60 s defaults are too short). The Codex app and IDE extension share this config. Full Codex setup →
Gemini CLI:
gemini mcp add -s user -e FIGMA_ACCESS_TOKEN=figd_YOUR_TOKEN_HERE -e ENABLE_MCP_APPS=true figma-console npx -y figma-console-mcp@latest
Google Antigravity (IDE, CLI, app): add the JSON below to ~/.gemini/config/mcp_config.json, plus "timeoutSeconds": 300 in the server entry. Full Antigravity setup →
Cursor / Windsurf / Claude Desktop:
Add to your MCP config file (see Where to find your config file below):
{
"mcpServers": {
"figma-console": {
"command": "npx",
"args": ["-y", "figma-console-mcp@latest"],
"env": {
"FIGMA_ACCESS_TOKEN": "figd_YOUR_TOKEN_HERE",
"ENABLE_MCP_APPS": "true"
}
}
}
}
If you're not sure where to put the JSON configuration above, here's where each app stores its MCP config:
| App | macOS | Windows |
|---|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
%APPDATA%\Claude\claude_desktop_config.json |
| Claude Code (CLI) | ~/.claude.json |
%USERPROFILE%\.claude.json |
| Cursor | ~/.cursor/mcp.json |
%USERPROFILE%\.cursor\mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
%USERPROFILE%\.codeium\windsurf\mcp_config.json |
| OpenAI Codex (app, CLI, IDE) | ~/.codex/config.toml (TOML, see format) |
%USERPROFILE%\.codex\config.toml |
| Gemini CLI | ~/.gemini/settings.json |
%USERPROFILE%\.gemini\settings.json |
| Google Antigravity (IDE, CLI, app) | ~/.gemini/config/mcp_config.json |
%USERPROFILE%\.gemini\config\mcp_config.json |
Tip for designers: The
~symbol means your home folder. On macOS, that's/Users/YourName/. On Windows, it'sC:\Users\YourName\. You can open these files in any text editor — even TextEdit or Notepad.Can't find the file? If it doesn't exist yet, create it. The app will pick it up on its next restart. Make sure the entire file is valid JSON (watch for missing commas or brackets).
Claude Code users: You can skip manual editing entirely. Just run the
claude mcp addcommand above and it handles everything for you.
Desktop Bridge Plugin:
1. Open Figma Desktop normally (no special flags needed) and open a file
2. Go to Plugins → Development → Import plugin from manifest...
3. Select ~/.figma-console-mcp/plugin/manifest.json (stable path, auto-created by the MCP server). Run npx figma-console-mcp --print-path to print the exact path for your machine.
4. Run the plugin in your Figma file — it scans ports 9223–9232 and connects automatically to your running MCP server
Can't see the folder in the import dialog?
.figma-console-mcpstarts with a dot, so macOS hides it. In the dialog, press ⌘⇧G and paste the path (or press ⌘⇧. to show hidden files). On Windows the folder is visible as normal.Heads-up on plugin updates.
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|