Allows direct interaction with Figma to analyze designs, manage selections, create or modify elements like shapes and text, and integrate with local or team component libraries.
Click on "Install 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., "@Claude Talk to Figma MCPCreate a mobile app login screen with a header, two inputs, and a primary button"
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.
Claude Talk to Figma MCP
A Model Context Protocol (MCP) plugin that allows Claude Desktop and other AI tools (GitHub Copilot, Cursor, etc.) to interact directly with Figma, enabling powerful AI-assisted design capabilities.
Based on claude-talk-to-figma-mcp by Xúlio Zé, which itself was adapted from cursor-talk-to-figma-mcp by Sonny Lazuardi. This is a maintained fork with improvements and customizations.
Maintained by
Joshua Chisnerman — stranyer.com · GitHub
⚡ Installation
1. Prerequisites
Node.js installed
2. Setup
The Pro Way 🚀
If you already have Node.js installed, first navigate to the folder where you want to install the MCP and simply run:
This single command will clone the repository, install optimized dependencies (Bun), and start the socket server for you automatically.
Manual Way 🛠️
Use this if you prefer a manual setup:
macOS/Linux:
bun run buildWindows:
bun run build:win
3. AI client configuration
Option 1: DXT Package (Claude Desktop only)
Download: Get the latest
claude-talk-to-figma-mcp.dxtfrom releasesInstall: Double-click the
.dxtfile → Claude Desktop installs automatically
Option 2: JSON (Claude Desktop or Cursor)
Claude Desktop: Run
bun run configure-claude(restart Claude Desktop)Cursor:
Go to Cursor Settings → Tools & Integrations
Click "New MCP Server" to open
mcp.jsonconfig (screenshot)Add this configuration:
{ "mcpServers": { "ClaudeTalkToFigma": { "command": "bunx", "args": ["claude-talk-to-figma-mcp@latest"] } } }Save the file (screenshot)
4. Setup Figma Plugin (Required for all methods)
Import src/claude_mcp_plugin/manifest.json in Figma → Menu → Plugins → Development
5. First Connection
Start server:
bun socket(verify athttp://localhost:3055/status)Connect plugin: Open Claude MCP Plugin in Figma → copy channel ID
Test: Ask your AI client: "Talk to Figma, channel {channel-ID}"
✅ Success: Your AI should confirm connection and you can start designing!
🚀 Core Concepts
How It Works
Simple: Claude sends design commands → Figma executes them in real-time Bidirectional: Get info from Figma, create/modify elements, manage components
Key Capabilities
Document Interaction: Analyze designs, get selections, export assets
Element Creation: Shapes, text, frames with full styling control
Smart Modifications: Colors, effects, auto-layout, responsive design
Text Mastery: Advanced typography, font loading, text scanning
Component Integration: Local and team library components
🛠️ Usage Patterns
Getting Started with AI Design
Make Claude a UX expert: Use this prompt 🎨
Connect to your project: "Talk to Figma, channel {channel-ID}"
Start designing: "Create a mobile app login screen with modern styling"
Effective Prompting Examples
📚 Command Reference
📄 Document Tools
Command | Purpose | Example Use |
| Document analysis | Get project overview |
| Current selection | What's selected now |
| Element details | Inspect specific component |
| Multiple elements info | Batch element inspection |
| Find all text | Text audit and updates |
| Document styles | Color/text style audit |
| Connect to Figma | Establish communication |
| Asset export | Generate design assets |
🔧 Creation Tools
Command | Purpose | Example Use |
| Basic shapes | Buttons, backgrounds |
| Layout containers | Page sections, cards |
| Text elements | Headlines, labels |
| Circles/ovals | Profile pics, icons |
| Multi-sided shapes | Custom geometric elements |
| Star shapes | Decorative elements |
| Duplicate elements | Copy existing designs |
| Organize elements | Component grouping |
| Separate groups | Break apart components |
| Nest elements | Hierarchical structure |
| Vector operations | Boolean operations |
✏️ Modification Tools
Command | Purpose | Example Use |
| Element colors | Brand color application |
| Border colors | Outline styling |
| Positioning | Layout adjustments |
| Size changes | Responsive scaling |
| Remove elements | Clean up designs |
| Rounded corners | Modern UI styling |
| Flexbox-like layout | Component spacing |
| Shadows/blurs | Visual polish |
| Apply effect styles | Consistent shadow styles |
📝 Text Tools
Command | Purpose | Example Use |
| Text updates | Copy changes |
| Batch text updates | Multi-element editing |
| Typography | Brand font application |
| Text sizing | Hierarchy creation |
| Text weight | Bold/light variations |
| Character spacing | Typography fine-tuning |
| Vertical spacing | Text readability |
| Paragraph gaps | Content structure |
| Case transformation | UPPER/lower/Title case |
| Text styling | Underline/strikethrough |
| Text analysis | Rich text inspection |
| Font loading | Custom font access |
🎨 Component Tools
Command | Purpose | Example Use |
| Project components | Design system audit |
| Team libraries | Shared component access |
| Use components | Consistent UI elements |
Building DXT Package (Developers)
To create your own DXT package:
This creates claude-talk-to-figma-mcp.dxt ready for distribution.
🧪 Testing & Quality Assurance
Automated Testing
Integration Testing
Manual Verification Checklist
WebSocket server starts on port 3055
Figma plugin connects and generates channel ID
AI tool recognizes "ClaudeTalkToFigma" MCP (Claude Desktop, Cursor, etc.)
Basic commands execute (create rectangle, change color)
Error handling works (invalid commands, timeouts)
Channel communication works between AI tool and Figma
🐛 Troubleshooting & Support
Connection Issues
"Can't connect to WebSocket": Ensure
bun socketis running"Plugin not found": Verify plugin import in Figma Development settings
"MCP not available":
Claude Desktop: Run
bun run configure-claudeand restart ClaudeCursor IDE: Check MCP configuration in
mcp.jsonfileOther AI tools: Verify MCP integration settings
Execution Problems
"Command failed": Check Figma development console for errors
"Font not found": Use
load_font_asyncto verify font availability"Permission denied": Ensure you have edit access to the Figma document
"Timeout errors": Complex operations may need retry
Performance Issues
Slow responses: Large documents may require more processing time
Memory usage: Close unused Figma tabs, restart if necessary
WebSocket disconnects: Server auto-reconnects, restart if persistent
Common Solutions
Restart sequence: Stop server → Close AI tool → Restart both
Clean reinstall: Delete
node_modules→bun install→bun run buildCheck logs: Server terminal shows detailed error messages
Update fonts: Some team fonts require manual loading in Figma
Configuration check: Verify MCP setup in your AI tool's settings
Port conflicts: Ensure port 3055 is not used by other applications
🏗️ Advanced Topics
Architecture Deep Dive
Design Principles:
MCP Server: Business logic, validation, default values
WebSocket Server: Message routing and protocol translation
Figma Plugin: Pure command executor in Figma context
Benefits:
Clear separation of concerns
Easy testing and maintenance
Scalable architecture for additional tools
Project Structure
📄 License & Credits
License: MIT License - see LICENSE file
Original Authors:
This fork maintained by:
Joshua Chisnerman — stranyer.com · GitHub
Acknowledgments:
Anthropic team for Claude and Model Context Protocol
Figma community for excellent plugin API
Bun team for fast JavaScript runtime