Overview
This guide will get you up and running with Talk to Figma MCP in just a few minutes. You’ll install dependencies, configure your AI agent, start the WebSocket server, and connect the Figma plugin.This quick start uses the automated setup script. For manual installation and advanced configuration, see the Installation guide.
Prerequisites
Before you begin, make sure you have:- Bun installed (installation instructions)
- Cursor or Claude Code installed
- Figma Desktop App or browser access to Figma
- Terminal access
Step 1: Install Bun
If you haven’t installed Bun yet, run:Bun is a fast JavaScript runtime and toolkit that provides better performance than Node.js for this project.
Step 2: Run Automated Setup
Clone the repository and run the setup script:You should see confirmation messages:
Step 3: Start the WebSocket Server
In your terminal, start the WebSocket relay server:Windows + WSL Users
If you’re using Windows with WSL, you need to uncomment one line insrc/socket.ts:
src/socket.ts
Step 4: Install Figma Plugin
You have two options for installing the Figma plugin:- Community Plugin (Recommended)
- Local Development
Install directly from the Figma Community:
Visit Community Page
Go to the Talk to Figma MCP Plugin
Step 5: Connect to Channel
Now connect the Figma plugin to the WebSocket server:Open Plugin in Figma
In any Figma file, go to Plugins → Talk to Figma MCP Plugin (or your development plugin)
Join a Channel
In your AI agent (Cursor/Claude Code), run the Or specify a custom channel name:
join_channel tool:Terminal output should show:
Step 6: Test Your Setup
Let’s verify everything works by getting document information:Your First Design Automation
Now that everything is set up, try a simple design automation:Example 1: Create a Rectangle
create_rectangle tool:
Colors in Figma use RGBA values in the 0-1 range, not 0-255.
Example 2: Read Selected Elements
- Select some elements in your Figma file
- Ask your AI agent:
get_selection or read_my_design to extract information about the selected nodes.
Example 3: Bulk Text Replacement
- Use
scan_text_nodesto find all text nodes - Filter nodes containing “Product”
- Use
set_multiple_text_contentsto update them in batch
Common Commands
Here are some common commands to try:Document Analysis
Document Analysis
- “Get document information”
- “What’s currently selected?”
- “Read the design structure”
- “Show me all annotations”
Element Creation
Element Creation
- “Create a frame at (0, 0) with size 375x812”
- “Add a text node that says ‘Hello World’”
- “Create a component instance from [component name]”
Text Operations
Text Operations
- “Scan all text nodes in the current page”
- “Replace all instances of ‘old text’ with ‘new text’”
- “Update the text of node [id] to ‘new content’”
Layout & Styling
Layout & Styling
- “Set this frame to horizontal auto-layout”
- “Change the fill color to red”
- “Add 16px padding to all sides”
- “Set corner radius to 8px”
Best Practices
Always Join Channel First
Call
join_channel before any other commands to establish the WebSocket connectionGet Context First
Use
get_document_info and get_selection before making modifications to understand the structureUse Batch Operations
For multiple updates, use batch tools like
set_multiple_text_contents instead of individual callsVerify Changes
Use
get_node_info after modifications to confirm changes were applied correctlyTroubleshooting
WebSocket connection failed
WebSocket connection failed
- Make sure
bun socketis running in a terminal - Check that port 3055 is not blocked by a firewall
- For WSL users, ensure
hostname: "0.0.0.0"is uncommented insrc/socket.ts
Plugin not responding
Plugin not responding
- Verify the plugin is running in Figma
- Check that you’ve called
join_channelsuccessfully - Look for error messages in the browser console (Plugins → Development → Open Console)
Command timeout
Command timeout
- Operations timeout after 30 seconds by default
- For large operations, progress updates reset the inactivity timer
- Check the WebSocket server logs for error messages
'No other clients in channel' warning
'No other clients in channel' warning
- This means the Figma plugin hasn’t joined the same channel
- Make sure the plugin is running and has called
join_channel - Verify both the MCP server and plugin are using the same channel name
Next Steps
API Reference
Explore all 50+ available tools and their parameters
Advanced Usage
Learn about prompts, chunking, and complex workflows
Examples
View real-world examples and use cases
Contributing
Contribute to the project on GitHub
Get Help
If you run into issues:- Check the Installation guide for detailed setup instructions
- Review the Document & Selection API for tool documentation
- Open an issue on GitHub
- Watch the video tutorial
You’re now ready to automate your Figma workflows with AI! Start experimenting with different commands and explore the full API.