Figma Context MCP AIR

Figma Context MCP AIR

An MCP server that gives AI coding agents access to Figma design data, enabling pixel-perfect implementation of designs through structured data extraction, image downloads, and design token retrieval.

Category
访问服务器

README

Figma Context MCP AIR

Give your AI coding agent access to Figma design data.
Implement designs in any framework with pixel-perfect accuracy — in one shot.

npm version npm downloads MIT License


What is this?

figma-context-mcp-air is a Model Context Protocol (MCP) server that gives AI coding tools (Cursor, Claude, Windsurf, etc.) direct access to your Figma design data.

It exposes 9 tools covering the full design-to-code workflow:

Tool Description
get_figma_data Full design data — layout, text, visuals, components (YAML/JSON)
get_design_context Alias for get_figma_data matching the official Figma MCP tool naming
download_figma_images Download PNG/SVG assets from Figma nodes to your local filesystem
get_screenshot Capture a Figma node as a base64 PNG for visual inspection by the AI
get_metadata Sparse XML layer hierarchy for quick node discovery before full extraction
get_variable_defs All design tokens — colors, typography, spacing, effects, and styles
whoami Verify your Figma authentication and check your plan tier
create_design_system_rules Generate framework-specific design system documentation for your project
get_figjam Extract FigJam board content (sticky notes, connectors, shapes) as XML

Before returning data to the AI, the server simplifies and filters the raw Figma API response — keeping only the layout and styling information that matters for code generation. This reduces noise and dramatically improves AI accuracy.


Getting Started

You need a Figma Personal Access Token to use this server.
How to create a Figma API access token →

MacOS / Linux

Add this to your MCP client configuration file (e.g. ~/.cursor/mcp.json, claude_desktop_config.json):

{
  "mcpServers": {
    "Figma MCP AIR": {
      "command": "npx",
      "args": ["-y", "figma-context-mcp-air", "--figma-api-key=YOUR-KEY", "--stdio"]
    }
  }
}

Windows

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

Using Environment Variables

You can also set FIGMA_API_KEY in the env field instead of passing it as a flag:

{
  "mcpServers": {
    "Figma MCP AIR": {
      "command": "npx",
      "args": ["-y", "figma-context-mcp-air", "--stdio"],
      "env": {
        "FIGMA_API_KEY": "YOUR-KEY"
      }
    }
  }
}

How it works

  1. Open your AI coding tool's chat (e.g. agent mode in Cursor).
  2. Paste a link to a Figma file, frame, or component.
  3. Ask the AI to implement the design.
  4. The AI calls get_design_context (or get_figma_data) to fetch structured design data, then writes your code.

For more advanced workflows, the AI can:

  • Call get_screenshot to visually inspect a node before implementing it
  • Call get_variable_defs to extract your design tokens and map them to CSS variables
  • Call get_metadata for a quick layer overview before fetching full data
  • Call create_design_system_rules to generate project-specific coding guidelines

Configuration Options

CLI Flag Environment Variable Default Description
--figma-api-key FIGMA_API_KEY (required) Your Figma Personal Access Token
--figma-oauth-token FIGMA_OAUTH_TOKEN — OAuth Bearer token (alternative to PAT)
--port PORT 3333 HTTP server port (HTTP mode only)
--json OUTPUT_FORMAT=json YAML Return JSON instead of YAML
--skip-image-downloads SKIP_IMAGE_DOWNLOADS false Disable the download_figma_images tool
--image-dir — — Custom directory for downloaded images
--stdio NODE_ENV=cli — Run in stdio mode (required for MCP clients)

Tool Reference

get_figma_data / get_design_context

Fetches and simplifies Figma design data for a file or specific node. Returns layout (flexbox/grid), typography, colors, borders, effects, and component metadata in YAML or JSON.

Parameters:

  • fileKey (required) — The key from your Figma URL: figma.com/design/<fileKey>/...
  • nodeId (optional) — The node ID from the URL: ?node-id=<nodeId>. Use format 1234:5678.
  • depth (optional) — How many levels deep to traverse. Only use if explicitly needed.

download_figma_images

Downloads PNG or SVG renders of Figma nodes to your local filesystem.

Parameters:

  • fileKey (required)
  • nodes (required) — Array of { nodeId, fileName } objects
  • localPath (required) — Directory to save images
  • pngScale (optional) — Scale factor for PNG exports (default: 1)
  • svgOptions (optional) — SVG export options (outline text, include IDs, simplify strokes)

get_screenshot

Captures a Figma node as a 2x PNG and saves it to disk. Useful for visual validation.

Parameters:

  • fileKey (required)
  • nodeId (required)
  • localPath (optional) — Save directory (default: ./screenshots)
  • fileName (optional) — Output filename without extension

get_metadata

Returns a sparse XML representation of the node hierarchy (depth=2). Use this for quick layer discovery before fetching full design context.

Parameters:

  • fileKey (required)
  • nodeId (required)

get_variable_defs

Fetches all design tokens from a Figma file — variable collections (colors, spacing, typography) and published styles (effects, text styles, fill styles). Returns data with CSS custom property syntax.

Parameters:

  • fileKey (required)

whoami

Returns the authenticated user's Figma account information (name, email, plan tier). Useful for verifying your API key is working.

Parameters: None


create_design_system_rules

Generates a comprehensive markdown template for project-specific design system rules. Tailored to your language and framework combination. Save the output to CLAUDE.md or your project's AI instructions file.

Parameters:

  • clientLanguages (required) — e.g. "typescript,javascript"
  • clientFrameworks (required) — "react", "vue", "svelte", "angular", or "unknown"

get_figjam

Extracts content from a FigJam board — sticky notes, connectors, shapes, sections — as XML with screenshot URLs.

Parameters:

  • fileKey (required)
  • nodeId (optional) — Specific section or frame within the FigJam board

Development

# Install dependencies
pnpm install

# Build
pnpm build

# Development mode (HTTP, with watch)
pnpm dev

# Development mode (stdio)
pnpm dev:cli

# Run tests
pnpm test

# Type check
pnpm type-check

# Lint
pnpm lint

Contributing

Contributions are welcome! Please read CONTRIBUTING.md before submitting a pull request.

For major features, open an issue first to discuss the approach.


License

MIT — see LICENSE


Acknowledgements

This project is a fork of GLips/Figma-Context-MCP (the Framelink MCP server), extended with additional tools to match the full official Figma MCP tool surface.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选