AgentStack
MCP verified MIT Self-run

Figma Console Mcp

mcp-southleft-figma-console-mcp · by southleft

Your design system as an API. Connect AI to Figma for extraction, creation, and debugging.

No reviews yet
0 installs
30 views
0.0% view→install

Install

$ agentstack add mcp-southleft-figma-console-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Figma Console Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Figma Console MCP Server

[](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/figma-console-mcp) [](https://opensource.org/licenses/MIT) [](https://docs.figma-console-mcp.southleft.com) [](https://github.com/sponsors/southleft)

> Your design system as an API. Model Context Protocol server that bridges design and development—giving AI assistants complete access to Figma for extraction, creation, debugging, and bidirectional token sync.

> 🆕 Accessibility auditing now matches WCAG, not folklore (v1.32.0): figma_lint_design no longer red-flags line height below 1.5× as an accessibility failure. WCAG 1.4.12 Text Spacing only requires that content support a user overriding text spacing without loss — not that designs ship at 1.5× — so a sub-1.5 line height is not a conformance failure. Line and paragraph spacing checks are now scoped to multi-line text (single-line labels, buttons, and headings are exempt), the readability hints are split into an opt-in best-practice group so rules: ['wcag'] stays pure conformance, and the real 1.4.12 check now lives on the code side in figma_scan_code_accessibility. Re-import the plugin once to pick up the new audit behavior. [See what's new →](CHANGELOG.md#1320---2026-06-20)

What is this?

Figma Console MCP connects AI assistants (like Claude) to Figma, enabling:

  • 🎨 Design system extraction - Pull variables, components, and styles
  • 🔁 Bidirectional token sync - Export Figma variables to DTCG JSON + CSS custom properties; push code-side edits back to Figma. Replaces Style Dictionary and Tokens Studio's export pipeline.
  • 📸 Visual debugging - Take screenshots for context
  • ✏️ Design creation - Create UI components, frames, and layouts directly in Figma
  • 🔧 Variable management - Create, update, rename, and delete design tokens
  • 🕰 Version history & time-series awareness - List versions, diff snapshots, generate markdown changelogs, trace property/variant introduction via binary-search blame
  • ⚡ Real-time monitoring - Watch console logs from the Desktop Bridge plugin
  • 📌 FigJam boards - Create stickies, flowcharts, tables, and code blocks on collaborative boards
  • 🎞️ Slides presentations - Build and manage Figma Slides decks programmatically
  • ♿ Accessibility scanning - 14 WCAG design checks with conformance level tagging, component scorecards, axe-core code scanning, design-to-code parity
  • 🛡 Cross-MCP identity - Every tool response carries _mcp: "figma-console-mcp" and errors are prefixed [figma-console-mcp] so attribution stays unambiguous in agents running multiple Figma MCPs
  • ☁️ Cloud Write Relay - Web AI clients (Claude.ai, v0, Replit) can design in Figma via cloud pairing
  • 🔄 Four ways to connect - Remote SSE, Cloud Mode, NPX, or Local Git

⚡ Quick Start

Choose Your Setup

First, decide what you want to do:

| I want to... | Setup Method | Time | |--------------|--------------|------| | Create and modify designs with AI | [NPX Setup](#-npx-setup-recommended) (Recommended) | ~10 min | | Design from the web (Claude.ai, v0, Replit, Lovable) | [Cloud Mode](#-cloud-mode-web-ai-clients) | ~5 min | | Contribute to the project | [Local Git Setup](#for-contributors-local-git-mode) | ~15 min | | Just explore my design data (read-only) | [Remote SSE](#-remote-sse-read-only-exploration) | ~2 min |

⚠️ Important: Capability Differences

| Capability | NPX / Local Git | Cloud Mode | Remote SSE | |------------|-----------------|------------|------------| | Read design data | ✅ | ✅ | ✅ | | Create components & frames | ✅ | ✅ | ❌ | | Edit existing designs | ✅ | ✅ | ❌ | | Manage design tokens/variables | ✅ | ✅ | ❌ | | FigJam boards (stickies, flowcharts) | ✅ | ✅ | ❌ | | Real-time monitoring (console, selection) | ✅ | ❌ | ❌ | | Desktop Bridge plugin | ✅ | ✅ | ❌ | | Requires Node.js | Yes | No | No | | Total tools available | 106 | 95 | 9 |

> Bottom line: Remote SSE is read-only with ~38% of the tools. Cloud Mode unlocks write access from web AI clients without Node.js. NPX/Local Git gives the full 106 tools with real-time monitoring.


🚀 NPX Setup (Recommended)

Best for: Designers who want full AI-assisted design capabilities.

What you get: All 106 tools including design creation, variable management, and component instantiation.

Prerequisites
  • [ ] Node.js 18+ — Check with node --version (Download)
  • [ ] Figma Desktop installed (not just the web app)
  • [ ] An MCP client (Claude Code, Cursor, Windsurf, Claude Desktop, etc.)
Step 1: Get Your Figma Token
  1. Go to Manage personal access tokens in Figma Help
  2. Follow the steps to create a new personal access token
  3. Enter description: Figma Console MCP
  4. Set scopes: File content (Read), File versions (Read), Variables (Read), Comments (Read and write)
  5. Copy the token — you won't see it again! (starts with figd_)
Step 2: Configure Your MCP Client

Claude Code (CLI):

claude mcp add figma-console -s user -e FIGMA_ACCESS_TOKEN=figd_YOUR_TOKEN_HERE -e ENABLE_MCP_APPS=true -- npx -y figma-console-mcp@latest

Cursor / Windsurf / Claude Desktop:

Add to your MCP config file (see [Where to find your config file](#-where-to-find-your-config-file) below):

{
  "mcpServers": {
    "figma-console": {
      "command": "npx",
      "args": ["-y", "figma-console-mcp@latest"],
      "env": {
        "FIGMA_ACCESS_TOKEN": "figd_YOUR_TOKEN_HERE",
        "ENABLE_MCP_APPS": "true"
      }
    }
  }
}
📂 Where to Find Your Config File

If you're not sure where to put the JSON configuration above, here's where each app stores its MCP config:

| App | macOS | Windows | |-----|-------|---------| | Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json | %APPDATA%\Claude\claude_desktop_config.json | | Claude Code (CLI) | ~/.claude.json | %USERPROFILE%\.claude.json | | Cursor | ~/.cursor/mcp.json | %USERPROFILE%\.cursor\mcp.json | | Windsurf | ~/.codeium/windsurf/mcp_config.json | %USERPROFILE%\.codeium\windsurf\mcp_config.json |

> Tip for designers: The ~ symbol means your home folder. On macOS, that's /Users/YourName/. On Windows, it's C:\Users\YourName\. You can open these files in any text editor — even TextEdit or Notepad. > > Can't find the file? If it doesn't exist yet, create it. The app will pick it up on its next restart. Make sure the entire file is valid JSON (watch for missing commas or brackets). > > Claude Code users: You can skip manual editing entirely. Just run the claude mcp add command above and it handles everything for you.

Step 3: Connect to Figma Desktop

Desktop Bridge Plugin:

  1. Open Figma Desktop normally (no special flags needed) and open a file
  2. Go to Plugins → Development → Import plugin from manifest...
  3. Select ~/.figma-console-mcp/plugin/manifest.json (stable path, auto-created by the MCP server)
  4. Run the plugin in your Figma file — it scans ports 9223–9232 and connects automatically to your running MCP server

> Heads-up on plugin updates. Figma caches plugin files (code.js and ui.html) at the application level. The MCP server refreshes the files at ~/.figma-console-mcp/plugin/ on every startup, but Figma keeps using its cached copy until you re-import the manifest. > > Re-importing is required only when a release notes entry says so — typically when the plugin adds a new method the server needs (e.g. v1.22.4, v1.10.0). For most upgrades the new server stays wire-compatible with the previous plugin, and re-importing is optional: you'll still get every functional change, just not the cosmetic plugin-side touches (status-pill copy, pluginVersion reporting). > > When you do re-import: Plugins → Manage plugins → re-import ~/.figma-console-mcp/plugin/manifest.json. The stable path never changes, so it's a one-click step.

Step 4: Restart Your MCP Client

Restart your MCP client to load the new configuration.

Step 5: Test It!
Check Figma status

→ Should show connection status with active WebSocket transport

Create a simple frame with a blue background

→ Should create a frame in Figma (confirms write access!)

📖 [Complete Setup Guide](docs/setup.md)


For Contributors: Local Git Mode

Best for: Developers who want to modify source code or contribute to the project.

What you get: Same 106 tools as NPX, plus full source code access.

Quick Setup
# Clone and build
git clone https://github.com/southleft/figma-console-mcp.git
cd figma-console-mcp
npm install
npm run build:local
Configure Your MCP Client

Add to your config file (see [Where to find your config file](#-where-to-find-your-config-file)):

{
  "mcpServers": {
    "figma-console": {
      "command": "node",
      "args": ["/absolute/path/to/figma-console-mcp/dist/local.js"],
      "env": {
        "FIGMA_ACCESS_TOKEN": "figd_YOUR_TOKEN_HERE",
        "ENABLE_MCP_APPS": "true"
      }
    }
  }
}

Then follow [NPX Steps 3-5](#step-3-connect-to-figma-desktop) above.

📖 [Complete Setup Guide](docs/setup.md)


📡 Remote SSE (Read-Only Exploration)

Best for: Quickly evaluating the tool or read-only design data extraction.

What you get: 9 read-only tools — view data, take screenshots, read logs, design-code parity. Cannot create or modify designs.

Claude Desktop (UI Method)
  1. Open Claude Desktop → SettingsConnectors
  2. Click "Add Custom Connector"
  3. Enter:
  • Name: Figma Console (Read-Only)
  • URL: https://figma-console-mcp.southleft.com/sse
  1. Click "Add" — Done! ✅

OAuth authentication happens automatically when you first use design system tools.

Claude Code

> ⚠️ Known Issue: Claude Code's native --transport sse has a bug. Use mcp-remote instead:

claude mcp add figma-console -s user -- npx -y mcp-remote@latest https://figma-console-mcp.southleft.com/sse

💡 Tip: For full capabilities, use [NPX Setup](#-npx-setup-recommended) instead of Remote SSE.

Other Clients (Cursor, Windsurf, etc.)
{
  "mcpServers": {
    "figma-console": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://figma-console-mcp.southleft.com/sse"]
    }
  }
}
Upgrading to Full Capabilities

Ready for design creation? Follow the [NPX Setup](#-npx-setup-recommended) guide above, or try [Cloud Mode](#-cloud-mode-web-ai-clients) if you don't want to install Node.js.

📖 [Complete Setup Guide](docs/setup.md)


☁️ Cloud Mode (Web AI Clients)

Best for: Using Claude.ai, v0, Replit, or Lovable to create and modify Figma designs — no Node.js required.

What you get: 95 tools including full write access — design creation, variable management, component instantiation, and all REST API tools. Only real-time monitoring (console logs, selection tracking, document changes) requires Local Mode.

Prerequisites
  • [ ] Figma Personal Access TokenCreate one here (starts with figd_)
  • [ ] Figma Desktop with the Desktop Bridge plugin installed (see [Desktop Bridge setup](#step-3-connect-to-figma-desktop))
  • [ ] A web AI client that supports MCP (Claude.ai, Lovable, v0, Replit, etc.)
Step 1: Add the MCP Connector

Add this endpoint to your AI platform's MCP settings:

URL: https://figma-console-mcp.southleft.com/mcp Auth: Your Figma PAT as Bearer token

In Claude.ai: Settings → Connectors → Add Custom Connector → paste the URL above. In Lovable/v0/Replit: Look for "Add MCP Server" or "Integrations" in settings → paste the URL and add your token.

Step 2: Pair the Plugin
  1. Open the Desktop Bridge plugin in Figma Desktop (Plugins → Development → Figma Desktop Bridge)
  2. Tell your AI assistant:

`` Connect to my Figma plugin ``

  1. The AI gives you a 6-character pairing code (expires in 5 minutes)
  2. In the plugin: Toggle "Cloud Mode" → enter the code → click Connect
  3. You're paired! Full write access is now available
What You Can Do

Once paired, use natural language to design:

Create a card component with a header image, title, description, and action button
Set up a color token collection with Light and Dark modes
Add a "High Contrast" mode to my existing token collection
How It Works

Your AI client sends write commands through the cloud MCP server, which relays them via WebSocket to the Desktop Bridge plugin running in your Figma Desktop. The plugin executes the commands using the Figma Plugin API and returns results back through the same path.

AI Client → Cloud MCP Server → Durable Object Relay → Desktop Bridge Plugin → Figma

> Variables on any plan: Cloud Mode uses the Plugin API (not the Enterprise REST API), so variable management works on Free, Pro, and Organization plans.

📖 [Complete Setup Guide](docs/setup.md)


📊 Installation Method Comparison

| Feature | NPX (Recommended) | Cloud Mode | Local Git | Remote SSE | |---------|-------------------|------------|-----------|------------| | Setup time | ~10 minutes | ~5 minutes | ~15 minutes | ~2 minutes | | Total tools | 106 | 95 | 106 | 9 (read-only) | | Design creation | ✅ | ✅ | ✅ | ❌ | | Variable management | ✅ | ✅ | ✅ | ❌ | | Component instantiation | ✅ | ✅ | ✅ | ❌ | | FigJam boards | ✅ | ✅ | ✅ | ❌ | | Real-time monitoring | ✅ | ❌ | ✅ | ❌ | | Desktop Bridge plugin | ✅ | ✅ | ✅ | ❌ | | Variables (no Enterprise) | ✅ | ✅ | ✅ | ❌ | | Console logs | ✅ (zero latency) | ❌ | ✅ (zero latency) | ✅ | | Read design data | ✅ | ✅ | ✅ | ✅ | | Requires Node.js | Yes | No | Yes | No | | Authentication | PAT (manual) | OAuth (automatic) | PAT (manual) | OAuth (automatic) | | Automatic updates | ✅ (@latest) | ✅ | Manual (git pull) | ✅ | | Source code access | ❌ | ❌ | ✅ | ❌ |

> Key insight: Remote SSE is read-only. Cloud Mode adds write access for web AI clients without Node.js. NPX/Local Git give the full 106 tools.

📖 [Complete Feature Comparison](docs/mode-comparison.md)


🎯 Test Your Connection

After setup, try these prompts:

Basic test (all modes):

Navigate to https://www.figma.com and check status

Design system test (requires auth):

Get design variables from [your Figma file URL]

Cloud Mode test:

Connect to my Figma plugin

→ Follow the pairing flow, then try: "Create a simple blue rectangle"

Plugin test (Local Mode only):

Show me the primary font for [your theme name]

🔐 Authentication

Remote Mode - OAuth (Automatic)

When you first use design system tools:

  1. Browser opens automatically to Figma authorization page
  2. Click "Allow" to authorize (one-time)
  3. Token stored securely and refreshed automatically
  4. Works with Free, Pro, and Enterprise Figma plans

Local Mode - Personal Access Token (Manual)

  1. Visit https://help.figma.com/hc/en-us/articles/8085703771159-Manage-personal-access-tokens
  2. Generate token with scopes: File content (Read), File versions (Read), Variables (Read), Comments (Read and write)
  3. Add to MCP config as FIGMA_ACCESS_TOKEN environment variable

🛠️ Available Tools

Status & Diagnostics

  • figma_get_status - Check WebSocket bridge connection and file context
  • figma_diagnose - Designer-readable health check + setup guidance
  • figma_reconnect - Force reconnect to th

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.