Cursor Talk To Figma MCP Server
Figma design files, bulk text replacement, and instance overrides for AI agents.
Data last scanned yesterday · Reviewed yesterday
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
{
"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
| Tool | Description | Risk |
|---|---|---|
| get_document_info | Get information about the current Figma document | low |
| get_selection | Get information about the current selection | low |
| read_my_design | Get detailed node information about the current selection without parameters | low |
| get_node_info | Get detailed information about a specific node | low |
| get_nodes_info | Get detailed information about multiple nodes by providing an array of node IDs | low |
| set_focus | Set focus on a specific node by selecting it and scrolling viewport to it | low |
| set_selections | Set selection to multiple nodes and scroll viewport to show them | low |
| get_annotations | Get all annotations in the current document or specific node | low |
| set_annotation | Create or update an annotation with markdown support | medium |
| set_multiple_annotations | Batch create/update multiple annotations efficiently | medium |
Compatibility
| Client | Local | Docker | Remote | Read-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
Maintain this server? Add the live badge to your README.