MCPcopy
hub / github.com/GLips/Figma-Context-MCP

github.com/GLips/Figma-Context-MCP @v0.13.2 sqlite

repository ↗ · DeepWiki ↗ · release v0.13.2 ↗
288 symbols 811 edges 79 files 47 documented · 16%
README

<img alt="Framelink" src="https://www.framelink.ai/github/HeaderLight.png" />

Framelink MCP for Figma

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

weekly downloads MIT License Discord

Twitter

Give Cursor and other AI-powered coding tools access to your Figma files with this Model Context Protocol server.

When Cursor has access to Figma design data, it's way better at one-shotting designs accurately than alternative approaches like pasting screenshots.

See quickstart instructions →

Demo

Watch a demo of building a UI in Cursor with Figma design data

Watch the video

How it works

  1. Open your IDE's chat (e.g. agent mode in Cursor).
  2. Paste a link to a Figma file, frame, or group.
  3. Ask Cursor to do something with the Figma file—e.g. implement the design.
  4. Cursor will fetch the relevant metadata from Figma and use it to write your code.

This MCP server is specifically designed for use with Cursor. Before responding with context from the Figma API, it simplifies and translates the response so only the most relevant layout and styling information is provided to the model.

Reducing the amount of context provided to the model helps make the AI more accurate and the responses more relevant.

Getting Started

Many code editors and other AI clients use a configuration file to manage MCP servers.

The figma-developer-mcp server can be configured by adding the following to your configuration file.

NOTE: You will need to create a Figma access token to use this server. Instructions on how to create a Figma API access token can be found here.

MacOS / Linux

{
  "mcpServers": {
    "Framelink MCP for Figma": {
      "command": "npx",
      "args": ["-y", "figma-developer-mcp", "--figma-api-key=YOUR-KEY", "--stdio"]
    }
  }
}

Windows

{
  "mcpServers": {
    "Framelink MCP for Figma": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "figma-developer-mcp", "--figma-api-key=YOUR-KEY", "--stdio"]
    }
  }
}

Or you can set FIGMA_API_KEY and PORT in the env field.

If you need more information on how to configure the Framelink MCP for Figma, see the Framelink docs.

Star History

Star History Chart

Learn More

The Framelink MCP for Figma is simple but powerful. Get the most out of it by learning more at the Framelink site.

Extension points exported contracts — how you extend this code

Resolved (Interface)
(no doc)
src/config.ts
FigmaUrlParts (Interface)
(no doc)
src/utils/figma-url.ts
InitTelemetryOptions (Interface)
(no doc)
src/telemetry/types.ts
SimplifiedPropertyDefinition (Interface)
(no doc)
src/transformers/component.ts
TraversalContext (Interface)
(no doc)
src/extractors/types.ts
ExtractorTiming (Interface)
(no doc)
scripts/benchmark-simplify.ts
ServerFlags (Interface)
(no doc)
src/config.ts
SimplifiedComponentDefinition (Interface)
(no doc)
src/transformers/component.ts

Core symbols most depended-on inside this repo

buildSimplifiedLayout
called by 68
src/transformers/layout.ts
extractFromDesign
called by 29
src/extractors/node-walker.ts
resolve
called by 25
src/config.ts
serializeResult
called by 25
src/utils/serialize.ts
hasValue
called by 21
src/utils/identity.ts
tagError
called by 18
src/utils/error-meta.ts
row
called by 17
scripts/benchmark-simplify.ts
wrapForSerialization
called by 15
src/utils/serializable-design.ts

Shape

Function 247
Interface 17
Method 14
Class 10

Languages

TypeScript100%

Modules by API surface

src/transformers/text.ts20 symbols
src/config.ts16 symbols
src/services/figma.ts13 symbols
src/extractors/built-in.ts13 symbols
src/utils/identity.ts11 symbols
src/server.ts10 symbols
src/extractors/finalize.ts10 symbols
scripts/benchmark-simplify.ts10 symbols
src/transformers/layout/common.ts9 symbols
src/transformers/component.ts9 symbols
src/utils/common.ts8 symbols
src/transformers/style/color.ts8 symbols

Dependencies from manifests, versioned

@eslint/js9.33.0 · 1×
@figma/rest-api-spec0.37.0 · 1×
@jimp/core1.6.0 · 1×
@jimp/js-gif1.6.0 · 1×
@jimp/js-jpeg1.6.0 · 1×
@jimp/js-png1.6.0 · 1×
@jimp/plugin-crop1.6.0 · 1×
@modelcontextprotocol/sdk1.29.0 · 1×
@types/express5.0.0 · 1×
@types/js-yaml4.0.9 · 1×
@types/node25.3.3 · 1×
@typescript-eslint/eslint-plugin8.56.1 · 1×

For agents

$ claude mcp add Figma-Context-MCP \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact