You can connect Figma to Claude using the Model Context Protocol (MCP), and once it’s connected, Claude can pull a frame’s layer structure, read spacing and color tokens off a component, or summarize a file’s design specs without you exporting anything by hand. This guide covers what Figma’s MCP server does, both ways to connect it — directly or through a gateway — and one thing worth knowing before you try: Figma’s OAuth isn’t currently open to every client that asks.

What the Figma MCP server actually does

Figma publishes a remote MCP server at mcp.figma.com. It exposes your design files, frames, and component specs as tools Claude can call directly, so prompts like these work against a real file:

  • “What are the spacing and color values on this component?”
  • “List the layers inside this frame and their names.”
  • “Turn this screen’s design tokens into build-ready CSS variables.”
  • “Does this button match the styles used elsewhere in the file?”

Claude reads the file through the same permissions your Figma account already has — it isn’t a flattened export or a screenshot, it’s the file’s actual layer tree and properties, queried on demand.

The catch: Figma’s OAuth isn’t open to every client yet

Some servers in gate’s directory — Notion, Linear, Airtable — let any AI client register itself and go straight through a one-click OAuth consent screen. Figma’s MCP endpoint is one of the ones where that isn’t the case today: the vendor’s OAuth currently only admits clients Figma has allow-listed in advance, rather than opening registration to any client that shows up. In practice, that can mean a connection attempt from a new or less-common client fails at the authorization step, even though the server itself is real and documented.

This is the same gap covered in MCP OAuth scopes explained: a server supporting OAuth in principle isn’t the same claim as every client being able to walk through it today. If you hit an “unauthorized client” error connecting Figma, that’s the most likely reason — not a mistake in your setup. See the unauthorized client error, explained for the general pattern and workarounds. Whether a given client can connect changes as vendors expand their allow-list over time, so it’s worth checking again later if it doesn’t work on your first attempt.

Option 1: Connect Figma to Claude directly

If the client you’re using is one Figma currently admits, the setup is:

  • Open Claude’s connector or MCP settings.
  • Add a remote server pointing at Figma’s MCP endpoint.
  • Sign in with your Figma account when prompted — standard OAuth, so Claude never sees your Figma password, and you can revoke access from Figma’s own account settings at any time.

That’s enough if Claude is the only AI client you use with Figma. The tradeoff shows up once you add a second client — Cursor for pulling tokens into code, ChatGPT for a quick spec check — or a second person on the team: each one needs its own attempt at the same OAuth step, with the same chance of hitting the allow-list wall independently.

Option 2: Connect it once, through a gateway

If you’re already juggling more than one MCP server or more than one AI client, wiring each pair directly gets old fast — that’s the connection sprawl covered in what an MCP gateway is. The idea is to connect Figma (and everything else) to one gateway URL, then point every AI client at that single URL instead of reconfiguring each one and re-running the OAuth step per client.

With gate specifically, connecting Figma looks like this: add gate’s gateway URL to Claude once, then pick Figma from the Figma server page in the directory and sign in the same way you would directly. gate’s catalog tracks each server’s currently verified connectivity — including cases like this one, where a vendor’s OAuth is still allow-listed — so you know what to expect before you start, instead of finding out mid-flow. See the full list of servers on the MCP servers page.

What to check before you connect a design file

A Figma account usually spans more than the one file you had in mind when you connect it — every team, every project, every draft. A few things worth checking before or right after you connect:

  • Which teams and projects are in scope? An MCP connection to Figma typically covers every team your account can reach, not just the one file you’re currently working on. Know what’s in scope before you hand Claude a broad prompt like “summarize our design system.”
  • Are there unreleased designs in scope? Draft files and work-in-progress screens sit in the same account as shipped ones. Reading a file through an AI client surfaces whatever’s actually in it, drafts included.
  • Who else on the team connects it? If more than one designer or engineer wires up Figma to their own client, a shared, revocable setup beats everyone holding their own grant — the same question covered in MCP access control for teams.

You can run a quick, no-signup check on any server’s tool list with gate’s free MCP security scanner, which looks for prompt injection and hidden instructions in tool descriptions before you rely on a server day to day.

Troubleshooting the connection

  • “Unauthorized client” or the OAuth screen never appears. Most likely the allow-list issue above — the client you’re using may not be one Figma currently admits for this endpoint.
  • Sign-in succeeds but Claude can’t see a file you know exists. Figma’s tools respect your user’s own team membership; a file that lives under a team you’re not part of won’t show up any more than it would in the Figma app itself.
  • Tools disappear after a Figma update. Remote servers can change their tool list without warning. If you’re connected through a gateway, that kind of change is exactly what drift detection is meant to catch — see how MCP rug pulls work for why a one-time review isn’t enough.
Where gate fits: gate’s directory lists each server’s currently verified connectivity — one-click OAuth, key-based, or allow-listed like Figma — so you know what kind of setup to expect before you start. Every server is scanned for prompt injection before it goes live, and every call goes into a plain-language log. See the full gateway at /mcp-gateway.

The bottom line

Connecting Figma to Claude with MCP is a normal OAuth flow when the client you’re using is one Figma currently allows — direct if it’s your only client, or once through a gateway if you want the same file access shared across every AI client on the team. If the connection fails at the authorization step, that’s worth reading as “not allow-listed yet” rather than a broken setup, and worth trying again as Figma opens this up over time.