Figma MCP Server

Official registry Media and design

A local MCP server with full Figma REST API coverage.

What can you do with Figma MCP Server?

  • 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)

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package figma-mcp-server
Claude Code
claude mcp add figma-mcp-server -e 'FIGMA_API_KEY=<your figma_api_key>' -- bunx -y figma-mcp-server@3.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "figma-mcp-server": {
            "command": "bunx",
            "args": [
                "-y",
                "figma-mcp-server@3.1.1"
            ],
            "env": {
                "FIGMA_API_KEY": "<your figma_api_key>"
            }
        }
    }
}

Environment variables

  • FIGMA_API_KEY required secret Figma personal access token

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Figma MCP Server
  2. How it works
  3. Figma API key
  4. Configure your client
  5. Tool coverage

Figma 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.json per 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 ⋛⋋( ⊙◊⊙)⋌⋚

Frequently asked questions

What is Figma MCP Server?

A local MCP server with full Figma REST API coverage.

How do I install Figma MCP Server?

It runs on your machine. In Claude Code: claude mcp add figma-mcp-server -e 'FIGMA_API_KEY=<your figma_api_key>' -- bunx -y figma-mcp-server@3.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Figma MCP Server need an API key?

Yes. It expects FIGMA_API_KEY, which you set in its configuration.

Is Figma MCP Server open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains Figma MCP Server?

It is published by planetabhi. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.