Figma Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Figma Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
| 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) |
export FIGMA_API_KEY=your_figma_api_key_here.mcp.jsonAdd 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}"
}
}
}
}get_section_frames(fileKey: "abc123", sectionNodeId: "24626:100")Returns a list of frame nodes directly inside the section.
get_prototype_connections(fileKey: "abc123", nodeId: "24626:6637")Returns connections like:
{
"connections": [
{
"trigger": "ON_CLICK",
"action": "NAVIGATE",
"destinationId": "24626:6654",
"destinationName": "Next Screen"
}
]
}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"]
}Given a URL like:
https://www.figma.com/design/AbCdEfGhIjKl/MyApp?node-id=24626-100fileKey = AbCdEfGhIjKlnodeId = 24626:100 (replace - with :)node-id from the URL and replace - with :Figma API rate limits are handled automatically:
Retry-After header support (capped at 60s)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.
git clone https://github.com/devheerim/figma-mcp
cd figma-mcp
npm install
npm run build
npm testMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.