Figma Local MCP
Provides read-only access to the currently open Figma file, enabling agents to inspect designs, layout, text, styles, components, variable bindings, local variable collections, node screenshots, and node exports as PNG, SVG, JPG, or PDF.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Figma Local MCP
Let coding agents read designs, variables and node screenshots from the currently open Figma file, through a Figma desktop plugin and a local MCP service. Uses the Figma Plugin API — no Figma REST API, no official MCP quota consumption.
Currently read-only: design queries and local exports. It does not modify Figma files.
Requirements
macOS
Figma desktop app
Node.js 22 or newer
pnpm
Related MCP server: FreeMCP for Figma
Install
pnpm install --frozen-lockfile
pnpm run install:localAfter the first install, in the Figma desktop app choose Plugins → Development → Import plugin from manifest... and select:
~/figma-local-mcp-app/manifest.jsonThen run Plugins → Development → Figma Local MCP Bridge and wait until the plugin shows the local service is connected. Keep the plugin window open while using it; you can collapse it to a mini bar.
The installer creates:
MCP command:
~/.local/bin/figma-local-mcpLocal config:
~/.local/share/figma-local-mcp/config.jsonExport directory:
~/.local/share/figma-local-mcp/exportsFigma plugin:
~/figma-local-mcp-app
Make sure ~/.local/bin is on your PATH. Moving the source directory does not affect the installed command or plugin.
Configure your agent
Claude Code can register the command directly — no absolute source paths:
claude mcp add --scope user figma-local -- figma-local-mcpOther stdio MCP clients can use the equivalent config:
{
"mcpServers": {
"figma-local": {
"command": "figma-local-mcp",
"args": []
}
}
}Each client starts its own MCP process and reuses the same local bridge. Do not put the plugin token into MCP config.
Usage
Select a layer in Figma.
Click "Copy node prompt", or press
Cmd/Ctrl + Shift + C. Copy also works while collapsed.Paste the prompt straight into any agent configured with
figma-local.
The plugin shows the current selection live. With no selection or multiple layers selected, copy is disabled.
The UI language follows your system locale (Chinese for zh*, English otherwise) and can be switched with the toggle in the plugin header; the choice is remembered. The copied prompt template and runtime messages follow the same language.
MCP tools:
get_plugin_status: check plugin connection and current selection.get_selection: read the current selection.get_design_context: read layout, text, styles, components and variable bindings.get_variable_defs: read local variable collections.get_screenshot: get a PNG screenshot of a node.export_node: export a node as PNG, SVG, JPG or PDF.
Update
pnpm run check
pnpm run install:localAfter updating, rerun the plugin in Figma — no manifest re-import, no MCP config changes.
Development
pnpm run typecheck # TypeScript type check
pnpm run build # Build MCP service and plugin into dist/
pnpm run check # Type check and build
pnpm test # Unit and integration tests (vitest)
pnpm test:coverage # Tests with coverage report
pnpm start # Start the MCP service over stdioMain directories:
src/plugin/: Figma plugin and its UI.src/server/: MCP service and local bridge.src/shared/: protocol types shared by plugin and server.scripts/: build and local install scripts.tests/: unit and integration tests.
Tests cover node serialization truncation, plugin command execution, plugin pure helpers, local config validation, bridge auth/command queue/timeouts/multi-instance reuse, and MCP tool parameter validation with export file writing. Tests use sandbox directories and random loopback ports — they never touch your real config or running services. The plugin UI and polling orchestration still need manual verification in the Figma desktop app. After changes, run at least pnpm run check and pnpm test, and verify selection sync, prompt copy and MCP node reads in Figma.
CI and releases
Pushes and PRs to main run type check, build and tests on GitHub Actions (.github/workflows/ci.yml).
Releases are triggered by tags:
# 1. Bump the version in all three places (package.json, scripts/build.mjs, src/server/index.ts)
# 2. Add a matching section to CHANGELOG.md (it becomes the release body)
# 3. Commit and merge into main
# 4. Tag and push
git tag v0.3.0
git push origin v0.3.0On a v* tag, release.yml verifies the tag matches package.json, that CHANGELOG.md has the matching section, then runs pnpm check and pnpm test. If everything passes it creates the GitHub Release with the CHANGELOG section as the body, plus auto-generated change lists. Mismatched versions, a missing CHANGELOG section or failing tests block the release (both invariants are also guarded by tests).
Releases never attach build artifacts: plugin builds embed the local token and must not be distributed; users install from source per this README.
Local data and security
The bridge listens on 127.0.0.1:3846 only, and the plugin authenticates with a random token. The token lives in the user data directory and is never committed; it is baked into the plugin build under dist/, which is why dist/ stays Git-ignored.
This service never uploads design data to remote servers. How MCP clients and models handle returned content is outside this service's control.
License
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
The Figma MCP server brings Figma design context directly into your AI workflow.
Serves your design system and coding standards to coding agents, so they stop guessing.
Connect AI assistants to your approved computer for files, commands, browser and desktop tasks.
A design agent in your coding agent's loop: briefs each screen, reviews UX and visual quality.
Related MCP Servers
- FlicenseCqualityDmaintenanceLocal bridge enabling AI agents to inspect and edit the currently open Figma Desktop file through the Figma Plugin API.292-
- AlicenseNot gradedqualityDmaintenanceEnables AI coding agents to read and write a user's Figma file through the Figma Plugin API, offline and privately, without API tokens or rate limits.88 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to inspect Figma selections, navigate pages, render previews, generate starter code, and submit user-approved canvas edits through a local bridge.3 npmMIT
- AlicenseAqualityBmaintenanceEnables an agent to read, edit, and build Figma designs from scratch — including style guides, variables, components, and screens — through a local plugin bridge to the open file's Plugin API, with no Figma token or REST API calls.2122 npm1MIT