Skip to main content
This guide covers the specific steps needed to set up Talk to Figma MCP on Windows using WSL, including important network configuration for cross-platform communication.

Prerequisites

Before you begin, ensure you have:
  • Windows 10 version 2004 or higher, or Windows 11
  • WSL 2 installed and configured
  • A Linux distribution installed (Ubuntu recommended)
  • Figma Desktop running on Windows (not in WSL)

WSL Installation

If you haven’t installed WSL yet:
1

Enable WSL

Open PowerShell as Administrator and run:
wsl --install
This installs WSL 2 and Ubuntu by default.
2

Restart your computer

After installation completes, restart Windows.
3

Set up your Linux user

When you first launch WSL, you’ll be prompted to create a username and password.

Installing Bun on Windows

For the WebSocket server to be accessible from Windows (where Figma runs), install Bun on Windows:
1

Open PowerShell

Open PowerShell (not as Administrator).
2

Install Bun

Run the Bun installation command:
powershell -c "irm bun.sh/install.ps1|iex"
This installs Bun natively on Windows.
3

Verify installation

bun --version

Project Setup

1

Clone the repository in Windows

In PowerShell:
git clone https://github.com/grab/cursor-talk-to-figma-mcp.git
cd talk-to-figma-mcp
2

Install dependencies

bun install
3

Run the setup script

bun setup
This creates the necessary MCP configuration files.

Critical: Configure WebSocket Server for WSL

The most important step for Windows + WSL setup is configuring the WebSocket server to listen on all network interfaces:
1

Open the socket configuration file

Edit src/socket.ts in your preferred editor.
2

Uncomment the hostname configuration

Find this section in the file (around line 43-44):
const server = Bun.serve({
  port: 3055,
  // uncomment this to allow connections in windows wsl
  // hostname: "0.0.0.0",
Uncomment the hostname line:
const server = Bun.serve({
  port: 3055,
  // uncomment this to allow connections in windows wsl
  hostname: "0.0.0.0",
This allows the server to accept connections from Windows (where Figma runs).
3

Save the file

Save your changes to src/socket.ts.
Without setting hostname: "0.0.0.0", the WebSocket server will only listen on localhost within WSL and won’t be accessible from Windows, causing connection failures.

Starting the WebSocket Server

1

Start the server

In PowerShell, from the project directory:
bun socket
You should see:
WebSocket server running on port 3055
2

Verify accessibility

The server should now be accessible at ws://localhost:3055 from both Windows and WSL.

MCP Server Configuration

For Cursor on Windows

If using Cursor on Windows:
1

Locate or create MCP config

The config file should be at:
C:\Users\YourUsername\.cursor\mcp.json
Or in your project root:
.cursor\mcp.json
2

Add the configuration

{
  "mcpServers": {
    "TalkToFigma": {
      "command": "bunx",
      "args": ["cursor-talk-to-figma-mcp@latest"]
    }
  }
}
3

Restart Cursor

Restart Cursor to load the configuration.

For Cursor/Claude Code in WSL

If running your AI agent inside WSL:
1

Install Bun in WSL

Inside your WSL terminal:
curl -fsSL https://bun.sh/install | bash
2

Run setup in WSL

cd /mnt/c/path/to/talk-to-figma-mcp
bun setup
3

Configure MCP

Create .mcp.json in your WSL home directory or project root:
{
  "mcpServers": {
    "TalkToFigma": {
      "command": "bunx",
      "args": ["cursor-talk-to-figma-mcp@latest"]
    }
  }
}

Figma Plugin Setup

1

Install the Figma plugin

Follow the standard Figma Plugin Setup guide to install the plugin in Figma Desktop on Windows.
2

Connect to WebSocket

In the plugin UI, use:
ws://localhost:3055
This works because the server is running on Windows with hostname: "0.0.0.0".
3

Join a channel

Enter a channel name and click “Join Channel”.

Network Architecture

Understanding the network flow in Windows + WSL:
Figma (Windows) ←→ WebSocket Server (Windows:3055) ←→ MCP Server (Windows/WSL) ←→ Cursor/Claude (Windows/WSL)
Key points:
  • Figma runs on Windows host
  • WebSocket server runs on Windows with 0.0.0.0 binding
  • MCP server can run on either Windows or WSL
  • AI agent (Cursor/Claude) can run on either Windows or WSL

Troubleshooting

Connection refused errors

This is the most common issue. Verify that you’ve uncommented:
hostname: "0.0.0.0",
in src/socket.ts.
Windows Firewall might block the connection. When you first run bun socket, Windows may prompt you to allow network access. Click “Allow”.If you missed the prompt:
  1. Open Windows Defender Firewall
  2. Click “Allow an app or feature through Windows Defender Firewall”
  3. Find “bun” and ensure both Private and Public networks are checked
Ensure you’re using localhost or 127.0.0.1 in the Figma plugin, not WSL-specific IP addresses.

Performance issues

When working with files in /mnt/c/, WSL can be slow. Consider:
  • Cloning the repo in WSL’s native filesystem (~/projects/)
  • Running the WebSocket server on Windows instead
WSL 2 uses a virtualized network. If you experience latency:
  • Run the WebSocket server on Windows
  • Keep the project files on the Windows filesystem

WSL version issues

Check your WSL version:
wsl -l -v
Convert to WSL 2 if needed:
wsl --set-version Ubuntu 2

Best Practices for Windows + WSL

Run server on Windows

For best performance, run the WebSocket server on Windows where Figma is running.

Use Windows filesystem

Store project files on Windows filesystem (C:\) rather than WSL filesystem for better performance.

Install Bun on both

Install Bun on both Windows and WSL for maximum flexibility.

Always set hostname

Remember to set hostname: "0.0.0.0" in the WebSocket server configuration.
For optimal performance on Windows + WSL:
  1. Project location: Windows filesystem (C:\Users\YourName\projects\talk-to-figma-mcp)
  2. Bun installation: Windows (for running the server)
  3. WebSocket server: Run on Windows with hostname: "0.0.0.0"
  4. MCP server: Can run on either Windows or WSL
  5. AI agent: Use Cursor on Windows for best performance
This setup minimizes cross-platform overhead and provides the smoothest experience.

Next Steps

Cursor Setup

Complete Cursor IDE configuration

Figma Plugin

Install and configure the Figma plugin

Build docs developers (and LLMs) love