Claude Talk To Figma
FreeMaintainedEnables AI assistants like Claude and Cursor to interact directly with Figma to create, modify, and analyze design elements in real-time. It provides a comprehe
About
Enables AI assistants like Claude and Cursor to interact directly with Figma to create, modify, and analyze design elements in real-time. It provides a comprehensive suite of tools for document inspection, styling, component management, and automated layout via a bidirectional WebSocket connection.
README

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
- Claude Desktop or Cursor
- Figma Desktop
- 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:
npx claude-talk-to-figma-mcp
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:
git clone https://github.com/stranyer/Claude-MCP-Figma.git
cd Claude-MCP-Figma
bun install
- macOS/Linux:
bun run build - Windows:
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 releases - Install: 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
Claude Desktop ↔ MCP Server ↔ WebSocket Server ↔ Figma Plugin
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
✅ Good: "Create a dashboard with a sidebar navigation, header with user profile, and main content area with card-based metrics"
✅ Good: "Redesign this button component with hover states and better contrast ratios"
❌ Avoid: "Make it look nice" (too vague)
📚 Command Reference
📄 Document Tools
| Command | Purpose | Example Use |
|---|---|---|
get_document_info |
Document analysis | Get project overview |
get_selection |
Current selection | What's selected now |
get_node_info |
Element details | Inspect specific component |
get_nodes_info |
Multiple elements info | Batch element inspection |
scan_text_nodes |
Find all text | Text audit and updates |
get_styles |
Document styles | Color/text style audit |
join_channel |
Connect to Figma | Establish communication |
export_node_as_image |
Asset export | Generate design assets |
🔧 Creation Tools
| Command | Purpose | Example Use |
|---|---|---|
create_rectangle |
Basic shapes | Buttons, backgrounds |
create_frame |
Layout containers | Page sections, cards |
create_text |
Text elements | Headlines, labels |
create_ellipse |
Circles/ovals | Profile pics, icons |
create_polygon |
Multi-sided shapes | Custom geometric elements |
create_star |
Star shapes | Decorative elements |
clone_node |
Duplicate elements | Copy existing designs |
group_nodes |
Organize elements | Component grouping |
ungroup_nodes |
Separate groups | Break apart components |
insert_child |
Nest elements | Hierarchical structure |
flatten_node |
Vector operations | Boolean operations |
✏️ Modification Tools
| Command | Purpose | Example Use |
|---|---|---|
set_fill_color |
Element colors | Brand color application |
set_stroke_color |
Border colors | Outline styling |
move_node |
Positioning | Layout adjustments |
resize_node |
Size changes | Responsive scaling |
delete_node |
Remove elements | Clean up designs |
set_corner_radius |
Rounded corners | Modern UI styling |
set_auto_layout |
Flexbox-like layout | Component spacing |
set_effects |
Shadows/blurs | Visual polish |
set_effect_style_id |
Apply effect styles | Consistent shadow styles |
📝 Text Tools
| Command | Purpose | Example Use |
|---|---|---|
set_text_content |
Text updates | Copy changes |
set_multiple_text_contents |
Batch text updates | Multi-element editing |
set_font_name |
Typography | Brand font application |
set_font_size |
Text sizing | Hierarchy creation |
set_font_weight |
Text weight | Bold/light variations |
set_letter_spacing |
Character spacing | Typography fine-tuning |
set_line_height |
Vertical spacing | Text readability |
set_paragraph_spacing |
Paragraph gaps | Content structure |
set_text_case |
Case transformation | UPPER/lower/Title case |
set_text_decoration |
Text styling | Underline/strikethrough |
get_styled_text_segments |
Text analysis | Rich text inspection |
load_font_async |
Font loading | Custom font access |
🎨 Component Tools
| Command | Purpose | Example Use |
|---|---|---|
get_local_components |
Project components | Design system audit |
get_remote_components |
Team libraries | Shared component access |
create_component_instance |
Use components | Consistent UI elements |
Building DXT Package (Developers)
To create your own DXT package:
npm run build:dxt # Builds TypeScript and packages DXT
This creates claude-talk-to-figma-mcp.dxt ready for distribution.
🧪 Testing & Quality Assurance
Automated Testing
bun run test # Run all tests
bun run test:watch # Watch mode
bun run test:coverage # Coverage report
Integration Testing
bun run test:integration # Guided end-to-end 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 Claude - Cursor IDE: Check MCP configuration in
mcp.jsonfile - Other AI tools: Verify MCP integration settings
- Claude Desktop: Run
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 build - Check 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
+----------------+ +-------+ +---------------+ +---------------+
| | | | | | | |
| Claude Desktop |<--->| MCP |<--->| WebSocket Srv |<--->| Figma Plugin |
| (AI Agent) | | | | (Port 3055) | | (UI Plugin) |
| | | | | | | |
+----------------+ +-------+ +---------------+ +---------------+
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
src/
talk_to_figma_mcp/ # MCP Server implementation
server.ts # Main entry point
tools/ # Tool categories by function
document-tools.ts # Document interaction
creation-tools.ts # Shape and element creation
modification-tools.ts # Property modification
text-tools.ts # Text manipulation
utils/ # Shared utilities
types/ # TypeScript definitions
claude_mcp_plugin/ # Figma plugin
code.js # Plugin implementation
manifest.json # Plugin configuration
📄 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
Install Claude Talk To Figma in Claude Desktop, Claude Code & Cursor
unyly install claude-talk-to-figma-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add claude-talk-to-figma-mcp -- npx -y claude-talk-to-figma-mcpStep-by-step: how to install Claude Talk To Figma
FAQ
Is Claude Talk To Figma MCP free?
Yes, Claude Talk To Figma MCP is free — one-click install via Unyly at no cost.
Does Claude Talk To Figma need an API key?
No, Claude Talk To Figma runs without API keys or environment variables.
Is Claude Talk To Figma hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Claude Talk To Figma in Claude Desktop, Claude Code or Cursor?
Open Claude Talk To Figma on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Changes
Versions and requested access over time.
- New version published
- New version published
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 passerbyflutterdannote/figma-use
Full Figma control: create shapes, text, components, set styles, auto-layout, variables, export. 80+ tools.
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 jangjo123Figma
Extract design specs and assets
by Figmamcp-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, manage solution lifecycle, and connect from any AI environm
by ariekoganthinkchainai/mcpbundles
MCP Bundles: Create custom bundles of tools and connect providers with OAuth or API keys. Use one MCP server across thousands of integrations, with programmatic
by thinkchainaiarikusi/nakkas
MCP server that turns AI into an SVG artist. One rendering engine with JSON config, AI controls all design parameters. CSS @keyframes + SMIL animations, 16+ ele
by arikusiCompare Claude Talk To Figma with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All design MCPs
