figma-mcp
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 replacement for the official Figma MCP server, adding prototype interaction layer so Claude Code can understand entire user flows from a single Figma URL.
README
@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 |
|---|---|
get_section_frames |
List all frame screens inside a Figma section node |
get_prototype_connections |
Get prototype interactions (trigger + destination) for a node |
get_flow_map |
Build a directed graph of all prototype flows within a section |
get_design_context |
Full design context: XML structure, screenshot, variables, styles |
get_metadata |
Node structure as XML |
get_screenshot |
Base64 PNG screenshot of a node |
get_variable_defs |
Variable definitions (Enterprise) or bound variable references (fallback) |
Requirements
- Node.js 18+
- Figma API key (get one here)
Setup
1. Set your API key
export FIGMA_API_KEY=your_figma_api_key_here
2. 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-100
fileKey=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 test
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.