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.0.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.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: figma_dash_mcp_server-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 61c2dc4273b24635c12102325de7f53adc01b541e7d74711f87c80d8281bc0fd
MD5 569eca7fe735fc5570b58da0f49cf064
BLAKE2b-256 19cdc7e76855c34b4880cec6983621390b67bee485d3ea57b456b8866c3607e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: figma_dash_mcp_server-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 499adeada11eeff9566a2f20f19d75eb79091b5a946e36966e2e370603c609ce
MD5 687e2c653f2f00f2f11aa76465c42909
BLAKE2b-256 1c5121a1af505c225a96242c81e2e8fc1a6aef2566ca7149d73df1b80b433cab

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