Figma MCP Server

Brings Figma designs directly into MCP-compatible environments

README.md

Figma MCP Server

A Model Context Protocol (MCP) server that brings Figma designs directly into Claude Code. View design specifications, export frames as images, and reference visual context without leaving your development environment.

Overview

Implementing designs accurately requires constant reference to Figma. This MCP server eliminates context switching by:

  • Fetching design information - Get file names, frame details, and dimensions
  • Exporting images - Download frames as high-resolution PNGs
  • Smart section splitting - Large frames are automatically split into readable sections
  • Seamless integration - Works standalone or integrated with jira-mcp

Features

Feature Description
Design Info File name, last modified, frame dimensions
Image Export Export frames as PNG, SVG, JPG, or PDF
Auto-Scaling 2x scale by default for retina clarity
Section Detection Large frames split into individual sections
Batch Export Export multiple frames efficiently
URL Parsing Supports file, design, and prototype URLs

Installation

Prerequisites

  • Node.js 18+
  • Claude Code CLI
  • Figma account with API access

Step 1: Add to Claude Code

claude mcp add --transport stdio figma -- npx -y @rui.branco/figma-mcp

Step 2: Get Your Figma Token

  1. Go to Figma Account Settings
  2. Scroll down to "Personal access tokens"
  3. Click "Generate new token"
  4. Enter a description (e.g., "Claude Code MCP")
  5. Click "Generate token"
  6. Copy the token (you won't be able to see it again)

Step 3: Configure Credentials

Run the setup with your token:

npx @rui.branco/figma-mcp setup "YOUR_FIGMA_TOKEN"

Or run interactively (will prompt for the token):

npx @rui.branco/figma-mcp setup

Step 4: Verify

Restart Claude Code and run /mcp to verify the server is connected.

Alternative: Manual Installation

If you prefer to install manually:

git clone https://github.com/rui-branco/figma-mcp.git ~/.config/figma-mcp
cd ~/.config/figma-mcp && npm install
node setup.js

Then add to Claude Code:

claude mcp add --transport stdio figma -- node $HOME/.config/figma-mcp/index.js

Usage

Fetch a Design

> Get this Figma design: https://www.figma.com/design/ABC123/MyProject?node-id=1-234

Example Output

# Figma File: MyProject

**Last Modified:** 2025-01-15T10:30:00Z

## Selected Frame: Login Screen

**Type:** FRAME
**Size:** 1440 x 900

### Sections (4):
- **Header** (FRAME, 1440x80)
- **Login Form** (FRAME, 400x350)
- **Footer** (FRAME, 1440x60)
- **Background** (FRAME, 1440x900)

### Exported Sections:
- Header: ~/.config/figma-mcp/exports/ABC123_1_234.png
- Login Form: ~/.config/figma-mcp/exports/ABC123_1_235.png
- Footer: ~/.config/figma-mcp/exports/ABC123_1_236.png

[Images displayed inline]

Smart Section Export

For large frames (>1500px wide or >2000px tall), the server automatically:

  1. Detects child frames, components, and groups
  2. Exports each section separately at 2x scale
  3. Provides better detail than a single compressed image
  4. Limits to 10 sections by default (configurable)

This is especially useful for:

  • Full-page designs with multiple sections
  • Component libraries
  • Design system documentation

API Reference

Tools

Tool Description Parameters
figma_get_design Fetch design from URL url (required), exportImage, exportChildren, maxChildren, scale
figma_export_frame Export specific frame fileKey, nodeId (required), format, scale

Parameters

Parameter Default Description
exportImage true Export images
exportChildren true Split large frames into sections
maxChildren 10 Maximum sections to export
scale 2 Export scale (1-4)
format png Export format (png, svg, jpg, pdf)

Configuration

Config stored at ~/.config/figma-mcp/config.json:

{
  "token": "YOUR_FIGMA_TOKEN"
}

Error Handling

The server provides clear error messages:

Error Meaning Solution
Rate limit exceeded Too many API requests Wait a few minutes
Access denied Invalid token or no file access Check token permissions
File not found Invalid URL or deleted file Verify the Figma URL

Integration with Jira MCP

When used alongside jira-mcp:

  1. Figma links in Jira tickets are automatically detected
  2. Designs are fetched without manual intervention
  3. Images appear inline with ticket context

This creates a seamless workflow:

> Get ticket PROJ-123

# Returns ticket details + auto-fetc

Tools 2

figma_get_designFetch design from URL
figma_export_frameExport specific frame

Environment Variables

FIGMA_TOKENrequiredPersonal access token for Figma API authentication

Try it

Get this Figma design: https://www.figma.com/design/ABC123/MyProject?node-id=1-234
Export the login screen frame from the provided Figma URL as a PNG.
Fetch the design specifications for the header section of this Figma file.
Can you show me the dimensions and details for the main frame in this Figma link?

Frequently Asked Questions

What are the key features of Figma MCP Server?

Fetch file names, frame details, and dimensions from Figma. Export frames as high-resolution PNG, SVG, JPG, or PDF. Smart section splitting for large frames. Automatic 2x scaling for retina clarity. Seamless integration with Jira-MCP for ticket-linked designs.

What can I use Figma MCP Server for?

Referencing design specifications directly while coding components. Exporting high-resolution design assets for documentation. Reviewing full-page designs by splitting them into manageable sections. Automatically fetching design context from Jira tickets during development.

How do I install Figma MCP Server?

Install Figma MCP Server by running: claude mcp add --transport stdio figma -- npx -y @rui.branco/figma-mcp

What MCP clients work with Figma MCP Server?

Figma MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Figma MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Open Conare