Bringing Figma Designs into Your Codebase: A Plain-English Guide to the Dev Mode MCP Server
Table of Contents
-
What Is the Dev Mode MCP Server? -
Who Can Use It and What You Need -
Three Simple Steps to Get Started -
How to Generate Your First Line of Code -
Five Built-In Tools Explained -
Real-World Walkthrough: From Figma Frame to Running Web Page -
Frequently Asked Questions -
Next Steps: Teaching the AI Your Design System
1. What Is the Dev Mode MCP Server?
Think of the Dev Mode MCP Server as a 「bridge」 between Figma and your code editor.
Instead of copying hex codes or guessing spacing by eye, you 「select a frame in Figma」 and, within seconds, receive 「ready-to-use code」 in your editor.
Traditional Workflow | With Dev Mode MCP Server |
---|---|
Measure pixels manually | Receive exact CSS values |
Export static images | Get live screenshots + structured data |
Re-build components by hand | Re-use linked components automatically |
2. Who Can Use It and What You Need
Role | Benefit |
---|---|
Front-end developers | Up to 50 % less CSS typing |
Solo makers | Turn designs into working prototypes in minutes |
Design-system teams | Keep tokens and components in sync |
「Prerequisites」
-
Figma 「desktop」 app (web version will not work) -
Editor that supports the MCP protocol: VS Code, Cursor, Windsurf, or Claude Code -
Local network access (everything runs on 127.0.0.1
; no VPN required)
3. Three Simple Steps to Get Started
Step 1: Enable the Server in Figma
-
Open any .fig
file. -
Menu → 「Preferences」 → 「Enable Dev Mode MCP Server」. -
A green banner appears: Dev Mode MCP Server is running on http://127.0.0.1:3845/mcp
Step 2: Connect Your Editor
These steps use VS Code; other editors follow the same pattern.
-
Press Cmd/Ctrl + Shift + P
→ type 「MCP:Add Server」. -
Choose 「HTTP」 and paste the URL above. -
When prompted for a 「Server ID」, enter Figma Dev Mode MCP
. -
VS Code adds the following block to mcp.json
:{ "servers": { "Figma Dev Mode MCP": { "type": "http", "url": "http://127.0.0.1:3845/mcp" } } }
-
Open the chat panel ( Option + Cmd + B
orCtrl + Cmd + I
), switch to 「Agent」 mode, and type#get_code
.-
If you see a list of tools, the connection is live. -
If the list is empty, restart Figma and your editor once.
-
Step 3: Quick Sanity Check
In Figma, select any frame.
Back in the chat, type:
Generate React code for the current selection
You should immediately receive Tailwind-flavored code.
4. How to Generate Your First Line of Code
There are two ways to feed design context to the AI.
Method | When to Use | Steps |
---|---|---|
「Selection-based」 | Iterating on a single component | 1. Click the frame in Figma 2. Ask the AI in your editor |
「Link-based」 | Sharing full pages | 1. Figma → Share → Copy link to frame 2. Paste the link into your prompt |
❝
The AI does 「not」 open the link in a browser; it extracts the node ID and fetches structured data from the local server.
❞
5. Five Built-In Tools Explained
Tool | Purpose | Example Prompt |
---|---|---|
get_code |
Produce React + Tailwind scaffolding | “Rewrite this frame in plain HTML and CSS” |
get_variable_defs |
Extract colors, spacing, and typography tokens | “List all tokens used in this selection” |
get_image |
Capture a high-fidelity screenshot | “Show me the current layout” |
get_code_connect_map |
Map Figma nodes to your actual components | “Which file contains the Button component for this node?” |
create_design_system_rules |
Generate a rule file so the AI follows your conventions | “Create a rules file for our Tailwind setup” |
6. Real-World Walkthrough: From Figma Frame to Running Web Page
The following case study uses the open-source repo vibe-coding-web.
Everything you see below was created by following the three-step setup above.
6.1 Project Layout
vibe-coding-web/
├─ src/ # AI-generated React pages
├─ .prompt/ # Prompt templates and logs
└─ docs/images/ # Side-by-side screenshots
6.2 End-to-End Flow
-
「Design delivery」: three mobile screens—Welcome, Login, Dashboard. -
「Enable the server」 as shown in Section 3. -
「Run the prompt」: Execute the "Generate Page" task from .prompt/prompt.md
-
「What the AI does」 -
Calls get_image
to capture the visual layout. -
Calls get_code
to fetch the underlying CSS values. -
Calls get_variable_defs
to import color and spacing tokens. -
Writes the final code into src/pages/
-
-
「Human review」 -
npm start
to preview locally. -
Minor tweaks with VS Code IntelliSense. -
Final result:
-
Design File | Generated Page |
---|---|
Layout accuracy is within 2 px; colors match the design tokens exactly.
7. Frequently Asked Questions
Q1: The generated code uses absolute
positioning everywhere. Is that normal?
Yes—Figma’s default export relies on absolute coordinates.
Add a line to your prompt:
Please use flex or grid instead of absolute positioning.
Q2: The AI does not recognize my component library.
Run once:
npx figma-cli connect
Then enable get_code_connect_map
.
The AI will now import <Button />
from your actual file instead of creating a new one.
Q3: How do I handle responsive breakpoints?
Use 「Auto-layout」 in Figma and resize the frame to verify behavior before generating code.
If the frame is fixed-width, the AI will mirror that.
Q4: My prompt is too long and gets truncated.
Move common rules into rules/design-system.md
.
The AI reads this file once, reducing prompt length.
8. Next Steps: Teaching the AI Your Design System
Task | Tool | Sample Command |
---|---|---|
Sync design tokens | get_variable_defs |
“Write Tailwind config from these tokens” |
Sync component map | get_code_connect_map |
“Update Button mapping to src/ui/Button.tsx” |
Generate service layer | Custom prompt | “Create API call for the login form” |
Once these steps are scripted, you can wire them into CI:
Design merge → AI generates code → Human review → Auto-deploy.
Closing Thoughts
Dev Mode MCP Server is still in open beta, yet the 「core idea is already solid」:
「Let the design file be the single source of truth」, and let AI do the mechanical work.
Open Figma now, navigate to 「Preferences → Enable Dev Mode MCP Server」, and give your next frame to the AI.