home / mcp / cc fig mcp server
Provides bidirectional Figma control and real-time sync via an MCP server and WebSocket relay.
Configuration
View docs{
"mcpServers": {
"agenisea-cc-fig-mcp": {
"command": "node",
"args": [
"/path/to/cc-fig-mcp/dist/talk_to_figma_mcp/server.js"
]
}
}
}You can bridge Claude Code with Figma through a bidirectional MCP server that syncs design data in real time. This MCP server runs a local process that speaks the MCP protocol over a WebSocket relay, enabling Claude Code to send and receive Figma actions and document information directly from your Figma projects.
Once you have the MCP server running, you connect Claude Code to it and join a channel named after your Figma project to enable real-time design collaboration. Use the provided tool set to create, query, and modify Figma nodes, frames, components, and styles from Claude Code, and see updates reflected back in Figma. You can join a channel, fetch document details, create shapes, update text, move and resize nodes, export assets, and manage styles and components.
Prerequisites you need before installing the MCP server are listed below. Ensure you have Node.js 18 or newer, Docker and Docker Compose, pnpm, and Figma Desktop installed. You will also work with a local project directory to run the MCP components.
# Prerequisites (check you have these versions)
node -v
docker --version
pnpm -v
figma --versionClone the MCP server repository, install dependencies, and build the server. Then you run the WebSocket relay inside Docker to expose the MCP endpoint on a local port.
# Build steps
git clone https://github.com/agenisea/cc-fig-mcp.git
cd cc-fig-mcp
pnpm install
pnpm run build
# Start the relay using Docker
cd /path/to/cc-fig-mcp
# Build and start the relay server
docker-compose up -d --build
# Verify it's running
curl http://localhost:3055/statusChoose one of these configuration options to point Claude Code at your local MCP server. The MCP server runs a local process via Node and exposes the server at port 3055 through the Docker relay.
# Option A: CLI flag (direct intent to run the MCP server)
claude --mcp-config '{"figma":{"command":"node","args":["/path/to/cc-fig-mcp/dist/talk_to_figma_mcp/server.js"]}}'
```
```json
# Option B: Edit Claude's config file to include the MCP server
{
"mcpServers": {
"figma": {
"command": "node",
"args": [
"/path/to/cc-fig-mcp/dist/talk_to_figma_mcp/server.js"
]
}
}
}Install the Figma plugin that talks to the MCP server and connect it to your Figma project. You will provide the port 3055 and use your Figma project name as the channel.
# In Figma Desktop:
Plugins → Development → Import plugin from manifest
# Select the manifest.json path provided by the MCP server
# Connect the plugin:
Plugins → CC Fig MCP Plugin
Set Port: 3055
Set Channel: your-figma-project-name
Click Connect
Status should show green/connectedJoin the same channel from Claude Code as your Figma project name. You can then issue commands to create and modify shapes, text, frames, and components directly in Figma from Claude Code.
# Join the channel corresponding to your Figma project name
figma - join_channel("your-figma-project-name")
# Example actions you can perform
figma - create_rectangle(x: 0, y: 0, width: 100, height: 100)
figma - create_text(x: 50, y: 50, text: "Hello")- Keep the Docker relay running on the designated port (3055 by default). If you see port conflicts, adjust the external port in the Docker configuration and align the Figma plugin port accordingly.
- Ensure the Figma plugin window remains open and visible while you work for a stable connection.
- If you encounter timeouts or disconnections, reconnect the plugin and re-join the Claude Code channel.
- Forwarded message to 0 clients: Reconnect the Figma plugin in Figma.
- Request timed out: Ensure the plugin is connected and the channel name matches exactly.
- Must join a channel: Run join_channel("your-figma-project-name") in Claude Code first.
- Port 3055 in use: Change the external port in docker-compose.yml to a different value and update the Figma plugin port to match.
- Connection drops frequently: Keep the plugin panel visible to prevent disconnections when focus shifts.
Claude Code communicates with the MCP server using stdio MCP protocol, the MCP server runs as a Node process, and the WebSocket relay inside the Docker container routes traffic to the Figma Plugin inside Figma Desktop.
Connect to a Figma project channel from Claude Code to synchronize actions with the corresponding Figma project.
Retrieve details of the current Figma document, including pages, frames, and metadata.
Obtain information about the nodes currently selected in the Figma document.
Fetch detailed information about a specific node by ID.
Create a new frame or artboard in the document.
Create a rectangle shape at a given position with specified size.
Create a text node at a position with specified content.
Create an ellipse shape with given bounds.
Create a polygon with defined vertices.
Create a star shape with defined parameters.
Draw a line between two points.
Create an instance of a local component.
Apply fill color to a node.
Apply stroke color to a node.
Set corner radius for a shape.
Update the text content of a text node.
Change the font size of text.
Change the font weight of text.
Configure auto layout for a container.
Move a node to a new position.
Resize a node to new dimensions.
Duplicate a node.
Delete a node from the document.
Group multiple nodes together.
Ungroup nodes from a group.
Export a node as PNG or SVG.
Retrieve document styles from the project.
List local components available in the document.