Figma Bridge
Connects an AI agent to the Figma file currently open in the Figma desktop app via a development plugin. Provides tools to create frames, write text, apply styles, import images and SVGs, take screenshots of nodes, inspect file/page/selection context, list fonts, and run arbitrary Figma Plugin API JavaScript, all without API rate limits.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Figma Bridgecreate a hero frame, add a headline, and screenshot it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Figma Bridge
Let any AI agent design in the Figma desktop app, with no rate limits.
Figma Bridge is a local MCP server plus a Figma plugin. Your agent gets full read and write access to the open file through the Plugin API, not the web API: no tokens, no quotas. (A token is only needed for the optional comments and version history tools.)
Works with Claude Code, Claude Desktop, Codex, Antigravity, Gemini CLI, Cursor, Windsurf and any other MCP client.
Features
Build whole layouts in one call from a JSON spec: auto-layout and grid, rich text, icons, images, component sets with variants and properties, prototype links, and professional layer names (Header, Card, Title, PrimaryButton) (naming). The spec is checked first: CSS habits (
borderRadius,"16px",rgb(),"100%") are converted and unknown properties come back as warnings with the right name, so nothing is silently ignored.Import any website or HTML as editable auto-layout frames, one per viewport (details).
Round-trip the design system: write variables with Light/Dark modes and styles from JSON, W3C tokens or Tailwind; export them to DTCG, CSS, Tailwind v3/v4, SCSS or TypeScript (details).
Score and fix design system health: token coverage, contrast, text styles, detached instances, duplicates, naming, with safe automatic fixes.
Read existing designs compactly, search every page, and reuse the file's design system.
Check its own work with screenshots, a design audit, and a pixel diff against a mockup.
Hand off to your codebase: export a frame into your project with its own components, tokens and stack (React, Next, Vue, Svelte, React Native; Tailwind, CSS modules, styled-components; shadcn, MUI, Chakra) (details), plus Dev Mode annotations.
Ship to Roblox: turn a frame into native Roblox UI (ScreenGui, UIListLayout, UICorner, UIStroke, UIShadow, 9-slice panels), all in scale with professional names, as an
.rbxmxmodel and a Luau script for a Roblox Studio MCP, with optional asset upload (details).Figma Design, FigJam and Slides: stickies, shapes, connectors, tables, Mermaid flowcharts laid out as diagrams, and slide decks; several files at once (details).
200 000+ icons through Iconify, checkpoints to roll back, and a library of reusable scripts.
Zero-friction connection: the plugin connects and reconnects on its own. Each AI command is one Ctrl+Z step, and you can cancel it from the plugin.
Related MCP server: Writable Figma MCP Bridge
How it compares
Figma Bridge | Figma MCP server (official) | |||
Setup |
| npx, a personal access token, plugin import | Plugin zip import, MCP config | OAuth (remote) or the desktop app |
Figma plan or seat | Any, free included | Any | Any, free included | Writing to the canvas: Full or Dev seat on a paid plan |
API token | Not needed (only for comments and versions) | Required | Not needed | OAuth sign-in |
Tools | 29 | 121 | 116 | 16 |
Whole layout in one call | ✓ | Component sets from a variant matrix | — | — |
Pixel diff against a mockup | ✓ | — | Diff against a saved baseline | — |
Checkpoints to roll back | ✓ | — | — | — |
Website or HTML → editable layers | ✓ any URL, HTML or file, several widths | — | — | Captures UI rendered in a browser |
Code that uses your components and tokens | ✓ React, Next, Vue, Svelte, React Native | — | ✓ | ✓ with Code Connect |
Token export | DTCG, CSS, Tailwind v3/v4, SCSS, TS, JSON | 10 formats | — | — |
FigJam and Slides | ✓ boards, Mermaid diagrams, decks | ✓ | FigJam, partly | — |
Figma → Roblox UI | ✓ native UI objects, | — | — | — |
Based on each project's documentation in October 2026; "—" means it isn't documented there. Corrections are welcome in an issue.
Installation
Requires Node.js 20+ and the Figma desktop app.
Run:
npx @clovis500c/figma-bridge setupIt adds Figma Bridge to every AI client installed on your machine (originals are backed up), copies the Figma plugin to
~/.figma-bridge/pluginand prints the path of its manifest.In Figma: Plugins → Development → Import plugin from manifest… and select that
manifest.json.Restart your AI client, open a Figma file and run Plugins → Development → Figma Bridge. A green Live badge means it's connected.
Updates are automatic: each time your AI client starts, it runs the latest release and refreshes the plugin. Reopen the plugin in Figma when it shows Update installed.
To review each release yourself instead, run npx @clovis500c/figma-bridge setup --pin: your clients then run that exact version until you run setup again.
Download the latest release, unzip it, and run in that folder:
bun install
bun run setupThen import the manifest.json it prints (in ~/.figma-bridge/plugin) in Figma as in step 2.
npx @clovis500c/figma-bridge setup --print prints these snippets. To target one client: setup --client codex.
Most clients (mcpServers in their JSON config):
{
"mcpServers": {
"FigmaBridge": {
"command": "npx",
"args": ["-y", "@clovis500c/figma-bridge"]
}
}
}On Windows, use "command": "cmd" and "args": ["/c", "npx", "-y", "@clovis500c/figma-bridge"].
Codex (~/.codex/config.toml):
[mcp_servers.FigmaBridge]
command = 'npx'
args = ['-y', '@clovis500c/figma-bridge']
startup_timeout_sec = 60Client | Config file |
Claude Code |
|
Claude Desktop |
|
Codex |
|
Antigravity |
|
Gemini CLI |
|
Cursor |
|
Windsurf |
|
Usage
Keep the plugin open (the — button collapses it to a thin bar) and ask your agent, for example:
Design a mobile sign-in screen from scratch on a new page: logo, email and password fields, a primary button and a "Forgot password?" link.
Import https://example.com/pricing at desktop and mobile widths, then rename the layers and use our text styles.
Export the selected card into C:\code\my-app using our existing components, then write it.
Audit our design system, fix what can be fixed safely, and tell me the score before and after.
Clients that support MCP prompts also offer ready-made workflows: new-screen, apply-design-system, reproduce-screenshot, import-website, figma-to-code, audit-and-fix and figma-to-roblox. Ready-made specs and tokens are in examples/.
When your agent needs you to point at something, the plugin shows Your agent is waiting until you select it.
A running command has a Cancel button: build stops at the next layer, but a script cannot be interrupted and
finishes in the background.
To reopen the plugin later, use Ctrl+Alt+P or the Figma Bridge button in the right panel.
Tools
Tool | Purpose |
| Create a layout in one call: grid, rich text, variants, reactions; FigJam boards and diagrams; slides |
| Rebuild a website or HTML as editable layers, one frame per viewport |
| Run any Figma Plugin API code |
| Compact outline of existing layers |
| Search layers on every page by name, text, type, style or component |
| Local styles, variables and components |
| Write variables (with modes) and styles from JSON, W3C tokens or Tailwind; export them to DTCG, CSS, Tailwind, SCSS or TS |
| Lint layers, score the design system's health, and apply safe fixes |
| Export a layer to an image (optionally shown to the agent) |
| Pixel-diff a layer against a reference image, with a heatmap |
| Ask the user to select layers and wait for it |
| Link frames (click, hover, transitions) and set flow starting points |
| Add, list or clear Dev Mode annotations |
| Export a frame to code; with |
| Export a frame to Roblox UI in scale: |
| Iconify icons as editable vectors |
| Images from disk or URL, SVG as vectors |
| Save layers and restore them later |
| Reusable script functions ( |
| File info, generated CSS, installed fonts |
| Optional, with a Figma token: read, post and answer comments; version history and diffs (setup) |
| Choose a file when several are open (or pass |
| Reference docs the agent reads on demand: workflow, full build spec, run_script, FigJam and Slides, naming, Roblox |
Each tool describes its parameters to the agent, which needs no extra instructions. The server's instructions stay
under 2 000 characters (some clients cut longer ones); the details are one guide call away. To hide tools you never
use, list them in FIGMA_BRIDGE_DISABLE_TOOLS, e.g. export_roblox,comments,versions.
Troubleshooting
Plugin status | Fix |
Offline | The MCP server isn't running: start or restart your AI client and check that |
Port busy | Another program uses port 3055. Close it; the plugin reconnects. |
Update installed | A newer version was installed: click Reopen, then run the plugin again (Ctrl+Alt+P). |
Older server | Your AI client still runs an older release: restart it. |
"reopen this plugin to pair it" | The plugin copy doesn't have this machine's pairing token: close and reopen it. If you imported it from another folder, import |
Logs, screenshots, comparison heatmaps and exported code are written to %TEMP%\figma-bridge.
import_web uses your installed Chrome or Edge; set FIGMA_BRIDGE_BROWSER to use another Chromium-based browser.
Development
bun install # also builds the plugin and dist/server.js
bun run build # plugin/code.ts → plugin/code.js, src/cli.ts → dist/server.js (Node)
bun run check # type-check server and plugin, reject syntax Figma cannot run
bun test # unit tests (bridge, setup, schemas, tokens, code generation, web import, Roblox)
bun run test # end-to-end test against an open Figma fileTo release, change version in package.json and server.json in your PR and merge it: the Release workflow
starts on its own, publishes to npm and creates the GitHub release, and every AI client runs the new version at its
next start (npx @latest). Actions → Release → Run workflow on main still works by hand. Directory listings (MCP Registry, Glama, Smithery, LobeHub) are
described in docs/publishing.md.
Options: FIGMA_BRIDGE_PORT (default 3055), FIGMA_BRIDGE_CHANNEL, FIGMA_BRIDGE_OUT, FIGMA_BRIDGE_SNIPPETS,
FIGMA_BRIDGE_BROWSER, FIGMA_BRIDGE_DISABLE_TOOLS, FIGMA_TOKEN for the optional REST tools, and
ROBLOX_API_KEY + ROBLOX_CREATOR_ID for Roblox asset upload.
The server listens on 127.0.0.1 only, and browsers can't send it commands. A web page can't pose as the plugin
either: a sandboxed iframe sends the same Origin: null as Figma's plugin UI, so the hub also requires a pairing token
that only the installed copy in ~/.figma-bridge/plugin carries (written by setup and refreshed at each server start;
the token itself is in ~/.figma-bridge/pairing-token). To run the plugin straight from a clone's plugin/ folder,
set FIGMA_BRIDGE_PAIRING=0 for the server, or import ~/.figma-bridge/plugin/manifest.json, which the server keeps
in step with your build.
This server cannot be deployed
Maintenance
Related MCP Connectors
The Figma MCP server brings Figma design context directly into your AI workflow.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
The OpenRouter MCP server plugs OpenRouter into the AI tools you already use. Once connected, your assistant can pull live OpenRouter data (models, prices, your credits, rankings, and docs) and send quick test messages, all without leaving your editor.
Local Commander connects ChatGPT, Claude, Cursor and other MCP clients to Windows 11 computers you own. Your AI can read approved project files and Git state, run the checks and commands you authorize, and check local services. Your workspace at localcmd.app shows which computer ran each request and how it ended. Once you approve a computer and connect your AI, it can do what your Windows account can do; you can limit it to folders, block commands or switch it off at any time. Free on up to 5 computers; the Team pack adds 10 more for $15 a month.
Related MCP Servers
- AlicenseBqualityCmaintenanceLocal MCP server connecting AI clients to the Figma desktop app for inspecting and editing Figma documents via the Plugin API.1616 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP-compatible AI clients to read and modify the user's currently open Figma file by executing JavaScript in Figma's sandbox, all through a local bridge with status monitoring, node jumping, and automatic rollback on errors.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to read and modify the currently open Figma design file through a paired local Figma plugin, supporting operations like creating nodes, editing properties, and exporting PNG/SVG.37 npm2MIT
- AlicenseNot gradedqualityCmaintenanceEnables stdio MCP clients such as Cursor and Claude Code to read and modify the currently open Figma Desktop file, export selected nodes as local PNG/SVG files, and create or edit basic canvas nodes using precise layout data for pixel-level reconstruction.1,258 npm1MIT