
figma-mcp-console
MCP server that lets your AI assistant read and write Figma in real time — no API token, no rate limits. Works with Claude, Cursor, Copilot, Codex and any MC…
Install with your AI
Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.
Install and set up figma-mcp-console (release-binary project) into my current project. Found on https://claudeers.com/figma-mcp-console Repo: https://github.com/hoangann2000/figma-mcp-console Homepage/docs: https://www.npmjs.com/package/figma-mcp-console Detected install method: release-binary → inspect the README Category: mcp-servers. Platforms: cli, api, desktop, web. Read the repo's README for exact setup and env vars, then install it and wire it into my project. Claudeers Health Verdict: active; community-verified: false. Confirm the source before running anything.
Grab the latest release asset from GitHub.
# download a build from https://github.com/hoangann2000/figma-mcp-console/releases
git clone https://github.com/hoangann2000/figma-mcp-console
// compatibility
| Platforms | cli, api, desktop, web |
|---|---|
| Operating systems | — |
| AI compatibility | claude |
| License | MIT |
| Pricing | open-source |
| Language | Go |
Figma MCP Console
Let your AI assistant design in Figma — no API token, no rate limits. Works with Claude CLI · Claude Desktop · Codex · VS Code · Cursor · Antigravity · any MCP client.
✨ What can it do?
- 🖥️ Figma → Code — paste a link to a Figma frame, and the AI implements that exact screen in your codebase, exporting the design's icons and images into your project instead of inventing its own
- 🎨 Requirement → Figma — paste a requirement, and the AI draws the screen in Figma, then screenshots its own work and fixes what's off
- 🔁 Token sync — pull design tokens into your theme config, or build a design system in Figma from your code
- ✏️ Bulk editing — rename layers, replace text across a page, reorganize frames
⚡ Quick start
Prerequisites
- Node.js 18+ — check with
node --version - Figma Desktop app (the web app can't run development plugins)
Step 1 — Add the server to your AI tool
No install needed — npx downloads and runs everything automatically.
Claude CLI
For one project — run inside that project (registers it there only):
claude mcp add figma-console -- npx -y figma-mcp-console@latest
For all your projects at once — add it globally instead:
claude mcp add --scope user figma-console -- npx -y figma-mcp-console@latest
Both work the same at runtime: each Claude session starts its own server instance in that project's directory (so exported assets land in the right project), and all instances share one local bridge to Figma automatically.
Or add to the project's .mcp.json:
{
"mcpServers": {
"figma-console": {
"command": "npx",
"args": ["-y", "figma-mcp-console@latest"]
}
}
}
Claude Desktop
Settings → Developer → Edit Config (claude_desktop_config.json):
{
"mcpServers": {
"figma-console": {
"command": "npx",
"args": ["-y", "figma-mcp-console@latest"]
}
}
}
Restart Claude Desktop. On Windows use "command": "cmd", "args": ["/c", "npx", "-y", "figma-mcp-console@latest"].
Codex CLI
codex mcp add figma-console -- npx -y figma-mcp-console@latest
Or in ~/.codex/config.toml:
[mcp_servers.figma-console]
command = "npx"
args = ["-y", "figma-mcp-console@latest"]
VS Code (GitHub Copilot)
Create .vscode/mcp.json (or Command Palette → "MCP: Add Server"):
{
"servers": {
"figma-console": {
"type": "stdio",
"command": "npx",
"args": ["-y", "figma-mcp-console@latest"],
"cwd": "${workspaceFolder}"
}
}
}
Use it from Copilot Chat in Agent mode.
Cursor
Create .cursor/mcp.json (or Settings → MCP → Add new MCP server):
{
"mcpServers": {
"figma-console": {
"command": "npx",
"args": ["-y", "figma-mcp-console@latest"]
}
}
}
Antigravity
Agent panel → MCP Servers → Manage MCP servers → View raw config (mcp_config.json):
{
"mcpServers": {
"figma-console": {
"command": "npx",
"args": ["-y", "figma-mcp-console@latest"]
}
}
}
Click Refresh after saving.
Other MCP clients (opencode, Windsurf, Cline, Gemini CLI, Zed, …)
Standard MCP stdio transport — any client works. Set the command to npx with args ["-y", "figma-mcp-console@latest"].
Step 2 — Install the Figma plugin
First, get the plugin folder onto your machine — pick either option:
📦 Option A — Download from GitHub (recommended)
- Download plugin.zip → unzip it
⌨️ Option B — Get it via command (if the download doesn't work)
- Run
npx figma-mcp-console install-plugin- It saves the plugin to a folder and opens it automatically so you can see
manifest.json
Then, in both cases:
- In Figma Desktop: Plugins → Development → Import plugin from manifest… → select
manifest.json(one-time step) - Run it: Plugins → Development → Figma MCP Console — and keep the plugin window open while you work. 🟢 Green dot = connected
- Working with several Figma files at once? Run the plugin in each file — every window connects to the same local bridge, and the AI picks the right file per call
Step 3 — Try it
Figma → code — right-click a frame → Copy link to selection, then:
Implement this Figma page in our project: <paste link>. Match layout, spacing,
type and colors; export its icons/images into the project; screenshot the frame
and compare when done.
Requirement → Figma:
Design a SaaS landing page in Figma (desktop, 1440px): hero + CTA, three feature
cards, pricing with three plans, footer. Light theme, use auto-layout, then
screenshot and fix anything off.
🎯 Asking the AI to screenshot and compare at the end makes it check its own work instead of guessing.
🗂 Multiple files, multiple projects
All AI sessions and all Figma files share one local bridge on port 2000 — the first MCP server to start owns it, later ones join it automatically, and if the owner exits another session takes over within a second. Nothing to configure.
- Several Figma files: run the plugin in each file (its window shows Connected · <file name>). With more than one file connected, every tool accepts a
fileparameter (file name, case-insensitive), andlist_filesshows what's connected — so you can say things like "copy the primary color from Design System into the CTA button in Landing Page" in a single session. With one file connected, nothing changes. - Several code projects: each AI session (one per project) reaches every connected file through the shared bridge. State which file you mean in the prompt and each session works with the right one.
🧠 Teach your AI what to export, and where
Exports follow the file extension the AI picks (.svg for vector, .png/.jpg for bitmap, with an optional 0.5–4x scale). It decides based on what you ask — so put your preferences in the project rules file once, and stop repeating yourself:
| AI tool | Rules file |
|---|---|
| Claude CLI / Claude Desktop | CLAUDE.md |
| Codex / opencode | AGENTS.md |
| Cursor | .cursorrules |
| VS Code Copilot | .github/copilot-instructions.md |
| Windsurf | .windsurfrules |
📋 Copy-paste rules (adjust paths — this fits Next.js):
## Figma asset rules
- Icons: SVG into public/icons/. Images: PNG into public/images/.
- File names: kebab-case English (arrow-left.svg, hero-banner.png).
- Read design tokens with get_variable_defs; map them to our theme config.
- After building a screen, screenshot and fix issues before finishing.
🔧 Troubleshooting
| Problem | Fix |
|---|---|
| ❌ "no Figma plugin is connected" | Open the plugin in Figma Desktop (Plugins → Development → Figma MCP Console) and keep its window open — in every file you want the AI to touch |
| 🕐 Plugin says "Searching for MCP server…" | Normal before your AI client connects — the server starts automatically with it. If it never connects, click the status line to retry, or restart your AI client |
| 🗂 "N Figma files are connected; pass the file parameter" | More than one plugin window is open — tell the AI which file you mean (or close the extra plugin windows) |
| 🚫 The MCP server doesn't appear in your AI tool | Check Node.js 18+ is installed (node -v) |
| 📁 Exported files end up in the wrong folder | Exports are written relative to where the server runs. Register it in the project-level config, or tell the AI an explicit export path |
| 🔤 Font errors when creating text | The Figma file uses a font not installed on your machine — the error message names it |
📄 License
MIT — © Hoang Le Thien An
This is an independent community project, not affiliated with or endorsed by Figma, Inc. "Figma" is a trademark of Figma, Inc.
// faq
What is figma-mcp-console?
MCP server that lets your AI assistant read and write Figma in real time — no API token, no rate limits. Works with Claude, Cursor, Copilot, Codex and any MCP client.. It is open-source on GitHub.
Is figma-mcp-console free to use?
figma-mcp-console is open-source under the MIT license, so it is free to use.
What category does figma-mcp-console belong to?
figma-mcp-console is listed under mcp-servers in the Claudeers registry of Claude-compatible tools.
// embed badge
[](https://claudeers.com/figma-mcp-console)
// retro hit counter
[](https://claudeers.com/figma-mcp-console)
// reviews
// guestbook
// related in MCP Servers
f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete…
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
An open-source AI agent that brings the power of Gemini directly into your terminal.
🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman