npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

figma-mcp-express

v2.8.1

Published

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

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.

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.

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.

| Variable | Default | Description | | --- | --- | --- | | FIGMA_TOKEN | - | Required only for fetch_library_catalog. | | FIGMA_MCP_TOOL_PROFILE | core | core keeps the compact default tool surface. full restores the legacy compatibility/debugging surface. | | FIGMA_MCP_TOOL_SCHEMA_MODE | compact | compact trims tools/list descriptions to reduce MCP context tokens. Use verbose for full in-schema guidance. | | FIGMA_MCP_BATCH_MAX_OPS | 200 | Maximum top-level batch.ops entries accepted before plugin execution. | | FIGMA_MCP_BATCH_MAX_BYTES | 2097152 | Maximum encoded batch.ops payload size in bytes before plugin execution. | | FIGMA_MCP_STDIO_WORKERS | 16 | Number of stdio tool-call workers. Server-local tools can run concurrently; plugin-facing calls still serialize per Figma file. | | FIGMA_MCP_STDIO_QUEUE | 1000 | Buffered stdio tool-call queue size before mcp-go falls back to synchronous handling. | | FIGMA_MCP_SPILL_BYTES | 25000 | Response size threshold. Larger responses spill to .figma-mcp-cache/. | | FIGMA_MCP_TIMEOUT | 120 | Inactivity ceiling in seconds for lightweight ops. Resets on each progress heartbeat. | | FIGMA_MCP_READ_TIMEOUT | 600 | Inactivity ceiling in seconds for heavy reads and batch. Resets on each progress heartbeat. | | FIGMA_MCP_STALL_THRESHOLD | 45 | Seconds 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.