Talk to Figma MCP
MCP bridge between an agent (Cursor, Claude Code, Codex) and Figma for reading designs and editing them on the canvas
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Modifies Figma file content on the agent's commands
- Runs a local WebSocket server and exchanges data over the network
Install
Manual install
{
"mcpServers": {
"TalkToFigma": {
"command": "bunx",
"args": ["cursor-talk-to-figma-mcp@latest"]
}
}
}Fragment for ~/.cursor/mcp.json. bun setup registers the server in the active project automatically.
This is third-party code. Review the repository files before installing.
What it does
The project links an agent to Figma through an MCP server, a Figma plugin and a local WebSocket. The agent reads the document, the selection and individual nodes, creates rectangles, frames, sections and text, and sets auto layout, padding, alignment, fills, strokes and corner radius. It supports bulk text replacement, propagation of component instance overrides, annotations and FigJam connectors built from prototype flows. The server and the plugin talk over a channel that the agent joins with join_channel.
Who it is for. For designers and developers who automate routine Figma work through an agent.
Good fit when
- You need bulk text replacement or to propagate overrides across many instances
- You need to build or adjust layout and styles from the agent
- You need to place annotations or connectors along a prototype flow
Not a fit when
- The Figma plugin is not installed or the WebSocket server is not running
- You need precise manual work on the file rather than batch operations
Example request
Join the Figma channel and replace the text in every button from English to RussianLimitations
It needs Bun, a running local WebSocket server and the installed Figma plugin, and the agent must join a shared channel. On Windows with WSL you must open hostname 0.0.0.0 in src/socket.ts. Figma access from Russia is restricted, so use without a VPN is not guaranteed.
How to disable. Remove the TalkToFigma entry from the agent's MCP configuration, stop the WebSocket server and remove the plugin in Figma under Plugins, Development.
MCP
- Transport
- stdio
- Authentication
- not required
Security check
- Modifies Figma file content on the agent's commands
- Runs a local WebSocket server and exchanges data over the network
README in short
The README describes three parts: a TypeScript MCP server, a Figma plugin and a WebSocket server that connects them. Setup runs through Bun: bun setup registers the MCP in a Cursor project and bun socket starts the channel. The plugin installs from the Figma community page or locally via manifest.json. The tools are then listed by group: document and selection, annotations, prototyping and connectors, element creation, text editing, auto layout and styling. MIT license.
FAQ
Why is a separate WebSocket server needed?
The MCP server and the Figma plugin exchange messages through it. Without a running server and a joined channel, commands never reach Figma.
Which agents does it work with?
Cursor, Claude Code and Codex through the standard MCP configuration. The plugin installs in Figma in development mode or from the community page.
Related
Official Claude Code plugin from the Next.js repo: adopting Cache Components and Partial Prefetching, and verifying changes on a running dev server
Official shadcn/ui skill and MCP server: the agent searches registries, adds components via the CLI and follows the library's rules
A frontend design skill with 23 commands, live browser iteration and 61 detector rules for common AI-generated UI tells
Vercel Agent Skills
Agent Skills
Vercel's skills: React and Next.js performance, UI guideline audits, React Native, component composition and deploys