Skip to main content

A FastMCP server connecting an IDE directly to the Figma Desktop App.

Project description

Figma fastMCP Server \U0001f3a8

An open-source Model Context Protocol (MCP) server that connects your IDE (like Cursor, Claude Desktop, or Antigravity) directly to the Figma Desktop App. This allows AI assistants to proactively generate and manipulate layouts, shapes, and designs directly inside your Figma canvas!

How it Works

The architecture consists of two parts running in tandem:

  1. Figma Plugin (figma-plugin): Runs inside your Figma drawing canvas. It hosts a hidden websocket client to receive instructions.
  2. FastMCP Python Server (mcp-server): Runs as a background service through your IDE's MCP config. It exposes AI tools (e.g. create_rectangle, create_frame) and sends those commands to Figma via WebSockets.

Installation & Setup for Users

1. Start the Figma Plugin

You need the plugin running inside Figma to receive drawing commands. (If this plugin is published to Figma Community, link it here. Until then, use local dev mode):

  • Download this repository.
  • Open Figma Desktop App.
  • Right-click anywhere in your design canvas > Plugins > Development > Import plugin from manifest.
  • Select the manifest.json file inside the figma-plugin/ folder.
  • Run the MCP Link plugin from the plugins menu. Keep the small UI window open!

2. Configure Your IDE

You will need Python installed on your machine. Add the following to your IDE's MCP configuration settings (e.g., mcp.json in Cursor/VSCode):

{
  "mcpServers": {
    "figma-generator": {
      "command": "python",
      "args": ["<PATH_TO_THIS_REPO>/figma_dash_mcp_server/server.py"]
    }
  }
}

(Make sure to install the python requirements using uv init or your preferred tool!)

3. Usage

Once your IDE reloads the MCP config, just ask the AI agent:

"Hey, can you use your Figma tools to create a red rectangle and a title text frame in Figma?"

The shapes will pop up inside your Figma desktop app instantly!

Development

To add new tools:

  1. Open figma_dash_mcp_server/server.py and create a new @mcp.tool() function.
  2. Have the python tool send a new JSON method (like create_circle) over send_to_figma.
  3. Open figma-plugin/code.js and add an else if (toolName === 'create_circle') block to execute the physical drawing logic using the Figma Plugin API.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

figma_dash_mcp_server-0.1.1.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

figma_dash_mcp_server-0.1.1-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file figma_dash_mcp_server-0.1.1.tar.gz.

File metadata

  • Download URL: figma_dash_mcp_server-0.1.1.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for figma_dash_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f149064a72f47f7a2b46f4a58d622f6bd65b0291f975da9ae604351dcccc4cb8
MD5 fed78b31bc1276a0bcc57eff35172137
BLAKE2b-256 0caf6e7a5fcfcd0674780c9dd20cbdd0cb7784b7a28ea7085f44036b4844ffde

See more details on using hashes here.

File details

Details for the file figma_dash_mcp_server-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: figma_dash_mcp_server-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for figma_dash_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5448deaa4968dcb93753fe515b082ce1a1b6bd8d42beac79649bf875a3ad2061
MD5 2c6ff52108df2e875d22a5a2a20b0c45
BLAKE2b-256 978b2de5a9d23bad8d771f7863150632f2bd851ba791b69ba6a1e521562f2c49

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page