Verified MCP server: Figma

The Figma MCP server, run live on a real Mac.

  • Tools enumerated2026-08-03macOS 26.3.1
  • Packagefigma-developer-mcp 0.13.2
  • Self-reportedFigma MCP Server 0.13.2
  • MCP protocol2025-06-18
  • RuntimeNode v24.18.0

The tool list below is a live capture from the running server; an authenticated tool call is still pending credentials.

The short answer

Last verified 2026-08-03

Search for the Figma MCP server and you get two different things, so this page is precise about which one it ran. Figma publishes an official server in two forms: a desktop one that runs inside the Figma desktop app and serves http://127.0.0.1:3845/mcp, and a hosted one at https://mcp.figma.com/mcp that you sign into with OAuth. We probed port 3845 on this Mac, where Figma is installed, and nothing was listening, so we could not enumerate the official server. What we did run is figma-developer-mcp, the community package from Framelink, with 85,758 npm downloads in the week ending 2026-08-01: it started over stdio, reported itself as Figma MCP Server 0.13.2, and listed both of its tools, printed below word for word. Its one real call returned a Figma API 403, because we started it with a placeholder token instead of a real one. That error text is on this page too, and so is what a working token needs. [1][2][3][9][10]

  • Tools

    2, enumerated live

  • Credentials

    Figma access token needed [6]

  • Transport

    stdio, runs on your Mac

  • Maintainer

    GLips (Framelink), community [1][3]

  • Downloads

    86k last week [2]

  • License

    MIT [4]

Verification

How this MCP server was verified.

Method

We spawned figma-developer-mcp with npx over stdio, completed the MCP initialize handshake, called tools/list, and made one real tools/call. The tool table below is that capture, word for word. Authenticated calls are pending a credential we do not have: a Figma personal access token with read access to File content and Dev resources. We ran the server with a placeholder token instead, so our get_figma_data call came back with the Figma API 403 printed below. That proves the server starts, speaks MCP and reaches Figma. It does not prove it can read a file, and we do not claim it. We also probed the official desktop server at http://127.0.0.1:3845/mcp on this Mac, where the Figma app is installed: nothing was listening and the connection was refused.

Startup banner

Usage telemetry enabled. Disable: FRAMELINK_TELEMETRY=off or DO_NOT_TRACK=1

One real tool call

tools/call get_figma_data {"fileKey": "X4zPq7RtLmNvBcDsEfGhJk"}
Error fetching file: Request to Figma API endpoint '/files/X4zPq7RtLmNvBcDsEfGhJk' returned 403 Forbidden.
Response body: {"status":403,"err":"Invalid token"}

Real lines from the captured result: enough to prove the call answered.

Tools

Every tool, enumerated from the running server.

The server answered tools/list with 2 tools on 2026-08-03. The names, descriptions and parameters below are its own words, copied from that response and never edited.

ToolWhat it does
get_figma_datafileKey*nodeIddepth

Get comprehensive Figma file data including layout, content, visuals, and component information

download_figma_imagesfileKey*nodes*pngScalelocalPath*

Download SVG and PNG images used in a Figma file based on the IDs of image or icon nodes. Images will be saved relative to the server's image directory: /tmp/figma-mcp-verify

Parameters marked with * are required.

Setup

Working configs, one per app.

Copy the block for the app you use. Each one is the configuration this server was verified with.

Claude Desktop

Open the file ~/Library/Application Support/Claude/claude_desktop_config.json (in Claude Desktop: Settings, then Developer, then Edit Config) and add:

{
  "mcpServers": {
    "figma": {
      "command": "npx",
      "args": [
        "-y",
        "figma-developer-mcp",
        "--figma-api-key=YOUR-FIGMA-TOKEN",
        "--image-dir=/Users/yourname/Projects/site",
        "--stdio"
      ]
    }
  }
}

Paste your own token in place of YOUR-FIGMA-TOKEN, point --image-dir at the folder where downloaded images should land, then quit and reopen Claude Desktop. The README also accepts FIGMA_API_KEY in an env object instead of the flag. [11][5]

