# Talk to Figma MCP server

> Read and modify Figma designs from an AI agent through a local WebSocket relay and a Figma plugin.

- Listing: https://mcp.tc/i/talk-to-figma
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: no API key needed
- Category: [Design, Websites & CMS](https://mcp.tc/c/design)
- Vendor: Grab
- Homepage: <https://www.figma.com/community/plugin/1485687494525374295/cursor-talk-to-figma-mcp-plugin>
- Repository: <https://github.com/grab/cursor-talk-to-figma-mcp>
- Package: npm `cursor-talk-to-figma-mcp`

## About

Connects AI agents such as Cursor, Claude Code and Codex to Figma. The agent can read documents, selections and nodes, create frames, text and rectangles, edit text in bulk, set auto layout, colors and corner radius, manage annotations and prototype connections, work with components and instance overrides, and export nodes as images.

Runs locally over stdio with bunx cursor-talk-to-figma-mcp@latest. It also needs a WebSocket relay started from the repository (bun socket) and the Talk to Figma plugin installed in Figma. The plugin joins a channel with join\_channel. No API key or sign-in is required.

## What it can do

- Read document info, selections and node details
- Create frames, sections, rectangles and text nodes
- Bulk replace text content across a design
- Set auto layout, padding, spacing and sizing
- Change fill, stroke and corner radius
- Read and write annotations and prototype connections
- Work with local components, styles and instance overrides
- Export nodes as PNG, JPG, SVG or PDF

## Example prompts

- "Read my current Figma selection and describe the layout"
- "Replace all text in the selected frame with the copy from this list"
- "Create a frame with vertical auto layout and 16px spacing"
- "Apply the overrides from this component instance to the other selected instances"

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio talk-to-figma -- bunx cursor-talk-to-figma-mcp@latest
```

2. Start Claude Code and type `/mcp`. **talk-to-figma** should show as connected.

Add `--scope user` to make it available in every project.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

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

2. Save the file and restart Claude Desktop.

The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=talk-to-figma&config=eyJjb21tYW5kIjoiYnVueCIsImFyZ3MiOlsiY3Vyc29yLXRhbGstdG8tZmlnbWEtbWNwQGxhdGVzdCJdfQ%3D%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

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

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=talk-to-figma&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22bunx%22%2C%22args%22%3A%5B%22cursor-talk-to-figma-mcp%40latest%22%5D%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"talk-to-figma","type":"stdio","command":"bunx","args":["cursor-talk-to-figma-mcp@latest"]}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "talk-to-figma": {
      "type": "stdio",
      "command": "bunx",
      "args": [
        "cursor-talk-to-figma-mcp@latest"
      ]
    }
  }
}
```

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

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

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add talk-to-figma -- bunx cursor-talk-to-figma-mcp@latest
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.talk-to-figma]
command = "bunx"
args = ["cursor-talk-to-figma-mcp@latest"]
```

### Gemini CLI

```bash
gemini mcp add talk-to-figma bunx cursor-talk-to-figma-mcp@latest
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

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

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

## Details

- Server version: 0.3.5
- Last checked: 2026-10-03
- Listed: 2026-10-03
- Updated: 2026-10-03

---
Source: https://mcp.tc/i/talk-to-figma (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
