home / mcp / cursortalk mcp server

CursorTalk MCP Server

MCP server store

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "andreycretsu-cursor-talk-to-figma-mcp-main": {
      "command": "bunx",
      "args": [
        "cursor-talk-to-figma-mcp@latest"
      ]
    }
  }
}

You can connect Cursor MCP with Figma to read designs, inspect nodes, and apply edits programmatically. This MCP server acts as the bridge between Cursor and Figma, exposing a set of tools that let you query documents, read and modify design data, manage annotations, prototype connections, and automate common design tasks through a consistent API.

How to use

You use this MCP server by running the MCP server itself and the WebSocket facilitator, then connecting a Cursor MCP client to the running channel. Start your WebSocket server first, then launch the MCP server, and finally connect the Figma plugin through the Cursor MCP client to begin sending commands.

How to install

Prerequisites you need before installation:

- Bun: a fast JavaScript runtime and package manager.

- Cursor installed and prepared to accept MCP servers in your active project.

Step-by-step commands to set up and run the MCP server and WebSocket server are provided here so you can start experimenting quickly.

curl -fsSL https://bun.sh/install | bash
bun setup
bun socket
bunx cursor-talk-to-figma-mcp@latest
```

To install the Figma plugin locally for development: 

```bash
# In Figma, install the Cursor MCP plugin by pointing to the local plugin directory
```

Windows + WSL users should follow the dedicated steps to enable network access within WSL and then run the same server commands.

Additional sections

MCP Server configuration for Cursor integration is stored in Cursor’s MCP config file. The example below shows how to add the TalkToFigma MCP server, using Bun to run the MCP server package.

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

Security and best practices

Always join a channel before sending commands to ensure you are communicating with the correct Figma context. Validate the current document and selection before applying edits, and use batch operations for large design changes to minimize disruptions.

Troubleshooting notes

If you cannot connect from the Figma plugin, verify that the WebSocket server is running (bun socket) and that you have started the MCP server (bunx cursor-talk-to-figma-mcp@latest). For Windows/WSL, ensure hostname exposure is enabled by uncommenting hostname: "0.0.0.0" in the socket configuration. If you encounter authentication or channel issues, rejoin the channel and retry the command sequence.

Notes on usage patterns

Use the MCP tools to read document information, inspect selections, and modify nodes with safety checks. When making bulk changes, prefer batch operations (e.g., set_multiple_text_contents) and verify results with targeted exports (e.g., export_node_as_image). Utilize text scanning and component instance operations to minimize manual edits and preserve design structure.

References and tooling

The MCP server exposes a rich set of tools to interact with Figma, including document and selection queries, text operations, layout adjustments, styling controls, node management, and component/variant handling. These tools enable end-to-end design automation from Cursor.

Available tools

get_document_info

Retrieve information about the current Figma document.

get_selection

Retrieve information about the current selection in the document.

read_my_design

Fetch detailed node information about the current selection without additional parameters.

get_node_info

Get detailed information about a specific node by its ID.

get_nodes_info

Get detailed information about multiple nodes by providing an array of node IDs.

get_annotations

Obtain all annotations in the current document or a specific node.

set_annotation

Create or update an annotation with markdown support.

set_multiple_annotations

Batch create or update multiple annotations efficiently.

scan_nodes_by_types

Scan for nodes matching specific types to target annotation or analysis.

get_reactions

Retrieve prototype reactions from nodes with visual highlight animation.

set_default_connector

Set the default FigJam connector style for creating connections.

create_connections

Create FigJam connector lines between nodes based on prototype flows or mappings.

create_rectangle

Create a new rectangle with position, size, and optional name.

create_frame

Create a new frame with position, size, and optional name.

create_text

Create a new text node with customizable font properties.

set_text_content

Set the text content of a single text node.

set_multiple_text_contents

Batch update multiple text nodes efficiently.

set_layout_mode

Set layout mode and wrap behavior for an auto-layout frame.

set_padding

Set padding values for an auto-layout frame.

set_axis_align

Set primary and counter axis alignment for auto-layout frames.

set_layout_sizing

Set sizing modes for auto-layout frames.

set_item_spacing

Set the distance between children in an auto-layout frame.

set_fill_color

Set the fill color of a node.

set_stroke_color

Set the stroke color and weight of a node.

set_corner_radius

Set the corner radius of a node.

move_node

Move a node to a new position.

resize_node

Resize a node with new dimensions.

delete_node

Delete a node.

delete_multiple_nodes

Delete multiple nodes in one operation.

clone_node

Create a copy of an existing node with optional offset.

get_styles

Get information about local styles.

get_local_components

Get information about local components.

create_component_instance

Create an instance of a component.

get_instance_overrides

Extract overrides from a selected component instance.

set_instance_overrides

Apply extracted overrides to target instances.

export_node_as_image

Export a node as an image (PNG/JPG/SVG/PDF) with basic support.