Skip to main content
Glama

Figma MCP

MCP server for the Figma API. Lets AI agents fetch designs, nodes, and rendered images from Figma.

Features

  • 🎨 Get Node — Fetch node JSON with layout, styles, children

  • 🖼️ Get Image — Render any node as PNG/JPG/SVG/PDF

  • 📋 List Frames — Discover all frames in a file

  • 🔍 Search — Find nodes by name

Related MCP server: figmind

Quick Start

npm install
npm run build

Configuration

Requires FIGMA_TOKEN environment variable. Get one from: https://www.figma.com/developers/api#access-tokens

Claude Desktop

Add to ~/.config/claude/claude_desktop_config.json:

{
  "mcpServers": {
    "figma": {
      "command": "node",
      "args": ["/path/to/figma-mcp/dist/server.js"],
      "env": {
        "FIGMA_TOKEN": "figd_xxxxx"
      }
    }
  }
}

Claude Code

Add to .claude/settings.json:

{
  "mcpServers": {
    "figma": {
      "command": "node",
      "args": ["/path/to/figma-mcp/dist/server.js"],
      "env": {
        "FIGMA_TOKEN": "figd_xxxxx"
      }
    }
  }
}

Tools

figma_get_node

Get a node's JSON data including layout, styles, and children.

figma_get_node({
  fileKey: "jWm9EQEE08EY743SGyj6ru",  // From Figma URL
  nodeId: "9389-158685",               // Node ID
  depth: 2                             // Children depth (0-10)
})

Returns:

{
  "id": "9389:158685",
  "name": "DR_Home__ConnectOrg_0004_",
  "type": "FRAME",
  "size": { "width": 1440, "height": 1024 },
  "children": 3,
  "full": { ... }
}

figma_get_image

Render a node as an image.

figma_get_image({
  fileKey: "jWm9EQEE08EY743SGyj6ru",
  nodeId: "9389-158685",
  scale: 2,        // 0.5 - 4
  format: "png"    // png, jpg, svg, pdf
})

Returns:

{
  "nodeId": "9389-158685",
  "imageUrl": "https://figma-alpha-api.s3.us-west-2.amazonaws.com/images/...",
  "format": "png",
  "scale": 2
}

figma_list_frames

List all top-level frames in a file.

figma_list_frames({
  fileKey: "jWm9EQEE08EY743SGyj6ru"
})

Returns:

Found 45 frames:

- **Home Page** (FRAME) — id: `123:456`
- **Settings Modal** (FRAME) — id: `789:012`
...

Search for nodes by name.

figma_search({
  fileKey: "jWm9EQEE08EY743SGyj6ru",
  query: "Button"
})

Returns:

Found 12 matches for "Button":

- **Primary Button** (COMPONENT)
  id: `1:234`
  path: Document → Components → Buttons → Primary Button
...

Getting File Key and Node ID

From a Figma URL:

https://www.figma.com/design/jWm9EQEE08EY743SGyj6ru/File-Name?node-id=9389-158685
                              ^^^^^^^^^^^^^^^^^^^^^^^^                ^^^^^^^^^^^
                              fileKey                                 nodeId

License

MIT

F
license - not found
Not graded
quality - not tested
D
maintenance

Maintenance

0Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

View all related MCP servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sebachowa/figma-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server