Antonytm/figma-mcp-server
If you are the rightful owner of figma-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Figma Model Context Protocol (MCP) server facilitates communication between Figma and external clients using a standardized protocol.
Figma Model Context protocol server
Usage
STDIO Transport (standard input output)
- Configure MCP server in your client
"Figma": {
"command": "npx",
"args": ["@antonytm/figma-mcp-server@latest"]
}
- Open Figma file in Figma MCP plugin
- Plugin should show you message: Connected to MCP server
- You are ready to use MCP server in your client
Streamable HTTP Transport
Figma MCP server could be run using two types of transport: stdio and streamable-http. It is configured via environment variable TRANSPORT.
- Start MCP server in terminal
a. Windows CMD:
set TRANSPORT=streamable-http&&npx @antonytm/figma-mcp-server@latestb. Windows PowerShell:$env:TRANSPORT = "streamable-http"; npx @antonytm/figma-mcp-server@latestc. macOS Bash:TRANSPORT=streamable-http npx @antonytm/figma-mcp-server@latest - Open
http://localhost:38450/mcpin browser. Expected result:Invalid or missing session ID - Open Figma file in Figma MCP plugin
- Plugin should show you message: Connected to MCP server
- Configure MCP server in your client
"Figma": {
"url": "http://127.0.0.1:38450/mcp"
}
- You should be able to use MCP server
Development
MCP server
cd mcpnpm run dev
Plugin
cd pluginnpm run dev- Open Figma
- Plugins > Development > Import plugin from manifest ...
- Select
manifest.jsonfromplugin\manifest.json - Start plugin
- You should see Connected to MCP server message
Inspector
cd mcpnpm run inspector- Use
http://127.0.0.1:38450/mcpto connect
Tools
TBD
Alternatives
If your tasks could be done by official Figma MCP server, please use it.
Before starting this project, I made a search for my idea to implement Figma MCP server using Figma plugin and sockets as protocol for communication. And I found this one. Initially, I thought to fork it and change for my needs. But, there are few things that I don't like: requirement to run separate server for socket, everything located in one file, very hard to maintain, JavaScript(not TypeScript or Python). But, you always can consider that server as an alternative.