Figma Mcp Free
FreeNot checkedMCP server + Figma plugin that streams live design data to AI coding tools — no API rate limits
About
MCP server + Figma plugin that streams live design data to AI coding tools — no API rate limits
README
A plugin + MCP server that streams live Figma document data to AI coding tools without hitting Figma's REST API rate limits. Figma's free-tier API limits are brutal (a handful of requests per month), so I built this to bypass that entirely — the plugin reads directly from the Figma canvas and streams data over a local WebSocket to the MCP server.
Install
Automatic (recommended)
Clone the repo and run the installer — it detects every installed AI tool and configures them all in one shot.
macOS / Linux
git clone https://github.com/slashdoodleart/figma-mcp-free.git
cd figma-mcp-free
chmod +x install.sh && ./install.sh
Windows (PowerShell)
git clone https://github.com/slashdoodleart/figma-mcp-free.git
cd figma-mcp-free
.\install.ps1
The installer:
- Builds the MCP server from source
- Auto-detects and configures: Claude Desktop, Claude Code, Cursor, VS Code, VS Code Insiders, Windsurf, Gemini Code (Antigravity), Zed
- Skips tools that aren't installed (re-run after installing any new tool)
- Prints the plugin install path
Then in Figma: Plugins → Development → Import plugin from manifest → select plugin/manifest.json.
Features
- Zero API calls — reads directly from the Figma plugin API, no REST API tokens needed
- Full design extraction — layout (auto-layout → flexbox), typography (with accurate font weights + mixed text segments), fills (solid, gradient, image with variable bindings), effects (shadows, blurs → CSS), constraints, component data
- Screenshot export — PNG (with transparency), JPG, SVG, PDF at configurable scale — returned as viewable images to the AI
- Target nodes by ID —
get_design_contextandget_screenshotacceptnodeIdsto target specific nodes without selecting them in Figma - Design tokens — extracts Figma variables (colors, spacing, typography) for token mapping
- Structural metadata — lightweight node tree for navigating large designs before deep-fetching
- Leader election — multiple MCP server instances auto-coordinate; only one holds the WebSocket
- Works with any MCP client — VS Code, Cursor, Windsurf, Claude Desktop, Gemini Code, Zed, etc.
Manual Setup
Supported tools & config locations
| Tool | Config file |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Linux) | ~/.config/claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Claude Code | ~/.claude/mcp.json |
| Cursor | ~/.cursor/mcp.json |
| VS Code / GitHub Copilot | ~/Library/Application Support/Code/User/mcp.json (macOS) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Gemini Code (Antigravity) | ~/Library/Application Support/Google/GeminiCode/mcp_config.json |
| Zed | ~/.config/zed/settings.json |
Add the MCP server entry to mcpServers in the relevant file:
{
"mcpServers": {
"figma-mcp-free": {
"command": "node",
"args": ["/absolute/path/to/figma-mcp-free/server/dist/index.js"]
}
}
}
Or use npx (no build required):
{
"mcpServers": {
"figma-mcp-free": {
"command": "npx",
"args": ["-y", "figma-mcp-free"]
}
}
}
VS Code / GitHub Copilot
Add to ~/Library/Application Support/Code/User/mcp.json (global) or .vscode/mcp.json (workspace):
{
"servers": {
"figma-bridge": {
"type": "stdio",
"command": "npx",
"args": ["-y", "figma-mcp-free"]
}
}
}
For the best experience, use the included VS Code agent (Figma MCP Free) and Copilot instructions in .github/copilot-instructions.md — they define the recommended design-to-code workflow.
Tools
| Tool | Description |
|---|---|
get_metadata |
Lightweight node tree with IDs, types, positions, sizes. Use first on large designs. |
get_design_context |
Full design data — layout, typography, fills, effects, constraints, components. Primary tool. |
get_screenshot |
Export screenshot as PNG/JPG/SVG/PDF. PNG preserves transparency. |
get_variable_defs |
All Figma variable collections and values (design tokens). |
get_styles |
Local paint, text, effect, and grid styles. |
get_node |
Fetch a specific node by ID. |
get_selection |
Get currently selected nodes with full properties. |
get_document |
Full page document tree. |
save_screenshots |
Export + save screenshots directly to filesystem. |
create_design_system_rules |
Generate AI workflow rules tailored to your stack. |
Local Development
git clone https://github.com/slashdoodleart/figma-mcp-free.git
cd figma-mcp-free
# Build server
cd server && npm install && npm run build
# Build plugin
cd ../plugin && npm install && npm run build
Then run ./install.sh (or .\install.ps1) to configure your AI tools.
Structure
figma-mcp-free/
├── plugin/ # Figma plugin (TypeScript/React)
│ ├── src/main/
│ │ ├── code.ts # Plugin handler — processes bridge requests
│ │ └── serializer.ts # Serializes Figma nodes → structured JSON
│ └── src/ui/
│ └── App.tsx # Plugin UI (connection status)
└── server/ # MCP server (TypeScript/Node.js)
└── src/
├── index.ts # Entry point
├── bridge.ts # WebSocket bridge to Figma plugin
├── leader.ts # Leader: HTTP server + bridge
├── follower.ts # Follower: proxies to leader via HTTP
├── node.ts # Dynamic leader/follower role switching
├── election.ts # Leader election & health monitoring
├── tools.ts # MCP tool definitions
├── schema.ts # Zod input schemas
└── types.ts # Shared types
How It Works
The Figma Plugin
Runs inside Figma and reads directly from the canvas using the Figma Plugin API. It serializes nodes into structured JSON with full layout, typography, visual styles, design tokens, and component data. Connects to the MCP server over WebSocket at ws://localhost:1994.
The MCP Server
Receives tool calls from AI clients via stdio (MCP protocol), forwards them to the Figma plugin over the WebSocket, and returns the results. Multiple server instances use leader election — only one holds the WebSocket connection, others proxy requests via HTTP.
┌─────────────────────────────────────────────────────────────────────────────┐
│ FIGMA (Browser) │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ Figma Plugin │ │
│ │ Reads canvas → serializes → streams │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
│
│ WebSocket (ws://localhost:1994)
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ PRIMARY MCP SERVER (Leader) │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ • Manages WebSocket to plugin Endpoints: │ │
│ │ • Forwards MCP tool calls • /ws (plugin) │ │
│ │ • Routes responses back • /ping (health) │ │
│ │ • /rpc (followers) │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
▲ ▲
│ HTTP /rpc │ HTTP /rpc
┌─────────────────┴───────────┐ ┌─────────────┴───────────────┐
│ FOLLOWER SERVER 1 │ │ FOLLOWER SERVER 2 │
│ • Proxies to leader │ │ • Proxies to leader │
│ • Takes over if leader │ │ • Takes over if leader │
│ goes down │ │ goes down │
└─────────────────────────────┘ └─────────────────────────────┘
▲ ▲
│ MCP (stdio) │ MCP (stdio)
▼ ▼
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ AI Tool / IDE 1 │ │ AI Tool / IDE 2 │
└─────────────────────────────┘ └─────────────────────────────┘
License
MIT
Installing Figma Mcp Free
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/karthikyaddana/figma-mcp-freeFAQ
Is Figma Mcp Free MCP free?
Yes, Figma Mcp Free MCP is free — one-click install via Unyly at no cost.
Does Figma Mcp Free need an API key?
No, Figma Mcp Free runs without API keys or environment variables.
Is Figma Mcp Free hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Figma Mcp Free in Claude Desktop, Claude Code or Cursor?
Open Figma Mcp Free on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
LibreOffice Tools
Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a
by passerbyflutterFigma
Extract design specs and assets
by Figmadannote/figma-use
Figma control: create shapes, text and components, and set styles, auto-layout, variables and exports.
by dannoteLogo.dev
Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content
by NOVA-3951Design Inspiration Server
Searches top design platforms like Dribbble and Behance to provide UI inspiration, color palettes, and layout patterns via the Serper API. It allows users to re
by YonasValentinPIX4Dmatic
Enables GUI automation for controlling PIX4Dmatic on Windows through MCP. Supports launching, focusing, capturing screenshots, sending hotkeys, clicking UI elem
by jangjo123mcp-dockmaster
An Open-Sourced UI to install and manage MCP servers for Windows, Linux and macOS.
ariekogan/ateam-mcp
Build, validate and deploy multi-agent AI solutions on the ADAS platform: design skills with tools and manage the solution lifecycle.
by ariekoganthinkchainai/mcpbundles
Create custom tool bundles, connect providers with OAuth or API keys, and use one MCP server across many integrations, with a UI for bundles and credentials.
by thinkchainaijau123/MeiGen-AI-Design-MCP
Image generation and editing with a curated prompt library, prompt enhancement and routing across local ComfyUI, MeiGen Cloud and OpenAI-compatible APIs.
by jau123Compare Figma Mcp Free with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All design MCPs
