figmind

figmind

MCP server that connects AI clients to Figma, enabling real-time reading, creation, and modification of designs using natural language.

Category
Visit Server

README

<div align="center"> <img src="./assets/banner.png" alt="figmind" width="100%" />

<br/> <br/>

npm version npm downloads License: MIT Node.js MCP

<br/>

<img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add to Cursor" height="32" />

<br/>

Give your AI the ability to think in Figma.

figmind connects any MCP-compatible AI client to Figma — letting it read, create, and modify designs in real time using natural language.

<br/>

Getting Started · Available Tools · Architecture · Contributing

<br/> </div>


Demo

GitHub Sponsors

figmind demo


How it works

Your AI  ←—— MCP ——→  figmind server  ←—— WebSocket ——→  Figma Plugin  ←——→  Canvas

figmind runs a local MCP server your AI can call. A companion Figma plugin bridges the WebSocket connection directly to your open file. All traffic stays on your machine — no cloud relay, no third-party API.


Getting Started

Requirements


Step 1 — Configure your MCP client

One-click install for Cursor:

<img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add to Cursor" height="32" />

Or manually — open ~/.cursor/mcp.json and add:

{
  "mcpServers": {
    "figmind": {
      "command": "npx",
      "args": ["--yes", "figmind@latest"]
    }
  }
}
OS Config path
macOS ~/.cursor/mcp.json
Windows %APPDATA%\Cursor\mcp.json
Linux ~/.config/Cursor/mcp.json

Restart Cursor. The first run downloads figmind automatically (~5 seconds).

Using comment tools? Add your Figma personal access token:

"env": { "FIGMA_TOKEN": "your-figma-personal-access-token" }

Generate one at Figma → Account Settings → Security → Personal access tokens.


Step 2 — Install the Figma plugin

  1. Clone this repository
  2. Run yarn install && yarn build:plugin
  3. Open any file in Figma Desktop
  4. Go to Plugins → Development → Import plugin from manifest
  5. Select packages/figma-plugin/manifest.json
  6. Run Figma MCP Bridge — the indicator turns green when connected

Step 3 — Start designing with AI

With the plugin running and Cursor open, just ask:

Create a frame called "Hero" — 1440×900, centered on the canvas
Add a text node "Welcome back" at x:80, y:120, 32px Inter bold
List all color variable collections in this file
Apply the variable "color/primary" to the fills of node [id]
Create a mobile login screen with email and password fields
Review the design of the screen with node id [id] and fix spacing issues
Generate a 5-screen onboarding flow for a fitness app

Available Tools

Canvas

Tool Description
create_frame Creates a new frame on the canvas
create_text Creates a text node
create_from_html Builds a node tree from HTML/CSS markup
get_file_context Returns a summary of the current file
get_page_components Lists all components on the current page

Nodes

Tool Description
get_node Returns a node's full data by ID
get_children Lists a node's direct children
get_full_tree Returns the full subtree of a node
find_nodes Searches nodes by name or type
set_node_property Updates position, size, fills, strokes, opacity, and more
move_node Moves a node to a different parent
delete_node Removes a node

Components

Tool Description
create_component_instance Instantiates a published component by key
swap_component Swaps a component instance to a different master

Design

Tool Description
get_design_system_kit Returns fonts, colors, and tokens from the file
get_all_used_styles Lists all styles used in the document
get_available_fonts Lists all available fonts

Variables

Tool Description
get_variable_collections Lists all variable collections
get_variables Lists variables, optionally filtered by collection
apply_variable_to_node Binds a variable to a node property
get_library_variables Lists variables from connected libraries

Prototype

Tool Description
set_reactions Sets prototype reactions (links, animations) on a node

Export

Tool Description
export_node Exports a node as an image (returns base64)
export_batch Exports multiple nodes at once
export_page Exports the full page

Comments (requires FIGMA_TOKEN)

Tool Description
create_comment Creates a comment on the file
get_comments Lists all comments on the file

Built-in Prompts

figmind ships with three ready-to-use prompts:

Prompt Description
create-screen Generate a mobile screen following the project design system
review-screen Review a screen for design issues and layout problems
create-flow Generate a full multi-screen user flow for a feature

Architecture

packages/
├── mcp-server/      # Node.js — published to npm as figmind
│   └── src/
│       ├── index.ts        # Entry point (stdio transport)
│       ├── mcp.ts          # Server factory, registers all tools
│       ├── bridge.ts       # WebSocket bridge to Figma plugin
│       ├── prompts.ts      # Built-in prompts
│       └── tools/          # All MCP tool implementations
└── figma-plugin/    # Figma plugin — bridges commands to the canvas
    └── src/
        ├── code.ts         # Plugin main: executes all Figma API commands
        └── ui/ui.html      # Plugin UI (connection status indicator)

figmind uses the Model Context Protocol SDK over stdio, which means it works with any MCP-compatible client — not just Cursor.


Contributing

Contributions are very welcome! Here's how to get started:

git clone https://github.com/guhcostan/figma-mcp-bridge.git
cd figma-mcp-bridge
yarn install
yarn dev   # starts both the MCP server (watch mode) and plugin bundler

Running tests:

yarn test

Adding a new tool

  1. Create your tool in packages/mcp-server/src/tools/
  2. Register it in packages/mcp-server/src/mcp.ts
  3. Handle the command in packages/figma-plugin/src/code.ts
  4. Add tests in packages/mcp-server/src/tools/__tests__/

Publishing a New Version

Bump the version in packages/mcp-server/package.json, then:

git tag v1.0.1
git push --tags

GitHub Actions publishes to npm automatically on any v* tag.


License

MIT © Gustavo Costa

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured