Back to Discover

figma-mcp-express

connector

sunhome243

Compact Figma MCP with validated batch ops through a local plugin bridge.

View on GitHub
0 starsSynced Aug 6, 2026

Install to Claude Code

/plugin marketplace add sunhome243/figma-mcp-express

README

figma-mcp-express

Figma MCP Express hero: the fast lane for AI agents into Figma

License: MIT Go npm Works with Claude Code Works with Codex

Fast, quota-free, stable Figma automation for coding agents. figma-mcp-express lets Claude Code, Codex, and other local agents read, edit, migrate, audit, screenshot, and prototype inside the real Figma Desktop file. It is built for serious design-system work: batch edits, multi-file routing, large-file reads, visible multi-agent activity, and prototype wiring without burning through official Figma MCP tool-call quotas.

Use it when screenshots and comments are not enough. The agent can inspect actual nodes, components, variables, styles, frames, prototype reactions, and connected files, then make targeted changes in the file designers already use.

Demo

Multiple AI agents building screens live in Figma

Watch the demo video

Follow AI agents live as they fix issues, edit layouts, and design screens directly in Figma.

Why teams use it

  • More automation, fewer quota walls. Normal plugin-side work is not capped by the official Figma MCP server's seat-based tool-call limits.
  • Compact tool surface. Compared with vkhanhqui/figma-mcp-go@fe6cd768 (the intermediate fork baseline used for this measurement), the default tools/list drops from 73 tools / 12,214 o200k_base tokens to 21 tools / 3,283 tokens (73.1% smaller) — less context burned before the agent does any work.
  • Real Figma context, not screenshots. Agents work with live nodes, components, variables, styles, frames, screenshots, and prototype links in the open Desktop file.
  • Built for design-system migration. Route a source library and product file through separate channels, then rebuild screens with the right components and tokens.
  • Made for multi-agent runs. Watch agent activity live, follow one agent's edits, and keep file sessions separated by channel.
  • Large files stay usable. Big reads spill to disk so agents can inspect only the useful slice instead of flooding the model context.
  • Prototype automation is part of the workflow. Read prototype flows, set reactions, and set flow starting points.

Capabilities

  • Watch live agent activity in the Figma plugin.
  • Build polished Figma screens with built-in AI agent skills.
  • Route multiple open files through separate channels.
  • Migrate design systems with real components, variables, and styles.
  • Read and wire prototype flows directly in the open Figma file.

Good fit

  • Design system migrations and component-library swaps
  • Large file audits, cleanup, and token rebinding
  • Design-to-code handoff that needs real token and component context
  • Prompt-to-Figma workflows that should use your actual library instead of raw shapes
  • Prototype audits and wiring for navigation, overlays, transitions, and flow starts

Quick start

1. Install the server

Plugin install is the shortest path.

Claude Code

claude plugin marketplace add sunhome243/figma-mcp-express
claude plugin install figma-mcp-express@figma-mcp-express

Codex

codex plugin marketplace add sunhome243/figma-mcp-express
codex plugin add figma-mcp-express@figma-mcp-express

2. Import the Figma Desktop plugin

  1. Download plugin.zip or build from source.
  2. In Figma Desktop, go to Plugins -> Development -> Import plugin from manifest....
  3. Select manifest.json from the unzipped plugin folder or from this repo's plugin/ directory.

3. Run it

  1. Open the target file in Figma Desktop.
  2. Start Plugins -> Development -> Figma MCP Express.
  3. Keep the plugin running while the agent works.
  4. If you open multiple files, each file gets its own channel ID for multi-file workflows.

Important limits

  • Most live tools require the target file to be open in Figma Desktop with the plugin running.
  • fetch_library_catalog is the main REST-only exception and requires FIGMA_TOKEN.
  • Plugin execution is still single-threaded per file; the server reduces contention, but it does not make one file fully parallel.
  • Community kits must be published as a library before import_component_by_key can use them.
Build from source

For other MCP clients, or if you want to modify the server:

git clone https://github.com/sunhome243/figma-mcp-express.git
cd figma-mcp-express
make build

This produces bin/figma-mcp-express and plugin/dist/.

Add it to your .mcp.json:

{
  "mcpServers": {
    "figma-mcp-express": {
      "command": "/absolute/path/to/bin/figma-mcp-express",
      "args": ["--port", "1994"]
    }
  }
}

Restart your MCP client after building.

Advanced environment variables

FIGMA_TOKEN

Most workflows do not need a token. Live read/write tools talk directly to Figma Desktop through the plugin.

You only need FIGMA_TOKEN for REST-backed library catalog lookups such as fetch_library_catalog.

  • Generate it in Figma at Account Settings -> Personal access tokens
  • Read-only file access is enough for catalog lookup
  • Treat it like a password and never commit it

If you installed from the marketplace, set it in your shell profile:

echo 'export FIGMA_TOKEN=your_token_here' >> ~/.zshrc
source ~/.zshrc

If you built from source, you can either export it in your shell or place it in a local .env file:

cat <<'EOF' > .env
FIGMA_TOKEN=your_token_here
EOF

Shell environment variables take precedence over .env.

VariableDefaultDescription
FIGMA_TOKEN-Required only for fetch_library_catalog.
FIGMA_MCP_TOOL_PROFILEcorecore keeps the compact default tool surface. full restores the legacy compatibility/debugging surface.
FIGMA_MCP_TOOL_SCHEMA_MODEcompactcompact trims tools/list descriptions to reduce MCP context tokens. Use verbose for full in-schema guidance.
FIGMA_MCP_BATCH_MAX_OPS200Maximum top-level batch.ops entries accepted before plugin execution.
FIGMA_MCP_BATCH_MAX_BYTES2097152Maximum encoded batch.ops payload size in bytes before plugin execution.
FIGMA_MCP_STDIO_WORKERS16Number of stdio tool-call workers. Server-local tools can run concurrently; plugin-facing calls still serialize per Figma file.
FIGMA_MCP_STDIO_QUEUE1000Buffered stdio tool-call queue size before mcp-go falls back to synchronous handling.
FIGMA_MCP_SPILL_BYTES25000Response size threshold. Larger responses spill to .figma-mcp-cache/.
FIGMA_MCP_TIMEOUT120Inactivity ceiling in seconds for lightweight ops. Resets on each progress heartbeat.
FIGMA_MCP_READ_TIMEOUT600Inactivity ceiling in seconds for heavy reads and batch. Resets on each progress heartbeat.
FIGMA_MCP_STALL_THRESHOLD45Seconds an op may hold a channel's serial slot with no progress before a new call on that channel is fast-rejected.

More docs

Credits

The original bridge architecture and implementation underlying this project were created by GETHOPP LTD in gethopp/figma-mcp-bridge@82b28bc and released under the MIT License.

figma-mcp-express was initially created from an intermediate fork without knowing this earlier provenance. After learning the full lineage, we restored GETHOPP LTD's copyright notice and now credit the original project directly. We value a healthy, transparent open-source ecosystem and aim to make authorship and derivation explicit.

Required third-party copyright notices are preserved in LICENSE. figma-mcp-express is MIT-licensed and permits commercial use.

Rendered live from sunhome243/figma-mcp-express's GitHub README — not stored, always reflects the source repo.

1 Install Method

NameDescriptionCategorySource
npm packageInstall via npm (stdio transport)mcp-serverfigma-mcp-express

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.