Claude Code

One command in your terminal:

claude mcp add figma -- npx -y figma-developer-mcp --figma-api-key=YOUR-FIGMA-TOKEN --image-dir=/Users/yourname/Projects/site --stdio

Everything after the double dash is the exact command Claude Code will run, and it is the command we ran, with a placeholder token and a scratch image folder in place of the two values above. Your shell history will hold the token, so use -e FIGMA_API_KEY=... instead if that matters to you. [12]

Cursor

Add to ~/.cursor/mcp.json for every project, or to .cursor/mcp.json inside one project:

{
  "mcpServers": {
    "figma": {
      "command": "npx",
      "args": [
        "-y",
        "figma-developer-mcp",
        "--figma-api-key=YOUR-FIGMA-TOKEN",
        "--image-dir=/Users/yourname/Projects/site",
        "--stdio"
      ]
    }
  }
}

Cursor picks the file up on restart. Framelink describes this server as one for AI coding agents like Cursor. [13][3]

Routines

No JSON file and no terminal. In Routines: Settings, then Assistant, then Connections, then Add MCP Server. Switch the form to Command (stdio) and enter:

Name        Figma
Command     npx
Arguments   -y figma-developer-mcp --figma-api-key=YOUR-FIGMA-TOKEN --image-dir=/Users/yourname/Projects/site --stdio

The Arguments field splits on spaces, so keep each flag in one piece and use a folder path with no spaces in it. Click Test Connection first: a working server answers with its tool count, two for this one. [14]

No terminal needed

Set the Figma MCP server up without the terminal.

If you have never opened Terminal and never want to, this is your path. Routines is a Mac app that runs MCP servers for you: fill in three fields once, and this server's tools are available to your AI in chat and in scheduled routines. Unlike the filesystem server, this one needs a Figma token first, so that is step two.

  1. 01

    Install Routines

    Download the app from getroutines.ai/download, drag it to Applications, and sign in.

  2. 02

    Create a Figma access token

    In Figma, open the account menu in the top left, choose Settings, open the Security tab, scroll to Personal access tokens and click Generate new token. Give it read permission on File content and Dev resources. Copy it straight away: Figma displays the token only once, and navigating away means generating a new one.

  3. 03

    Open the MCP settings

    Back in Routines, click your account at the bottom of the sidebar and choose Settings. Open the Assistant section, then the Connections tab, scroll to MCP Servers, and click Add MCP Server.

  4. 04

    Choose Command (stdio)

    Switch the form to Command (stdio): this server is a command you run, not a web address. The official Figma servers are the web-address kind, and they are covered further down this page.

  5. 05

    Fill in the fields, then test

    Name: Figma. Command: npx. Arguments: -y figma-developer-mcp --figma-api-key=YOUR-FIGMA-TOKEN --image-dir=/Users/yourname/Projects/site --stdio, with your own token pasted in. Leave Environment Variables empty. Click Test Connection: Routines starts the server and reports how many tools it found, two for this one. Then click Add Server.

  6. 06

    Use it

    The tools work in chat right away: paste a Figma file link and ask for the layout. To let a scheduled routine use them, open the routine, find the Tools & connections card, and tick the server under Apps.

Routine ideas

Routines worth scheduling.

Once the server is connected, a scheduled routine can use its tools while you are away. Copy a prompt, paste it into Routines, and pick a time.

A weekly design-change digest

Prompt

Every Monday at 9:00, read my Figma design file, list the frames and components that changed since last week with a one-line note on each, and save the summary as design-changes.md in my Documents folder.

A design-to-spec handoff note

Prompt

Every Friday at 16:00, read the Ready for dev page of my Figma file and write a short implementation brief for each frame on it: layout, spacing, colours and text styles, saved as handoff.md.

An icon export check

Prompt

Every Tuesday at 10:00, look at the Icons page of my Figma file, download any icon that is not already in my project assets folder, and tell me which ones you added.

