Figma MCP Server
LocalAbout Figma MCP Server
Figma MCP Server exposes Figma’s non-deprecated REST API to MCP clients, for workflows involving Figma files, design systems, collaboration, and organization data. It builds self-describing tools from endpoint definitions and validates required parameters before calls.
Key features
- 01Coverage of non-deprecated Figma REST endpoints
- 0250 tools discovered from endpoint definitions
- 03Validation of required parameters
- 04stdio transport
Use cases
- 01Inspect files, nodes, and version history
- 02Read and modify design variables
- 03Manage components, styles, comments, and folders
- 04Query webhooks and organization activity
MCP support
It exposes Figma REST API endpoints as self-describing MCP tools over stdio. Clients provide a Figma personal access token through FIGMA_API_KEY.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y figma-mcp-serverFIGMA_API_KEYSecretFigma personal access tokenLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEFigma MCP Server
A local MCP server with full Figma REST API coverage. Works with Claude Desktop, Cursor, VS Code, the Gemini CLI, and any MCP client. Available on npm and the official MCP Registry.
How it works
Each Figma REST endpoint is exposed as one self-describing MCP tool, auto-discovered at startup from tools/figma/, so adding an endpoint is just adding a file. Required parameters are validated before each call. It runs over stdio.
Prerequisites
Requires Bun ≥ 1.2. It's Bun-native, so launch it with bunx, not npx (Node isn't supported).
Figma API key
Create a personal access token in Figma under Settings > Security > Personal access tokens > Generate new token. Provide it as FIGMA_API_KEY, ideally in your client config's env block (see below).
Configure your client
Every client uses the same server. Point command at bunx, or its absolute path (which bunx) if the client cannot find it on PATH.
{
"mcpServers": {
"figma": {
"command": "bunx",
"args": ["figma-mcp-server"],
"env": {
"FIGMA_API_KEY": "your_figma_api_key_here"
}
}
}
}
Config file locations:
- Claude Desktop: Settings > Developer > Edit Config (
claude_desktop_config.json) - Cursor:
~/.cursor/mcp.json, or.cursor/mcp.jsonper project - Gemini CLI:
~/.gemini/settings.json
Restart the client after editing its config.
VS Code
Use .vscode/mcp.json (workspace) or your user mcp.json, with a servers key. Instead of hardcoding the token, define an input so VS Code prompts for it securely:
{
"inputs": [
{
"type": "promptString",
"id": "figma-api-key",
"description": "Figma API Key",
"password": true
}
],
"servers": {
"figma": {
"command": "bunx",
"args": ["figma-mcp-server"],
"env": {
"FIGMA_API_KEY": "${input:figma-api-key}"
}
}
}
}
- With
${input:figma-api-key}, VS Code prompts you for the key the first time the server starts, then stores it in your OS secret storage. - To re-enter or clear it: Command Palette → MCP: List Servers → pick the server → reset/edit its inputs.
Tool coverage
Full coverage of the Figma REST API (non-deprecated endpoints), 50 tools across:
- Files and nodes (files, node trees, image rendering, image fills, metadata, version history)
- Variables / design tokens (read, published, bulk modify)
- Components, component sets, and styles (file, published, and team scopes)
- Comments and reactions
- Folders (top-level folders, subfolders, files, metadata)
- Users
- Dev resources
- Webhooks (v2)
- Library analytics (component, style, and variable actions and usages)
- Organization: activity logs, developer logs, AI usage (Enterprise)
- Embeds and payments
Check your MCP client's tool list for the full, always-current list of tool names and parameters.
Plan requirements
Most tools work with any plan's personal access token. These need higher tiers:
- Variables (
list_file_variables,get_published_variables,modify_variables): Enterprise organization. - Library analytics (
get_library_*): Organization or Enterprise plan. - Activity logs, developer logs, AI usage: Enterprise organization with an admin or plan access token.
MIT License · By @planetabhi ⋛⋋( ⊙◊⊙)⋌⋚
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.