The Figma MCP Server is an implementation that enables interaction with the Figma API using Model Context Protocol (MCP). It provides a WebSocket server for plugin communication and supports widget development with configurable environment settings.
You'll need Bun installed on your system to run the Figma MCP Server.
git clone <repository-url>
cd figma-mcp
bun install
.env
file with the following variables:FIGMA_PERSONAL_ACCESS_TOKEN=your_figma_token
PORT=3001
NODE_ENV=development
To use the Figma API, you'll need a personal access token:
.env
file or use it in command line argumentsbun run build
bun run dev
You can set environment variables directly via command line arguments:
bun --watch src/index.ts -e FIGMA_PERSONAL_ACCESS_TOKEN=your_token -e PORT=6000
For convenience, you can specify the token with a dedicated parameter:
bun --watch src/index.ts --token your_token
Or use the shorthand version:
bun --watch src/index.ts -t your_token
Add this configuration to your .cursor/mcp.json
file:
{
"Figma MCP": {
"command": "bun",
"args": [
"--watch",
"/path/to/figma-mcp/src/index.ts",
"-e",
"FIGMA_PERSONAL_ACCESS_TOKEN=your_token_here",
"-e",
"PORT=6000"
]
}
}
The MCP server provides tools for various Figma operations:
Build the plugin:
bun run build:plugin
Run in development mode:
bun run dev:plugin
manifest.json
fileYour plugin can communicate with the MCP server through WebSocket connections to:
Build your widget:
bun run build:widget
Run widget in development mode:
bun run dev:widget
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.