# figma-mcp-express

Lets an agent work inside the live Figma Desktop file: nodes, components, variables, styles and prototype links. Handy for design-system migrations.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 9
- Author: sunhome243
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/sunhome243/figma-mcp-express
- Updated: 2026-08-11
- HTML: https://affpapa.org/en/nevibecode/mcp/figma-mcp-express

## What it does

The server talks to Figma through a local plugin. Your agent inspects and edits real nodes, components, variables, styles and prototype reactions in the file a designer already has open, instead of guessing from screenshots. Batch edits and per-channel routing of several open files cover library swaps and big audits.

Large reads spill to disk, so only the useful slice reaches the model context. The default tool surface stays small; `FIGMA_MCP_TOOL_PROFILE=full` brings back the legacy compatibility and debugging set, and `FIGMA_MCP_TOOL_SCHEMA_MODE=verbose` restores full in-schema descriptions.

Live tools need the target file open in Figma Desktop with the plugin running. `fetch_library_catalog` is the exception and reads through REST, so it wants a `FIGMA_TOKEN` from `Account Settings -> Personal access tokens` — keep that token out of commits. Plugin execution stays single-threaded per file, and components from community kits have to be published as a library before `import_component_by_key` can reach them.

## Requirements
- Needs: Node.js (commands run via npx)
- Works with: Figma

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add figma-mcp-express -- npx -y figma-mcp-express
```

### Codex

**Platform CLI**
```bash
codex mcp add figma-mcp-express -- npx -y figma-mcp-express
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "figma-mcp-express": {
            "command": "npx",
            "args": [
                "-y",
                "figma-mcp-express"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "figma-mcp-express": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "figma-mcp-express"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add figma-mcp-express npx -y figma-mcp-express
```

## When to use it
- move components and tokens from a source library into a product file
- audit a large file and rebind its styles
- read a prototype flow and set its reactions
- build a screen from real library components instead of raw shapes
- keep several open files on separate channels

## Example prompts
- List the components in the open file that are not bound to variables
- Pull the buttons from the library into the product file and swap the old variants
- Read the prototype reactions on `Checkout` and add a transition to `Success`

## Similar
- [Next AI Draw.io](https://affpapa.org/en/nevibecode/mcp/next-ai-drawio.md) — MCP server · ★ 36398
- [tldraw](https://affpapa.org/en/nevibecode/mcp/tldraw.md) — MCP server · ★ 51091
- [Figma-Context-MCP](https://affpapa.org/en/nevibecode/mcp/figma-context-mcp.md) — MCP server · ★ 16062
- [Agent-Native Assets](https://affpapa.org/en/nevibecode/mcp/agent-native-assets.md) — MCP server · ★ 7506
- [Remove AI Watermarks](https://affpapa.org/en/nevibecode/mcp/remove-ai-watermarks.md) — MCP server · ★ 6114
- [Dembrandt](https://affpapa.org/en/nevibecode/mcp/dembrandt.md) — MCP server · ★ 3821

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
