figma-mcp
Provides tools to extract prototype flow data, screen lists, prototype connections, and full flow maps from Figma files via the Figma REST API. Supports retrieving section frames, prototype interactions, directed graphs of flows, design context (XML structure, screenshot, variables, styles), node metadata, screenshots, and variable definitions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@figma-mcp Show me the prototype flow map for the main section"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@devheerim/figma-mcp
English | 한국어
Enhanced Figma MCP Server that exposes prototype flow data — screen lists, prototype connections, and full flow maps — via the Figma REST API.
Designed as a complete replacement for the official https://mcp.figma.com/mcp, adding the missing prototype interaction layer so Claude Code can understand entire user flows from a single Figma URL.
Features
Tool | Description |
| List all frame screens inside a Figma section node |
| Get prototype interactions (trigger + destination) for a node |
| Build a directed graph of all prototype flows within a section |
| Full design context: XML structure, screenshot, variables, styles |
| Node structure as XML |
| Base64 PNG screenshot of a node |
| Variable definitions (Enterprise) or bound variable references (fallback) |
Related MCP server: genable-mcp
Requirements
Node.js 18+
Figma API key (get one here)
Setup
1. Set your API key
export FIGMA_API_KEY=your_figma_api_key_here2. Register in .mcp.json
Add to your project's .mcp.json (or ~/.claude/mcp.json):
{
"mcpServers": {
"figma": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@devheerim/figma-mcp"],
"env": {
"FIGMA_API_KEY": "${FIGMA_API_KEY}"
}
}
}
}Usage
Get all screens in a section
get_section_frames(fileKey: "abc123", sectionNodeId: "24626:100")Returns a list of frame nodes directly inside the section.
Get prototype connections from a screen
get_prototype_connections(fileKey: "abc123", nodeId: "24626:6637")Returns connections like:
{
"connections": [
{
"trigger": "ON_CLICK",
"action": "NAVIGATE",
"destinationId": "24626:6654",
"destinationName": "Next Screen"
}
]
}Get the full flow map of a section
get_flow_map(fileKey: "abc123", nodeId: "24626:100")Returns a directed graph:
{
"nodes": [{ "id": "24626:6637", "name": "Home" }, ...],
"edges": [{ "from": "24626:6637", "to": "24626:6654", "trigger": "ON_CLICK", "action": "NAVIGATE" }],
"entryPoints": ["24626:6637"]
}Figma URL → IDs
Given a URL like:
https://www.figma.com/design/AbCdEfGhIjKl/MyApp?node-id=24626-100fileKey=AbCdEfGhIjKlnodeId=24626:100(replace-with:)
How to find IDs in Figma
Open your Figma file
Right-click a section or frame → Copy link
Extract
node-idfrom the URL and replace-with:
Rate limits
Figma API rate limits are handled automatically:
Nodes API: 30 req/min
Images API: 10 req/min
Exponential backoff with
Retry-Afterheader support (capped at 60s)
Variables API
The get_variable_defs tool requires a Figma Enterprise plan for full variable resolution. On non-Enterprise plans, it automatically falls back to returning boundVariables references from the node data.
Development
git clone https://github.com/devheerim/figma-mcp
cd figma-mcp
npm install
npm run build
npm testLicense
MIT
Available Tools
7 toolsget_design_contextC
Get design context including styles, components, and layout for a node
Inputs: nodeId (required), fileKey (required).
get_flow_mapC
Get a map of prototype flows within a file or section
Inputs: nodeId (required), fileKey (required).
get_metadataC
Get metadata for a Figma node
Inputs: nodeId (required), fileKey (required).
get_prototype_connectionsC
Get prototype interaction connections for a node
Inputs: nodeId (required), fileKey (required).
get_screenshotB
Get a screenshot (image export) of a Figma node
Inputs: nodeId (required), fileKey (required).
get_section_framesA
Get a hierarchical tree of sections and frames within a section node. Nested sections are returned as children, making it easy to understand the structure for scoping work (e.g. splitting PRs by section).
Inputs: fileKey (required), sectionNodeId (required), depth.
get_variable_defsC
Get variable definitions from a Figma file
Inputs: fileKey (required), nodeId.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool addresses a recognizable retrieval need—structure, metadata, design styles, screenshots, variables, and prototype flows—so misselection is unlikely. The main fuzziness is between get_metadata and get_design_context, but their descriptions separate generic node metadata from design-specific context.
All seven tools use the exact get_<resource> snake_case convention with no verb changes or mixed styles. This makes the API surface highly predictable.
Seven focused read-only retrieval tools is well within the ideal range for a Figma context server. Each tool covers a distinct aspect of design exploration without redundancy or bloat.
The set covers structure, node metadata, design context, screenshots, variables, and prototype flows, which covers the core read/analysis workflows. It does not include mutation or collaboration features, but the get_* surface appears intentionally scoped rather than incomplete.
Related MCP Connectors
The Figma MCP server brings Figma design context directly into your AI workflow.
Official Fibery MCP server: query and update your workspace from any AI client via OAuth.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceA Model Context Protocol (MCP) server that enables Claude to create and manipulate designs in Figma through either a Figma plugin or directly via the Figma API.-
- AlicenseAqualityDmaintenanceWrite-side MCP server for Figma — build, edit, and search Figma designs from Claude Code, Cursor, Cline, or any MCP client. Complements Figma's official read-only MCP with 41 tools for tree creation, variables, components, and visual verification.413MIT
- AlicenseNot gradedqualityDmaintenanceRead-only Figma MCP server that enables design-to-code workflows by talking to the Figma REST API with a personal access token, for use with Claude Code and GitHub Copilot.2,341 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that bridges Claude to Figma, enabling read access via REST and full create/edit capabilities through the Figma Plugin API over a local WebSocket.20 npmMIT