Troubleshooting

The errors we hit, and what fixed them.

Real errors captured during the verification run, printed exactly as the server returned them.

You start it without a token and nothing happens

What you see

Either FIGMA_API_KEY or FIGMA_OAUTH_TOKEN is required (via CLI argument or .env file)

The fix

The server prints this one line and never speaks MCP, so your client sits waiting for a handshake that never comes: ours timed out after 45 seconds. Add --figma-api-key=YOUR-FIGMA-TOKEN to the arguments, or set FIGMA_API_KEY in the environment, and start it again.

Every call comes back 403 Invalid token

What you see

Error fetching file: Request to Figma API endpoint '/files/X4zPq7RtLmNvBcDsEfGhJk' returned 403 Forbidden.
Response body: {"status":403,"err":"Invalid token"}

Depending on the specific error message above, the issue may be one of the following:
- The access token is missing required scopes (File content: Read, Dev resources: Read)

The fix

This is the error we hit on purpose: we ran the server with a placeholder token, so Figma rejected it. The server goes on to list five possible causes and only the first is quoted above; the other four are a token that was revoked, mistyped or (for OAuth) expired, an account with no access to that particular file, share settings that block copying and exporting, and a proxy, firewall or VPN that stopped the request before it reached Figma. Generate a fresh token carrying both of the read scopes the quoted cause names, File content and Dev resources, and try the same file again.

You pasted the whole Figma URL as the file key

What you see

Invalid fileKey: File key must be alphanumeric

The fix

The tool wants only the key, not the address. In figma.com/design/ABC123.../My-Design the file key is the segment straight after /design/, letters and digits only. Paste that.

The official Figma server on port 3845 refuses to connect

What you see

curl: (7) Failed to connect to 127.0.0.1 port 3845 after 0 ms: Couldn't connect to server

The fix

This is what we got on a Mac with Figma installed: nothing was listening. The desktop server only exists while the Figma desktop app is open with the server switched on, in Dev Mode, in the MCP server section of the inspect panel, via Enable desktop MCP server. Figma also gates it behind a Dev or Full seat on a paid plan. If that is not your plan, the hosted server or this community package is the way in.

Your MCP client cannot start the server at all

The fix

The npx command belongs to Node.js. If Node is not installed on your Mac, every client on this page fails at the spawn step before the server can say anything. Install Node from nodejs.org, restart your MCP client, and try again.

FAQ

Questions people ask.

What is the Figma MCP server?

The name covers two different things. Figma's own server ships in the Figma desktop app, runs at http://127.0.0.1:3845/mcp while the app is open, and needs a Dev or Full seat on a paid plan; Figma also hosts a remote version at https://mcp.figma.com/mcp behind an OAuth sign-in, which its help centre says is available on all seats and plans. Separately, figma-developer-mcp from Framelink is a community package you run yourself with npx and a Figma access token. That is the one this page ran. [9][10][8][1]

Which one did you actually verify?

figma-developer-mcp, and only up to a point. It started, completed the MCP handshake, and listed both of its tools, which is where the table above comes from. Then we made one real call with a placeholder token and Figma answered 403 Invalid token, which is printed in full above. We have no Figma personal access token, so no authenticated call succeeded here and we do not claim one did. For the official desktop server we only have a negative result: port 3845 refused the connection on this Mac.

What tools does figma-developer-mcp include?

Two, and the table above is the live tools/list output word for word: get_figma_data, which pulls layout, content, visuals and component information out of a file or a single node, and download_figma_images, which saves SVG and PNG assets to a folder. The second description ends with a real folder path because the server writes whichever image directory it was started with into its own tool description. Ours read /tmp/figma-mcp-verify; yours will read your project folder.

How do I get a Figma access token?

In Figma, open the account menu in the top left, choose Settings, then the Security tab, scroll to Personal access tokens and click Generate new token. Framelink's docs say to give it read permission on File content and Dev resources, and the 403 we captured names those same two scopes first among the likely causes. Figma states the token displays only once, so copy it before you navigate away. Worth knowing before you paste it into any tool: Figma also states a personal access token reaches all of your files and data, and that access cannot be restricted to particular files. [6][7]

