MCP Connector

Control Figma Designs with Natural Language

An MCP server letting Claude Desktop directly read and manipulate a live Figma design file.

Works with figmanode.js

90
Spark score
out of 100
Updated Jun 2025
Version 1.0.0
Models

Add to Favorites

Why it matters

Leverage natural language commands to create, modify, and collaborate on Figma designs in real-time. This MCP server connects Claude Desktop to Figma via WebSocket, enabling dynamic design control.

Outcomes

What it gets done

01

Connect Claude Desktop to Figma using WebSocket.

02

Create and modify design elements (rectangles, frames, text) via natural language.

03

Manage Figma components and their instances programmatically.

04

Automate design tasks and real-time collaboration.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-talk-to-figma-via-claude | bash

Capabilities

Tools your agent gets

join_channel

Establishes a connection with Figma

get_document_info

Retrieves information about the current Figma document

get_selection

Gets the currently selected elements in Figma

create_rectangle

Creates a rectangular shape in Figma

create_frame

Creates a frame in Figma

create_text

Creates text elements in Figma

set_fill_color

Sets the fill color of elements

set_corner_radius

Sets the corner radius of elements

+7 tools

Overview

Talk To Figma via Claude MCP Server

An MCP server letting Claude Desktop control a live Figma file - creating, styling, and managing components - via WebSocket. Use it when Claude needs to directly read or manipulate a live Figma file as part of a design workflow.

What it does

Lets Claude Desktop control Figma through MCP and WebSocket communication, extending the cursor-talk-to-figma-mcp project to work with Claude via stdio. Once connected, Claude can read document and selection info, create and style Figma elements (rectangles, frames, text, components), and manage component instances directly inside a running Figma desktop session.

When to use - and when NOT to

Use this when Claude needs to inspect or manipulate a live Figma file - reading document info, creating shapes, frames, or text, applying fill colors and corner radius, or creating and updating component instances - as part of a design or prototyping workflow. It requires the Figma desktop app running with a companion plugin installed via manifest, plus a local WebSocket server and MCP server, so it is not a cloud-based or headless Figma integration. If something breaks, the project's own troubleshooting guidance is to check the log files first, confirm Figma is actually running with the plugin installed, run the health_check/connection_status tools from Claude, and restart the whole integration if those don't resolve it.

Capabilities

  • Document information tools: get_document_info, get_selection, and similar.
  • Creation tools: create_rectangle, create_frame, create_text, and similar.
  • Styling tools: set_fill_color, set_corner_radius, and similar.
  • Component tools: create_component, update_instance_properties, and similar.
  • Enhanced tools: enhanced_create_component_instance, enhanced_set_fill_color, create_multiple_instances (batch creation).
  • join_channel establishes the connection before any Figma tool call; health_check and connection_status help diagnose issues.

How to install

Requires Node.js 14+, npm, and the Figma desktop app. Clone the repo, run npm install, and (on Linux/macOS) chmod +x run-figma-claude.sh. Start everything with ./bin/claude-figma-connect.sh (Linux/macOS) or bin\claude-figma-connect.bat (Windows), which launches the WebSocket server, MCP server, and Claude bridge together. In Figma, go to Actions, import from manifest, and select the plugin's manifest.json. Add the MCP config:

{
  "mcpServers": {
    "TalkToFigma": {
      "command": "node",
      "args": [
        "~/talk_to_figma_claude/src/mcp-server/mcp-server.js"
      ],
      "env": {}
    }
  }
}

A monitoring dashboard is available at http://localhost:3650 while the server is running, and logs are written to the logs directory.

Who it's for

Designers and developers who want Claude to directly read and manipulate a live Figma file - creating and styling elements or managing components - instead of describing changes for a human to make manually, and who are comfortable running a local WebSocket bridge alongside Figma. The project includes a walkthrough video and screenshots demonstrating the setup end to end, and is distributed under the MIT License.

Source README

Talk to Figma - Claude Desktop App Integration

This project enables Claude Desktop App to control Figma through the MCP (Model Context Protocol) and WebSocket communication. It extends the original cursor-talk-to-figma-mcp to work with Claude Desktop App via stdio.

YT Video: https://www.youtube.com/watch?v=-LA_Ew7GhC4

https://github.com/user-attachments/assets/68dcc372-3605-477f-ab43-8fe076eed99c

Screenshots

Prerequisites

  • Node.js 14+ and npm
  • Figma desktop application

Installation

  1. Clone this repository:

    git clone https://github.com/gaganmanku96/talk-with-figma-claude.git
    cd talk-with-figma-claude
    
  2. Install dependencies:

    npm install
    
  3. Make the startup scripts executable (Linux/macOS):

    chmod +x run-figma-claude.sh
    

Usage

Quick Start

On Linux/macOS:
./bin/claude-figma-connect.sh
On Windows:
bin\claude-figma-connect.bat

This will start all necessary components:

  • WebSocket server (background)
  • MCP server (background)
  • Claude bridge (foreground)

Using with Claude Desktop App

  1. Start the integration using one of the scripts above
  2. Open Claude Desktop App
  3. In Claude, use the following tool commands:
    • First use join_channel to establish a connection
    • Then use various Figma tools like create_rectangle, get_document_info, etc.

Adding plugin in Figma

  1. Go to Actions in Figma
  1. Click on import from manifest
  1. Select the manifest file

    talk-with-figma-claude > src > figma_plugin > manifest.json

Connecting with Claude

You'll have to add following in Claude MCP Config

{
  "mcpServers": {
    "TalkToFigma": {
      "command": "node",
      "args": [
        "~/talk_to_figma_claude/src/mcp-server/mcp-server.js"
      ],
      "env": {}
    }
  }
}

talk_to_figma_claude\src\mcp-server\mcp-server.js

Available Tools

Basic Figma tools:

  • Document information tools (get_document_info, get_selection, etc.)
  • Creation tools (create_rectangle, create_frame, create_text, etc.)
  • Styling tools (set_fill_color, set_corner_radius, etc.)
  • Component tools (create_component, update_instance_properties, etc.)

Enhanced tools:

  • enhanced_create_component_instance: Better component instance creation
  • enhanced_set_fill_color: Improved color handling
  • create_multiple_instances: Batch creation of instances

Logs

Logs are stored in the logs directory with timestamped files for each component.

Monitoring

A server monitoring dashboard is available at http://localhost:3650 when the server is running.

Troubleshooting

If you encounter issues:

  1. Check the log files in the logs directory
  2. Make sure Figma is running with the plugin installed
  3. Try running the health_check or connection_status tools from Claude
  4. Restart the integration if needed

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.