figma-mcp-server
Connects Figma to Claude via MCP for auditing design systems, checking naming conventions, and analyzing component consistency using the public Figma API.
README
figma-mcp-server
Connect Figma to Claude via MCP
This method is about governance (auditing and maintaining quality), not implementation!
Use Figma's native MCP when:
- You want to generate code from designs
- You're implementing new UI from Figma mockups
- You need Code Connect integration
Use this custom server when:
- You need to audit naming conventions across your design system
- You want to analyze component consistency
- You need bulk queries across hundreds of components
- You want Claude to help maintain design system quality
Most official MCPs (like Figma’s) only work with Dev Mode and follow a freemium model. This server bypasses that limitation by allowing direct access to file data via the public API. And it’s completely free! 💯
Start here ↓
No coding needed, just configuration. Feel free to audit the files yourself, or run them through an LLM for a quick review.
Download the project files
Before starting, <a href="https://github.com/zeitmaschinen/figma-mcp-server/archive/refs/heads/main.zip" target="_blank">download the project files here</a> and extract the ZIP to your computer.
This ZIP file contains:
- Pre-compiled server code (ready to use!)
- All configuration files
- Empty
.envfile for your Figma token
Step by Step
Step 1: Install Node.js
What is it? A program that allows you to run JavaScript code on your computer.
How to install:
- Go to: https://nodejs.org/
- Click the big button labeled "Download Node.js (LTS)"
- Wait for the download to finish
- Click the downloaded file and follow the installer
- When finished, click "Finish"
You can test if it worked:
- Windows: Press
Windows + R, typecmdand press Enter - Mac: Press
Command + Space, typeterminaland press Enter
In the window that opened, type:
node --version
Press Enter. If something like v23.10.0 appears, it worked!
Step 2: Extract project files
- Locate the downloaded ZIP file:
figma-mcp-server-main.zip - Right-click on the ZIP file
- Choose "Extract All..." (Windows) or "Unzip" (Mac)
- Choose a location (for example, /Documents/ folder)
- Click "Extract"
You should now have a folder called figma-mcp-server-main with these files inside:
/figma-mcp-server-main/
├── src/ (source code for reference)
│ └── server.ts
├── .env (you'll add your Figma token here)
├── .gitignore
├── package.json
├── package-lock.json
└── tsconfig.json
Step 3: Open terminal in project folder
Windows:
- Open the
figma-mcp-server-mainfolder - Hold Shift and right-click in an empty area
- Select "Open PowerShell window here" or "Open Command Prompt here"
Mac:
- Open Terminal (Command + Space, type "terminal")
- Type
cd(with a space after) - Drag the
figma-mcp-server-mainfolder into the terminal window - Press Enter
Step 4: Install dependencies (usually 3 min)
In the terminal (inside the project folder), type:
npm install
Press Enter and wait (may take 1-3 minutes). This will install all dependencies required to run the server.
When finished, all the necessary libraries will be downloaded into a node_modules folder.
Step 5: Get your Figma token
5.1: Generate token
- Open your browser
- Go to: https://www.figma.com/
- Log in if necessary
- Click on your name (top left corner) and select Settings
- Click on the Security tab
- Scroll down until you find the "Personal access tokens" section
- Click the "Generate new token" button
- Give the token a name (example: "Claude MCP")
- Click "Generate token"
- COPY THE TOKEN that appeared (it's a long sequence like
figd_ABC123...) - IMPORTANT: Save this token somewhere safe, you won't be able to see it again once you close Figma's window.
5.2: Add token to .env file
- In the
figma-mcp-server-mainfolder, open the.envfile in a text editor (Notepad on Windows or TextEdit on Mac) - You'll see just:
FIGMA_ACCESS_TOKEN= - Paste your copied token after the equals sign
- Should look like:
FIGMA_ACCESS_TOKEN=figd_XYZ123ABC... - Save the file
Example:
FIGMA_ACCESS_TOKEN=figd_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
Step 6: Build the server
Now we need to compile the TypeScript code into JavaScript that Node.js can run.
In the terminal (inside the project folder), type:
npm run build
Press Enter and wait. You'll see some output, and a new build/ folder will be created inside your main folder.
Step 7: Configure Claude desktop (circa 10 min)
7.1: Find your project's complete path
In the terminal (inside the project folder), type:
Windows:
cd
Mac/Linux:
pwd
Something like this will appear:
- Windows:
C:\Users\YourName\Documents\figma-mcp-server-main - Mac:
/Users/yourname/Documents/figma-mcp-server-main
Copy this complete path! Write it down, you'll need it in the next step.
7.2: Find Claude's configuration file
On Mac:
- Open Finder
- Press
Command + Shift + G - Paste:
~/Library/Application Support/Claude - Press Enter
- Look for the file:
claude_desktop_config.json
On Windows:
- Press
Windows + R - Paste:
%APPDATA%\Claude - Press Enter
- Look for the file:
claude_desktop_config.json
If the file DOESN'T EXIST:
- Create a new file named
claude_desktop_config.jsonin that folder - You can create it in Notepad or TextEdit
7.3: Edit the configuration file
- Open the
claude_desktop_config.jsonfile in Notepad or TextEdit - DELETE EVERYTHING that's in there (if anything exists, make a backup first)
- Paste this content:
{
"mcpServers": {
"figma-design-system": {
"command": "node",
"args": [
"PASTE_PATH_HERE/build/server.js"
],
"env": {
"FIGMA_ACCESS_TOKEN": "PASTE_YOUR_TOKEN_HERE"
}
}
}
}
- Replace:
PASTE_PATH_HEREwith the path you copied in Step 7.1PASTE_YOUR_TOKEN_HEREwith your Figma token
Final example (Mac):
{
"mcpServers": {
"figma-design-system": {
"command": "node",
"args": [
"/Users/maria/Documents/figma-mcp-server-main/build/server.js"
],
"env": {
"FIGMA_ACCESS_TOKEN": "figd_ABC123XYZ..."
}
}
}
}
Final example (Windows):
{
"mcpServers": {
"figma-design-system": {
"command": "node",
"args": [
"C:\\Users\\Maria\\Documents\\figma-mcp-server-main\\build\\server.js"
],
"env": {
"FIGMA_ACCESS_TOKEN": "figd_ABC123XYZ..."
}
}
}
}
- Save the file
Step 8: Activate in Claude desktop
- Completely CLOSE Claude Desktop (on Mac: Command + Q, on Windows: right-click taskbar icon and choose "Quit")
- Open Claude Desktop again
Step 9: Test with Claude
Now go to Claude Desktop and ask:
Claude, show me all the components from my Figma file!
File key: ABC123XYZ
How to get your file key:
- Click the "Share" button in the top-right corner of the Figma interface.
- Select "Copy link" to copy the file URL.
- Paste the link somewhere so you can view it. It will look like one of these:
- https://www.figma.com/file/ABC123XYZ/File-Name
- https://www.figma.com/design/ABC123XYZ/File-Name
- Copy the part between /file/ or /design/ and the next /. In this example: ABC123XYZ ← This is your file key.
Verification checklist
- Node.js is installed (check if
node --versionworks) - Project files are extracted
npm installcompleted successfully.envfile has your Figma tokenclaude_desktop_config.jsonhas the correct path with proper slashesclaude_desktop_config.jsonhas your Figma token- Claude Desktop was completely closed and reopened
Fun part begins! What type of questions can you make?
First of all, one tip: Remember to always provide the file key to Claude in your initial request or whenever you want to analyze a new file. Otherwise, it will ask for it. 😊
Component Audit & Organization
- Claude, show me all components from my Figma file
- Claude, search for "button" components in my design system
- Claude, find all "navigation" components
- Claude, list all component sets and their variants
Component Specifications
- Claude, give me complete specs for the "Button call to action" component
- Claude, show me detailed measurements and styles of the Statusbar
- Claude, extract all colors, fonts, and spacing from the Header component
Quality Control & Consistency
- Claude, analyze naming conventions in my Figma file
- Claude, check for naming inconsistencies across all components
- Claude, identify components that don't follow kebab-case naming
- Claude, find duplicate or similar component names
Design Tokens & Styles
- Claude, extract all color styles from my design system
- Claude, show me all text styles and typography tokens
- Claude, list all colors and text styles used in the file
Design System Overview
- Claude, give me a complete overview of my design system structure
- Claude, how many pages and components exist in my file?
- Claude, show me the file structure and organization
Component Development
- Claude, get specs for "bottom navigation" and create HTML/CSS code
- Claude, analyze the Statusbar component and generate React code
- Claude, compare all "bottom navigation" variants and document differences
Problem Detection
- Claude, find components without descriptions
- Claude, identify components that should be component sets with variants
- Claude, check which components don't have properties configured
- Claude, find inconsistent spacing or sizing patterns across similar components
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。