Do I need a paid Figma plan?

For the official desktop server, yes: Figma's help centre states it is available on a Dev or Full seat for all paid plans, and that the remote server is available on all seats and plans. The community package has no plan gate of its own, but it can only read what your token can read, so a file you cannot open in Figma stays unreadable through MCP. [8]

Do I need the terminal to set it up?

No. In Routines you fill three fields in Settings and click Test Connection; the walkthrough above shows every click. Claude Desktop needs a small JSON file edited once. Only Claude Code is terminal-first by nature. You do need a Figma token whichever route you take. [14][11]

Which apps can use the Figma MCP server?

The community package is a plain stdio server, so any MCP client that can launch a local command runs it: Claude Desktop, Claude Code, Cursor and Routines all can, and the exact config for each is above. Figma's hosted server is stricter: its docs say only clients listed in the Figma MCP catalogue, such as VS Code, Cursor and Claude Code, may connect. [10][12][13][14]

Sources

Every external claim, receipted.

Anything on this page we did not observe in the run is linked here, with the date we read it. The run itself is the receipt for the rest.

  1. [1]

    npm registry: figma-developer-mcpaccessed 2026-08-03

    Latest version 0.13.2, published 2026-06-18; license MIT; sole maintainer glips.

  2. [2]

    npm downloads API: last weekaccessed 2026-08-03

    85,758 downloads for the week ending 2026-08-01.

  3. [3]

    GitHub: GLips/Figma-Context-MCPaccessed 2026-08-03

    15,568 stars and a push dated 2026-07-03 at access time, per the GitHub API. Described as an MCP server for AI coding agents like Cursor.

  4. [4]

    Figma-Context-MCP LICENSE fileaccessed 2026-08-03

    MIT License, Copyright (c) 2025 Graham Lipsman.

  5. [5]

    Figma-Context-MCP READMEaccessed 2026-08-03

    Source of the npx args shape, and the note that FIGMA_API_KEY may be set in the env field instead.

  6. [7]

    Figma Learn: Manage personal access tokensaccessed 2026-08-03

    The Settings, Security, Generate new token path; that the token displays only once; and that a personal access token reaches all your files and cannot be restricted.

  7. [8]

    Figma Learn: Guide to the Figma MCP serveraccessed 2026-08-03

    States the remote server is available on all seats and plans, and the desktop server on a Dev or Full seat for all paid plans.

  8. [9]

    Figma Developer Docs: set up the desktop serveraccessed 2026-08-03

    Gives the address http://127.0.0.1:3845/mcp, the Dev Mode inspect-panel toggle, and that it works only via the Figma desktop app.

  9. [10]

    Figma Developer Docs: set up the remote serveraccessed 2026-08-03

    Gives the endpoint https://mcp.figma.com/mcp, the OAuth sign-in, and the restriction to clients in the Figma MCP catalogue.

  10. [11]

    modelcontextprotocol.io: Connect to local MCP serversaccessed 2026-08-03

    The Claude Desktop config file path on macOS, and the Settings, Developer, Edit Config route that opens it.

  11. [12]

    Claude Code docs: MCPaccessed 2026-08-03

    The claude mcp add syntax for local stdio servers, including passing environment variables.

  12. [13]

    Cursor docs: Model Context Protocolaccessed 2026-08-03

    The mcp.json shape and file locations.

  13. [14]

    Routines: Connectorsaccessed 2026-08-03

    How Routines runs one-click OAuth connectors and any MCP server.

This page describes Figma as it behaved in one dated run on one Mac. Versions move: if something here no longer matches what you see, the capture date at the top says how old the reading is.

Behind this directory

Routines, the app behind this directory, runs MCP servers like this one without a terminal: see how connectors work. Your notes stay markdown files on your Mac, there is no cloud bill, and it works offline. Download Routines