Official

Cursor Talk To Figma MCP Server

Figma design files, bulk text replacement, and instance overrides for AI agents.

Data last scanned yesterday · Reviewed yesterday

662 dangerous tools40 tools6,925JavaScriptMIT

Overview

This integration bridges AI agents like Cursor or Claude Code with Figma, enabling bidirectional communication for reading and programmatically modifying design files. It utilizes a TypeScript-based MCP server paired with a dedicated Figma plugin and a WebSocket bridge to execute design tasks directly from your development environment. Capabilities include automated bulk text content replacement and the ability to propagate component instance overrides across multiple target instances. These features are designed to streamline repetitive design maintenance by allowing developers to trigger complex modifications via natural language commands within their AI-assisted workflow.

Our verdict

With a security score of 48/100, this project carries a high risk level. The score is impacted by the fact that the project is community-maintained rather than official and lacks any independent editorial review. While it offers useful design automation, users should exercise caution as the authentication and read-only modes have not been subject to rigorous security evaluation.

  • Supports bulk text replacement for design content
  • Automates propagation of component instance overrides
  • Four direct dependencies reduce supply-chain surface
  • Licensed under MIT for flexible usage
  • Security score of 48/100 indicates high risk
  • Authentication methods have not been reviewed
  • Community-maintained rather than official vendor support
  • Read-only mode implementation not yet vetted

Setup

Claude Desktop
{
  "mcpServers": {
    "cursor-talk-to-figma-mcp": {
      "args": [
        "-y",
        "cursor-talk-to-figma-mcp"
      ],
      "command": "npx"
    }
  }
}

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.

  • No read-only mode — running this grants full read/write access.
  • No built-in authentication — anyone with access to this config can invoke every tool it exposes.

Tools

ToolDescriptionRisk
get_document_infoGet information about the current Figma documentlow
get_selectionGet information about the current selectionlow
read_my_designGet detailed node information about the current selection without parameterslow
get_node_infoGet detailed information about a specific nodelow
get_nodes_infoGet detailed information about multiple nodes by providing an array of node IDslow
set_focusSet focus on a specific node by selecting it and scrolling viewport to itlow
set_selectionsSet selection to multiple nodes and scroll viewport to show themlow
get_annotationsGet all annotations in the current document or specific nodelow
set_annotationCreate or update an annotation with markdown supportmedium
set_multiple_annotationsBatch create/update multiple annotations efficientlymedium

Compatibility

ClientLocalDockerRemoteRead-only
ChatGPT
Claude Desktop
Cursor
VS Code
Windsurf

Frequently asked questions

What software do I need installed to run this MCP server?

You must have Bun installed on your machine to execute the setup and run the required WebSocket server.

How do I configure this server for use in Cursor?

Add the 'TalkToFigma' server entry with the command 'bunx' and the arguments ['cursor-talk-to-figma-mcp@latest'] to your '~/.cursor/mcp.json' configuration file.

Is there a specific way to use this setup on Windows with WSL?

Yes, you must install Bun via PowerShell and uncomment the 'hostname: "0.0.0.0"' line in the 'src/socket.ts' file to allow network connections.

How does the MCP server communicate with Figma?

Communication is facilitated by a WebSocket server that connects to a specific Figma plugin. You must have this plugin installed and active in your Figma file, and connect it to the WebSocket server using the 'join_channel' command.

Can I modify the server code locally?

Yes, for local development, you can update your MCP configuration to point directly to your local file path using '["/path-to-repo/src/talk_to_figma_mcp/server.ts"]' as the argument for the server command.

Alternatives

Badge

Cursor Talk To Figma MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.