FigmaMCP 1.0.1
See the version list below for details.
dotnet tool install --global FigmaMCP --version 1.0.1
dotnet new tool-manifest
dotnet tool install --local FigmaMCP --version 1.0.1
#tool dotnet:?package=FigmaMCP&version=1.0.1
nuke :add-package FigmaMCP --version 1.0.1
Figma MCP
Figma MCP is a local companion for an open Figma document through the Figma Bridge plugin. The MCP client starts a .NET process and communicates with it over STDIO, while the plugin connects to the same process through a loopback WebSocket.
flowchart LR
client[MCP client] <-->|stdin / stdout| companion[Local MCP companion]
companion <-->|WebSocket: /bridge| plugin[Figma Bridge plugin]
Capabilities
- MCP over STDIO: the protocol uses
stdinandstdout, while diagnostics go tostderr. - A loopback-only MessagePack WebSocket bridge using
figma-mcp-bridge.v2. - Explicit
connection_idvalues for document-specific tools. - An in-memory connection registry, sequential RPC per connection, and bounded payloads.
- Local tools for reading and editing Figma Design documents.
The documentation website includes the tool reference and Plugin API coverage, which describe the contract, capabilities, and limits.
Requirements
- Figma Desktop.
- .NET 10 SDK when installing the companion as a global .NET tool.
- No .NET installation when using a self-contained Windows, Linux, or macOS release archive.
- Node.js and npm only when building the Figma plugin or running MCP Inspector from source.
Quick start
Install the companion from NuGet.org:
dotnet tool install --global FigmaMCPDownload
figma-mcp-plugin.<version>.zipfrom the matching GitHub Release, extract it, and import itsmanifest.jsonin Figma Desktop as a development plugin. Open the plugin in the desired document. Keep the Bridge port at3846, unless you configure a different port for the server with--port <1-65535>or the server reports a fallback port onstderrat startup.Configure the MCP client to start
figma-mcp-serverover STDIO:{ "mcpServers": { "figma": { "command": "figma-mcp-server" } } }
After the plugin connects, call list_figma_connections and pass the returned connection_id to
document-specific tools.
Self-contained companion
Each GitHub Release also contains self-contained archives for Windows x64, Linux x64, and Apple Silicon macOS. These builds do not require .NET to be installed:
figma-mcp-server-win-x64.<version>.zipfigma-mcp-server-linux-x64.<version>.zipfigma-mcp-server-osx-arm64.<version>.zip
To build one locally, select its runtime explicitly:
./build.ps1 --target :server:publish --configuration Release --runtime win-x64
The generated files are in artifacts/server/<runtime>. Configure FigmaMCP.exe on Windows or
FigmaMCP on Linux/macOS as the MCP server command. Add --port <1-65535> to select the local Bridge
port when the default 3846 is unavailable. Do not redirect its stdout: it is reserved for MCP
protocol traffic.
Build from source
The repository pins the .NET SDK in global.json. Build the companion, plugin, and documentation through the root build:
./build.ps1 --configuration Release
Start MCP Inspector against the local companion with:
./build.ps1 --target :server:inspector --configuration Debug
Repository layout
flowchart TD
root[Repository] --> packages[packages]
packages --> plugin[plugin: Figma Bridge plugin]
packages --> server[server: .NET 10 MCP companion and tests]
root --> docs[docs: architecture, development, and tool-contract documentation]
Documentation
- Documentation website
- Architecture
- Development and validation
- Normative specification
- Contributing
- Security
Validation status
The server and synthetic bridge tests run locally. The full scenario requires a manual Figma Desktop check: import the development plugin, connect the bridge, and run a tool against a real document.
This project is not affiliated with Figma and is distributed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.