mcpField
F
Figma-Context-MCP-AIR

Figma-Context-MCP-AIR

本地服务
github.com/compassalessandrolorenz媒体与设计130 周前更新

关于 Figma-Context-MCP-AIR

Figma-Context-MCP-AIR 为编码 Agent 提供结构化的 Figma 设计数据。其 9 个工具涵盖设计细节、资源、变量、截图和 FigJam 内容。

主要功能

  1. 01结构化布局与样式数据
  2. 02下载 PNG 和 SVG 资源
  3. 03用于视觉检查的截图
  4. 04提取设计变量
  5. 05提取 FigJam 画板内容
  6. 06生成特定框架的设计规则

适用场景

  1. 01将 Figma 画面实现为代码
  2. 02视觉检查设计节点
  3. 03将设计变量映射为 CSS 变量
  4. 04记录项目设计规范

MCP 相关

该 MCP 服务向客户端提供 9 个 Figma 工具,包括设计上下文、截图、变量和 FigJam 内容提取。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"compassalessandrolorenz-figma-context-mcp-air": {
"command": "npx",
"args": [
"-y",
"figma-context-mcp-air"
],
"env": {
"FIGMA_API_KEY": "<FIGMA_API_KEY>"
}
}
}
}
启动命令npx -y figma-context-mcp-air
需要配置的环境变量
FIGMA_API_KEY密钥Your Figma Personal Access Token, learn more here: https://www.figma.com/developers/api#access-tokens

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmfigma-context-mcp-air2.0.2

工具

9

收录的工具列表 · 更新于 2 周前

参数类型必填说明
depthnumber否可选。除非用户明确要求,否则请勿使用。控制遍历节点树的深度。
nodeIdstring否要获取的节点 ID,通常可在 URL 参数 node-id=<nodeId> 中找到;提供时务必使用。多个节点请使用 '1234:5678' 或 'I5666:180910;1:10515;1:10336' 格式。
fileKeystring是要获取的 Figma 文件的键,通常可在提供的 URL 中找到,例如 figma.com/(file|design)/<fileKey>/...

详细介绍

Figma Context MCP AIR

让你的 AI 编码 Agent 访问 Figma 设计数据。
以像素级精度在任意框架中实现设计,一次搞定。

npm version npm downloads MIT License


这是什么?

figma-context-mcp-air 是一个 Model Context Protocol (MCP) 服务,可让 AI 编码工具(Cursor、Claude、Windsurf 等)直接访问你的 Figma 设计数据。

它提供 9 个工具,涵盖从设计到代码的完整工作流:

工具描述
get_figma_data完整设计数据——布局、文本、视觉元素、组件(YAML/JSON)
get_design_contextget_figma_data 的别名,命名与官方 Figma MCP 工具一致
download_figma_images将 Figma 节点的 PNG/SVG 资源下载到本地文件系统
get_screenshot将 Figma 节点截取为 base64 PNG,供 AI 进行视觉检查
get_metadata精简的 XML 图层层级结构,便于在完整提取前快速查找节点
get_variable_defs所有设计令牌——颜色、排版、间距、效果和样式
whoami验证你的 Figma 身份验证状态并查看套餐等级
create_design_system_rules为你的项目生成特定框架的设计系统文档
get_figjam将 FigJam 画板内容(便笺、连接线、形状)提取为 XML

在将数据返回给 AI 之前,服务会简化并筛选原始 Figma API 响应,只保留代码生成所需的布局和样式信息。这能减少干扰,大幅提高 AI 的准确性。


开始使用

使用此服务需要 Figma Personal Access Token。
如何创建 Figma API 访问令牌 →

MacOS / Linux

将以下内容添加到 MCP 客户端配置文件中(例如 ~/.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"]
    }
  }
}
使用环境变量

你也可以在 env 字段中设置 FIGMA_API_KEY,而不是将其作为标志传入:

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

工作原理

  1. 打开 AI 编码工具的聊天界面(例如 Cursor 中的 Agent 模式)。
  2. 粘贴 Figma 文件、画框或组件的链接。
  3. 让 AI 实现该设计。
  4. AI 调用 get_design_context(或 get_figma_data)获取结构化设计数据,然后编写代码。

对于更高级的工作流,AI 可以:

  • 调用 get_screenshot,在实现前直观检查节点
  • 调用 get_variable_defs,提取设计令牌并映射为 CSS 变量
  • 调用 get_metadata,在获取完整数据前快速查看图层概览
  • 调用 create_design_system_rules,生成针对项目的编码指南

配置选项

CLI 标志环境变量默认值描述
--figma-api-keyFIGMA_API_KEY(必需)你的 Figma Personal Access Token
--figma-oauth-tokenFIGMA_OAUTH_TOKEN—OAuth Bearer 令牌(PAT 的替代方式)
--portPORT3333HTTP 服务端口(仅限 HTTP 模式)
--jsonOUTPUT_FORMAT=jsonYAML返回 JSON 而不是 YAML
--skip-image-downloadsSKIP_IMAGE_DOWNLOADSfalse禁用 download_figma_images 工具
--image-dir——下载图像的自定义目录
--stdioNODE_ENV=cli—以 stdio 模式运行(MCP 客户端必需)

工具参考

get_figma_data / get_design_context

获取并简化 Figma 文件或特定节点的设计数据。以 YAML 或 JSON 格式返回布局(flexbox/grid)、排版、颜色、边框、效果和组件元数据。

参数:

  • fileKey (必填) — Figma URL 中的键:figma.com/design/<fileKey>/...
  • nodeId (可选) — URL 中的节点 ID:?node-id=<nodeId>。使用 1234:5678 格式。
  • depth (可选) — 遍历深度。仅在明确需要时使用。

download_figma_images

将 Figma 节点的 PNG 或 SVG 渲染图下载到本地文件系统。

参数:

  • fileKey (必填)
  • nodes (必填) — { nodeId, fileName } 对象数组
  • localPath (必填) — 保存图像的目录
  • pngScale (可选) — PNG 导出的缩放比例(默认值:1)
  • svgOptions (可选) — SVG 导出选项(轮廓化文本、包含 ID、简化描边)

get_screenshot

将 Figma 节点截取为 2x PNG 并保存到磁盘。适用于视觉验证。

参数:

  • fileKey (必填)
  • nodeId (必填)
  • localPath (可选) — 保存目录(默认值:./screenshots)
  • fileName (可选) — 不含扩展名的输出文件名

get_metadata

返回节点层级的稀疏 XML 表示(depth=2)。在获取完整设计上下文前,可用它快速发现图层。

参数:

  • fileKey (必填)
  • nodeId (必填)

get_variable_defs

获取 Figma 文件中的所有设计令牌——变量集合(颜色、间距、排版)和已发布样式(效果、文本样式、填充样式)。返回采用 CSS 自定义属性语法的数据。

参数:

  • fileKey (必填)

whoami

返回已认证用户的 Figma 账户信息(姓名、电子邮件、套餐等级)。可用于验证 API 密钥是否有效。

参数: 无


create_design_system_rules

生成全面的 Markdown 模板,其中包含针对项目的设计系统规则。根据语言与框架的组合进行定制。将输出保存到 CLAUDE.md 或项目的 AI 指令文件中。

参数:

  • clientLanguages (必填) — 例如 "typescript,javascript"
  • clientFrameworks (必填) — "react"、"vue"、"svelte"、"angular" 或 "unknown"

get_figjam

将 FigJam 白板中的内容——便签、连接线、形状、分区——提取为带有截图 URL 的 XML。

参数:

  • fileKey (必填)
  • nodeId (可选) — FigJam 白板中的特定分区或画板

开发

# 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.md。

对于重大功能,请先创建议题,讨论实施方案。


许可证

MIT — 请参阅 LICENSE


致谢

本项目是 GLips/Figma-Context-MCP(Framelink MCP 服务)的分支,并扩展了其他工具,以匹配 Figma 官方 MCP 工具的完整功能范围。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。