Figma MCP

Figma MCP

Enables interaction with Figma files through intelligent API access, providing navigation, asset extraction, and design token retrieval with 95% token-optimized compact tree output format.

Category
Visit Server

README

@alucardeht/figma-mcp

License: MIT

MCP server for Figma API with intelligent context management and token optimization.

v3.0.0 — Compact tree output format with 95% token savings.


Installation

Claude Code

claude mcp add figma -e FIGMA_API_TOKEN=your-token-here -- npx -y github:alucardeht/figma-mcp

Get your Figma Token

  1. Open Figma Settings
  2. Navigate to Personal access tokens
  3. Click Create a new token
  4. Copy the token immediately (it won't be shown again)

Requirements

Figma Plan

The Figma REST API works with any plan, but rate limits differ significantly:

Plan File Access Rate Limit
Starter (Free) 6 requests/month Impractical for real use
Professional Unlimited 120 req/min
Organization Unlimited 480 req/min

Important: Free accounts are limited to 6 API calls per month for file content. This makes the MCP server impractical without a paid plan.

Dev Mode is not required — this MCP uses the REST API, not Dev Mode features.


Features

Compact Tree Output (NEW in v3.0)

  • 95% token reduction: 205k chars → 10k chars for typical landing pages
  • ASCII tree format: Clear hierarchical structure with ├─, └─,
  • Essential info preserved: Positions, dimensions, colors, layouts, overflow indicators

Example output:

Landing page [1440x2462 bg:#f2f2f2]
├─ header [1440x469]
│  ├─ nav [1440x81 row gap:99]
│  │  ├─ logo [155x30 INSTANCE]
│  │  └─ navHeaderLinks [456x49 row gap:8]
│  └─ zipCode [1188x147 bg:#fff radius:20]
├─ aboutContainer [1169x122 row]
│  ├─ aboutBox [391x122 radius:25]
│  └─ aboutBox [408x122 radius:25]
└─ footer [1440x90 row gap:309]

Smart Navigation

  • Name-based access: Use human-readable names, no IDs required
  • Partial matching: "Landing" matches "Landing page"
  • Session state: Maintains context across requests

Asset Management

  • Organized extraction: Assets saved to icons/ and images/ folders
  • Design tokens: Extract colors, typography, effects
  • Configurable screenshots: Scale 1-4x with dimension limits

Available Tools

Navigation

Tool Description
list_pages(file_key) List all pages in a file
list_frames(file_key, page_name) List frames on a page
get_frame_info(file_key, page_name, frame_name, depth?) Get frame structure in compact format
search_components(file_key, query) Find components by name

Extraction

Tool Description
get_screenshot(file_key, page_name, frame_name) Export frame as PNG
extract_styles(file_key, page_name, frame_name) Extract design tokens
extract_assets(file_key, page_name, frame_name) Export SVGs and images
get_file_styles(file_key) List published styles

Session

Tool Description
repeat_last() Replay previous response from cache
get_session_state() View current session state
reset_session() Clear all cached data

Compact Format Reference

The get_frame_info tool returns a compact tree format optimized for LLM context:

element-name [[x,y wxh] attributes]
├─ child [[x,y wxh] attributes]
│  └─ grandchild [wxh attributes]
└─ sibling [wxh attributes]

Attributes shown:

  • bg:#hex — Background color
  • row / col — Layout direction
  • gap:N — Spacing between children
  • radius:N — Border radius
  • shadow — Has drop shadow
  • INSTANCE / VECTOR / TEXT — Node type
  • ↓overflow:Npx — Content overflows bounds

Example Workflow

1. list_pages("h75vgHNcwxfHkRBbI53RRu")
   → ["Home", "Components", "-> Validado"]

2. list_frames(file_key, "Validado")
   → ["Landing page", "Login", "Dashboard"]

3. get_frame_info(file_key, "Validado", "Landing page", depth=4)
   → Compact tree with full structure (165 lines, ~2.5k tokens)

4. extract_assets(file_key, "Validado", "Landing page")
   → icons/icon-1.svg, icons/icon-2.svg, images/hero.png

Rate Limits

Plan Requests/min
Free 120
Professional 240
Organization 480

Use pagination with continue=true to stay within limits.


License

MIT


Issues? Open an issue

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

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.

Official
Featured
Python
graphlit-mcp-server

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.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured