Installation Methods & Execution Modes - Complete Comparison
This document clarifies the differences between installation methods and execution modes to help you choose the right setup.Understanding the Architecture
The MCP server has three execution modes and four setup methods:Execution Modes (Where Code Runs)
- Remote Mode - Runs in Cloudflare Workers (cloud, read-only)
- Cloud Mode - Runs in Cloudflare Workers + Cloud Write Relay (cloud, read/write)
- Local Mode - Runs on your machine (Node.js, full capabilities)
Setup Methods (How You Connect)
- Remote SSE/HTTP - URL-based connection (uses Remote Mode, read-only)
- Cloud Mode - Remote endpoint + Cloud Write Relay via Desktop Bridge plugin (uses Cloud Mode)
- NPX - npm package distribution (uses Local Mode)
- Local Git - Source code clone (uses Local Mode)
Authentication Methods (How You Authenticate)
- OAuth - Automatic browser-based auth (Remote SSE only)
- Personal Access Token (PAT) - Bearer token (Remote
/mcpendpoint, Cloud Mode) - Personal Access Token (PAT) - Environment variable (NPX + Local Git)
- Pairing Code - 6-character code to connect Desktop Bridge plugin to cloud relay (Cloud Mode only)
π― Quick Decision Guide
β οΈ Critical: Tool Count Differences
Bottom line: Remote mode is read-only (9 tools). Cloud Mode adds write access (101 tools) without Node.js. Local has everything (114 tools) including real-time monitoring.
Use NPX Setup (Recommended for Most Users)
- β All 114 tools including design creation and real-time monitoring
- β
Automatic updates with
@latest - β Desktop Bridge Plugin support (recommended connection β no debug flags needed)
- β Variables without Enterprise plan
- β οΈ Requires Node.js 18+ and
FIGMA_ACCESS_TOKEN(manual, one-time)
Use Cloud Mode (Web AI Clients)
- β 101 tools β full write access (create, edit, delete) plus REST API reads
- β No Node.js required β only Figma Desktop with the Desktop Bridge plugin
- β Works with Claude.ai, v0, Replit, Lovable, any MCP-capable web platform
- β Variables without Enterprise plan (via Plugin API)
- β οΈ Requires pairing the Desktop Bridge plugin via a 6-character code
- β No real-time selection tracking, document changes, or console streaming
Use Local Git (For Contributors)
- β All 114 tools including design creation
- β Full source code access
- β Modify and test changes
- β οΈ Requires
FIGMA_ACCESS_TOKEN(manual) - β οΈ Manual updates via
git pull && npm run build
Use Remote Mode (Read-Only Exploration)
- β TRUE zero-setup - Just paste a URL
- β OAuth authentication - No manual tokens
- β Works without Figma Desktop restart
- β Only 9 tools β cannot create or modify designs
- β Cannot use Desktop Bridge plugin
- β Variables require Enterprise plan
Setup Methods Comparison
Feature Availability Matrix
Legend
- β Available
- β Not Available
- β οΈ Limited/Conditional
Architecture Comparison
Remote Mode Architecture (Read-Only)
- Headless browser runs in Cloudflareβs infrastructure (Browser Rendering API)
- Cannot access
localhoston your machine - OAuth tokens stored in Cloudflare KV
- ~10-30s cold start for first request
- 9 read-only tools (REST API reads, console/screenshot/navigate via headless browser)
Cloud Mode Architecture (Read/Write via Relay)
- No Node.js required β relay runs entirely in Cloudflare Workers
- Desktop Bridge plugin connects to the cloud relay via WebSocket
- Pairing flow: AI generates 6-character code β user enters in plugin β connected
- 101 tools available after pairing β write/manipulation + REST API reads + design system + slides + figjam + annotations + comments + version history
- Variables work on any Figma plan (uses Plugin API, not Enterprise REST API)
- Pairing code expires after 5 minutes
Local Mode Architecture (Full Capabilities)
- Install the Desktop Bridge Plugin once β no debug flags needed
- Server automatically selects an available port (9223β9232) for multi-instance support
- All 114 tools work through WebSocket
- Plugin can access local variables (no Enterprise API needed)
- Instant console log capture via WebSocket
- Real-time selection tracking and document change monitoring
Tool Availability by Mode
Core Tools Available in Both Modes
Key Differences
Variables API:- Remote Mode: Requires Figma Enterprise plan for Variables API
- Local Mode: Can bypass Enterprise requirement using Desktop Bridge plugin
- Remote Mode: Figma REST API has known bugs (descriptions often missing)
- Local Mode: Desktop Bridge plugin uses
figma.getNodeByIdAsync()(reliable)
Prerequisites & Setup Time
Remote (Read-Only)
Prerequisites: None Setup Time: 2 minutes Steps:- Open Claude Desktop β Settings β Connectors
- Click βAdd Custom Connectorβ
- Paste URL:
https://figma-console-mcp.southleft.com/sse - Done β (OAuth happens automatically on first API use)
Cloud Mode
Prerequisites:- Figma Desktop installed
- Desktop Bridge plugin imported and running in your file
- A web AI client connected to
https://figma-console-mcp.southleft.com/mcp(with Figma PAT as Bearer token)
- Connect your web AI client to the
/mcpendpoint with your Figma PAT - Tell your AI to connect to your Figma plugin (natural language)
- AI generates a 6-character pairing code
- In the Desktop Bridge plugin, toggle βCloud Modeβ and enter the code
- Done β β 101 tools with full write access
NPX
Prerequisites:- Node.js 18+
- Figma Desktop installed
- Figma Personal Access Token (get one)
- Get Figma Personal Access Token
- Add to MCP config with
FIGMA_ACCESS_TOKENenv var - Install the Desktop Bridge Plugin (one-time β Plugins β Development β Import from manifest)
- Restart your MCP client
Local Git
Prerequisites:- Node.js 18+
- Git
- Figma Desktop installed
- Figma Personal Access Token (get one)
- Clone repository:
git clone https://github.com/southleft/figma-console-mcp.git - Run
npm install && npm run build:local - Get Figma Personal Access Token
- Configure MCP client JSON config with path to
dist/local.js - Set
FIGMA_ACCESS_TOKENenvironment variable - Install the Desktop Bridge Plugin (one-time β Plugins β Development β Import from manifest)
- Restart your MCP client
Authentication Comparison
Remote SSE - OAuth (Automatic) β Simplest
Method: Remote read-only mode (SSE endpoint) How it works:- First design system tool call triggers OAuth
- Browser opens automatically to Figma authorization page
- User authorizes app (one-time)
- Token stored in Cloudflare KV (persistent across sessions)
- Automatic token refresh when expired
- β TRUE zero-setup - No manual token creation
- β Per-user authentication
- β Automatic token refresh
- β Works with Free, Pro, and Enterprise Figma plans
- β οΈ Requires internet connection
- β οΈ Initial authorization flow required (one-time)
- β Read-only β no write access
Cloud Mode - PAT + Pairing Code
Method: Cloud Mode with write relay How it works:- User creates PAT and provides it as Bearer token when connecting to
/mcpendpoint - AI generates a 6-character pairing code (valid for 5 minutes)
- User enters code in Desktop Bridge plugin (Cloud Mode toggle)
- Relay authenticates the plugin-to-cloud connection
- All write operations flow through the authenticated relay
- β Write access without Node.js
- β Pairing code adds a second factor of trust (plugin must be in the right file)
- β Variables on any Figma plan via Plugin API
- β Manual PAT creation required
- β Pairing code expires after 5 minutes
- β οΈ Must re-pair if connection drops
NPX + Local Git - Personal Access Token (Manual)
Method: Both NPX and Local Git modes How it works:- User creates PAT at https://help.figma.com/hc/en-us/articles/8085703771159-Manage-personal-access-tokens
- Set as
FIGMA_ACCESS_TOKENenvironment variable in MCP config - MCP server uses PAT for all API calls
- No automatic refresh (token valid for 90 days)
- β Works offline (for console debugging)
- β No browser-based OAuth flow
- β Simpler for single-user setups
- β Full 114 tools including real-time monitoring
- β Manual token creation required
- β Must manually refresh every 90 days
- β Single shared token (no per-user auth)
- β Requires Desktop Bridge Plugin (one-time import)
Figma Desktop Bridge Plugin
Required for Both Local Mode and Cloud Mode
The Desktop Bridge Plugin is the bridge between Figma and the MCP server. It communicates via WebSocket β no special Figma launch flags needed, and it persists across Figma restarts.- Local Mode: Plugin connects directly to the local MCP server via WebSocket (ports 9223-9232)
- Cloud Mode: Plugin connects to the Cloudflare relay via WebSocket after pairing with a 6-character code
- Open Figma Desktop (normal launch β no debug flags needed)
- Go to Plugins β Development β Import plugin from manifestβ¦
- Select
figma-desktop-bridge/manifest.jsonfrom the figma-console-mcp directory - Run the plugin in your Figma file β it auto-connects via WebSocket
One-time import. Once imported, the plugin stays in your Development plugins list.What the plugin provides:
Local Mode Transport: The server automatically selects an available port in the range 9223β9232, supporting multiple simultaneous MCP instances. All 114 tools work through the WebSocket transport.
Cloud Mode Transport: The plugin connects to the Cloudflare relay after pairing. Write operations are relayed from the cloud MCP server through the Durable Object to the plugin. 101 tools are available.
Plugin Does NOT Work with Remote Read-Only Mode
Remote read-only mode runs in Cloudflare Workers which cannot connect tolocalhost on your machine. The Desktop Bridge Plugin requires either a local MCP server (NPX or Local Git) or Cloud Mode pairing.
When to Switch Modes
Switch from Remote (read-only) β Cloud Mode if:
- β You need to create or modify designs from a web AI client
- β You need variables but donβt have Enterprise plan
- β Component descriptions are missing in API responses
Switch from Remote (read-only) β NPX/Local Git if:
- β You need real-time selection tracking or document change monitoring
- β Youβre developing Figma plugins (need console log streaming)
- β You need the full 94-tool set
- β You need offline access
Switch from Cloud Mode β NPX/Local Git if:
- β You need real-time selection tracking or document changes
- β You need console log streaming
- β You need MCP Apps (Token Browser, Design System Dashboard)
- β Connection drops between AI turns are disruptive to your workflow
Switch from NPX/Local Git β Cloud Mode if:
- β You want to use web AI clients (Claude.ai, v0, Replit, Lovable)
- β You donβt need real-time monitoring features
- β You canβt or donβt want to install Node.js
Switch from NPX/Local Git β Remote (read-only) if:
- β You got Enterprise plan (Variables API now available)
- β Youβre no longer developing plugins
- β You want zero-maintenance OAuth setup
- β You want per-user authentication
- β You only need read access
Switch from NPX β Local Git if:
- β You want to modify source code
- β You want to test unreleased features
- β Youβre developing the MCP server itself
Switch from Local Git β NPX if:
- β You donβt need source code access
- β You want automatic updates
- β You want simpler distribution (no git operations)
Cost Comparison
All setup methods are completely free:Remote / Cloud Mode (Free - Hosted by Project)
- β Free to use
- β Hosted on Cloudflare Workers
- β No infrastructure costs for users
- β οΈ Shared rate limits (fair use)
NPX (Free - Self-Hosted)
- β Free to use
- β Runs on your machine
- β No external dependencies after setup
- β οΈ Uses your CPU/memory
Local Git (Free - Self-Hosted)
- β Free to use
- β Runs on your machine
- β Full source code access
- β οΈ Uses your CPU/memory
Troubleshooting by Mode
Remote Mode Common Issues
- βOAuth authentication failedβ β Try re-authenticating via auth_url
- βBrowser connection timeoutβ β Cold start (wait 30s, try again)
- βVariables API 403 errorβ β Enterprise plan required (use Cloud Mode or Local Mode instead)
Cloud Mode Common Issues
- Pairing code expired β Ask your AI to generate a new pairing code (codes expire after 5 minutes)
- Connection drops between AI turns β Re-pair by asking your AI to reconnect and entering a fresh code in the plugin
- βCloud Modeβ toggle not visible β Re-import the manifest from
~/.figma-console-mcp/plugin/manifest.jsonto refresh Figmaβs cached plugin code (Cloud Mode was added in v1.12.0) - Plugin shows βDisconnectedβ in Cloud Mode β Check your internet connection; the relay requires both the plugin and the cloud server to be online
- Write operations not working β Verify the Desktop Bridge plugin is running in the file you want to modify
Local Mode Common Issues
- βFailed to connect to Figma Desktopβ β Install the Desktop Bridge Plugin (Plugins β Development β Import from manifest) and run it in your file
- βNo plugin UI foundβ β Make sure the Desktop Bridge Plugin is running in your Figma file
- βVariables cache emptyβ β Close and reopen Desktop Bridge plugin
- Plugin shows βDisconnectedβ β Make sure the MCP server is running (start/restart your MCP client)
Summary
For most users: Start with NPX Setup β- All 114 tools including design creation and real-time monitoring
- Automatic updates with
@latest - Desktop Bridge plugin support
- Variables without Enterprise plan
- You use web AI clients (Claude.ai, v0, Replit, Lovable)
- You need write access but canβt install Node.js
- You donβt need real-time selection/document tracking
- Youβre developing the MCP server
- You want to modify source code
- You need unreleased features
- Youβre testing changes before contributing
- You just want to explore/evaluate the tool
- You only need read-only access to design data
- You want zero-setup experience
- You donβt need design creation capabilities
- Remote (read-only): 9 tools β view data, screenshots, design system extraction
- Cloud Mode: 101 tools β adds full write access (create, edit, delete) via relay
- Local Mode (NPX/Git): 114 tools β adds real-time monitoring (selection, changes, console)
- Remote: Cannot create, modify, or delete anything in Figma
- Cloud: Full design creation and variable management via the Desktop Bridge relay
- Local: Everything in Cloud, plus real-time selection tracking, document change monitoring, and console log streaming