← Back to directory
F

Figma MCP Server

Community
Community MCP server that lets AI agents read and write Figma designs via a companion plugin.
GitHub source repository ↗
★ 172 Stars Category · Collaboration Popular Source revision 7b2e033cf49e
44FMRS · D
Reliability
7/20
Security and permissions
11/20
Maintenance
10/20
Documentation
9/20
Setup experience
7/20

An early-stage (v0.1.0) community Figma MCP server that bridges a local WebSocket-connected plugin to provide read-write Figma access the official read-only server lacks, though its tool list is undocumented and setup requires manually building and loading both the server and the plugin.

Read the FMRS scoring method →

figma-mcp-server (Apache-2.0, v0.1.0) is an unofficial, community-maintained project built to address a gap in the official Figma MCP server: it only supports read-only tools. This server pairs a local MCP server (Express.js plus a Socket.IO WebSocket layer) with a Figma plugin that must be imported manually in developer mode. The MCP server queues tool calls and dispatches them over WebSocket to the plugin, which performs the requested action inside the currently open Figma document and returns the result; calls that run too long time out. The server supports both stdio and streamable-http transports, with streamable-http defaulting to http://localhost:38450/mcp. The README lists its tool set as 'TBD' — no tools are documented yet. The author states the server runs locally only and does not expose information to the network by design; using it over a network is at the user's own risk. The team is also working on shipping it as an official Figma plugin, but as of the README it has not yet been accepted by Figma's reviewers.

Tools

The tool list has not been reviewed yet.

Setup

  1. Install Node.js and clone the Antonytm/figma-mcp-server repository.
  2. Build and load the Figma plugin: in the plugin directory run npm i and npm run build, then in Figma use Plugins > Development > Import plugin from manifest to select /plugin/manifest.json, and start the plugin until it shows 'Connected to MCP server'.
  3. Start the MCP server: in the mcp directory run npm i and npm run start; the console should show 'Server listening on http://localhost:38450'.
  4. Configure your AI client to use the Streamable HTTP transport at http://localhost:38450/mcp (or switch to stdio via the TRANSPORT environment variable), and disable any tools you don't need.
claude_desktop_config.json
{"mcpServers": {"figma": {"url": "http://localhost:38450/mcp"}}}

Fit and risk

Best for

  • Developers or designers who need AI agents to write to Figma documents, not just read them
  • Users comfortable running a local Node.js server and manually loading a developer-mode plugin

Not for

  • Users who only need read-only access and prefer an officially supported solution
  • Users unable to run local services or install developer-mode plugins
  • Multi-user network or production deployments, given the explicit local-only security stance

Required permissions

  • Full read/write access to whichever Figma document the plugin is running against
  • A local network port (default 38450) used for WebSocket communication between the MCP server and the Figma plugin

Risks and side effects

  • Early-stage project (v0.1.0), community-maintained rather than officially supported
  • No documented tool list yet (marked TBD in the README), limiting behavioral transparency
  • The author explicitly warns that exposing the server over a network is at the user's own risk
  • The plugin has not yet been approved by Figma and must be sideloaded in developer mode, so the setup process may change

Troubleshooting

  1. Confirm the plugin window shows 'Connected to MCP server' rather than 'Not connected to MCP server'
  2. Confirm the MCP server console prints 'Server listening on http://localhost:38450' and a user-connected log line
  3. Verify the plugin was imported from /plugin/manifest.json and rebuilt with the latest npm run build
  4. Verify the client's configured transport (stdio or streamable-http) matches the TRANSPORT environment variable and how the server is actually running
  5. Check that local port 38450 isn't already in use by another process

Use cases

Ask an AI agent to implement a described design change directly in an open Figma file
Iterate on designs from a chat interface without moving results between Figma Make and the main Figma app
Automate repetitive Figma editing steps as part of a design-to-implementation workflow

Supported clients

Claude DesktopPartial support