Figma MCP not working?

Work through these in order. The cause is almost always local and unglamorous — a dead process, an occupied port, or a client that never reloaded its config.

Start here: the 60-second triage

Four checks that resolve the large majority of cases.

  1. Is the MCP server process actually running right now — not "was it started earlier"?
  2. Is the Figma desktop app open, with the file you care about open in it?
  3. Did you fully quit and reopen your AI client after the last config edit?
  4. Is anything else already sitting on the port the server wants?

If all four are clean, work down the specific failures below.

Specific failures and their fixes

Matched to the error strings people actually paste into search.

The client reports no MCP server found, or the tool list is empty

Cause: The server is not running, or the client is pointed at a URL or transport the server does not expose.

Fix: Start the server in a terminal you can watch, and confirm it prints a listening line. Then check your client config points at exactly that address — a stale entry left over from an earlier setup is one of the most common causes, and it fails silently.

Invalid sessionId

Cause: The client is holding a session the server no longer recognises — typically after Figma reloaded or the server restarted underneath it.

Fix: Quit the Figma desktop app completely, reopen it, then restart the AI client so a fresh session is negotiated. Reconnecting the client alone usually reproduces the same error.

Connection refused, or the port looks dead when the server is running

Cause: Another process holds the port, or on Windows a leftover portproxy rule is intercepting it.

Fix: Identify the holder with lsof -i :3845 on macOS/Linux or netstat -ano | findstr 3845 on Windows, then stop it. On Windows also run netsh interface portproxy show all — a stale rule bound to 0.0.0.0:3845 will swallow the connection and make a healthy server look dead.

Claude can read the file but every edit silently fails

Cause: A seat/permission limit, not a connection fault. Write access through Figma's own MCP server has been restricted to paid Full and Dev seats.

Fix: Check your seat on that file's team. If you are on a free or Viewer seat, no amount of restarting will help — you need a different seat, or a route into Figma that does not depend on one.

It worked yesterday and broke after an update

Cause: A Figma or client update changed the expected transport, or reset the config.

Fix: Re-add the server in your client rather than trusting the existing entry, and restart both applications. Version drift between the desktop app and a locally built server is a regular source of this.

Works in one AI client but not another

Cause: Each client keeps its own MCP config, and they do not share state.

Fix: Configure the server separately in each client. A working Claude Code setup tells you nothing about Claude Desktop or Cursor — they read different files.

If you would rather not run a server at all

An honest observation, not a bait and switch.

Everything above is a local-environment failure: a process, a port, a config file, a stale session. None of those exist in a hosted setup. You paste one URL into Claude and there is nothing on your machine that can break, which is why most people who arrive here after a week of debugging end up switching.

Flaude's hosted connector works with a free Figma account and needs no Dev seat. If you would still rather self-host, our MCP server is open source and MIT-licensed — the fixes on this page apply to it too.

Figma MCP troubleshooting FAQ

The questions people ask when the server will not cooperate.

Skip the local server

Paste one URL into Claude and start designing. No port, no config file, no process to babysit — and it works on a free Figma account.

See how it connects