概要
What is TalkToFigma?
TalkToFigma is a Model Context Protocol (MCP) integration that allows AI agents (such as Cursor and Claude Code) to read and modify Figma designs programmatically. It uses a WebSocket server to facilitate communication between an MCP server and a Figma plugin.
How to use TalkToFigma?
Install Bun, run bun setup, then start the WebSocket server with bun socket. Install the Figma plugin from the community page or locally. In Cursor, add the MCP server to ~/.cursor/mcp.json. Open Figma, run the plugin, join a channel with join_channel, and then use Cursor to invoke MCP tools.
Key features of TalkToFigma
- Read and modify Figma documents via AI agents
- Bulk text content replacement across multiple nodes
- Instance override propagation for component instances
- Create and manage annotations with markdown support
- Export nodes as images (PNG, JPG, SVG, PDF)
- Prototyping and connector creation between nodes
Use cases of TalkToFigma
- Automate design updates by sending natural language commands from Cursor
- Bulk replace text in multiple Figma text nodes at once
- Convert prototype reactions into FigJam connector lines for flow visualization
- Propagate component instance overrides across multiple targets
- Create and manage annotations on Figma nodes programmatically
FAQ from TalkToFigma
What is the difference between TalkToFigma and direct Figma API usage?
TalkToFigma wraps the Figma plugin API into MCP tools, enabling AI agents to interact with Figma without manual API calls or OAuth setup. It handles the WebSocket bridge automatically.
What runtime does TalkToFigma require?
The server requires Bun as the JavaScript runtime. The Figma plugin runs inside Figma’s plugin environment. On Windows, use WSL and set hostname: "0.0.0.0" in src/socket.ts.
Where does data from TalkToFigma live?
All design data stays within the user’s Figma document and local environment. The WebSocket server runs locally, and no data is sent to external servers beyond the AI agent’s own context.
What transports and authentication does TalkToFigma use?
Communication occurs over a local WebSocket connection between the MCP server and the Figma plugin. No authentication is required; channels are joined via the join_channel command.
Are there any known limits when using TalkToFigma?
For large designs, use chunking parameters in scan_text_nodes and monitor progress through WebSocket updates. All commands can throw exceptions, so proper error handling is recommended.