适用角色与上手难度
🎯 学习产出: 掌握 Figma MCP 集成,能实现设计稿到代码的自动转换
🚀 AI 能力提升: 设计→代码、技能扩展
Figma MCP
预计阅读时间: 21 分钟Figma MCP 是 Figma 官方提供的 MCP 服务器,通过 Figma API 和 Plugin API 连接 Figma 文件,让 Claude Code 可以直接读取设计稿生成代码、将代码页面推入 Figma、建立组件映射,以及构建设计系统。
概述
Figma MCP 解决了前端开发中设计与代码脱节的几个核心问题:
- 设计→代码:从 Figma 设计稿获取设计上下文(样式、布局、资源),直接生成前端组件代码
- 代码→设计:将运行的页面或组件推入 Figma,生成像素级设计稿,保持设计与实现同步
- 组件映射:通过 Code Connect 建立 Figma 组件与代码组件的双向链接
- 设计系统构建:从代码中提取 Token、组件,在 Figma 中构建完整的设计系统
安装配置
安装插件
在 Claude Code 中安装 Figma 插件:
安装完成后重新加载插件:
Figma 认证
安装后需要连接 Figma 账号:
选择 Figma 并完成 OAuth 认证。认证成功后,Figma MCP 工具即可使用。
验证安装
用 whoami 确认认证状态:
Claude Code 会调用 whoami 工具,返回当前登录的 Figma 用户信息。
权限配置
建议在 .claude/settings.local.json 中允许 Figma MCP 的工具权限,减少重复授权提示:
工具全景
Figma MCP 提供 20+ 个工具,按用途分为四类:
读取类(从 Figma 获取信息)
写入类(向 Figma 写入/修改)
设计系统类
Code Connect 类(组件映射)
读操作优先于写操作。在修改 Figma 文件之前,先用 get_metadata 或 get_design_context 了解现有结构。对于写入操作,遵循增量构建原则——每次 use_figma 调用只做 5–10 个逻辑操作,验证后再继续。
技能体系
Figma MCP 提供了 4 个结构化技能(Skills),它们封装了常见工作流的完整步骤。技能之间是互补关系,而非替代关系:
技能的调用关系
每次使用 use_figma 写 Figma 时,必现先加载 figma-use 技能,因为它包含了 Plugin API 的关键规则:颜色范围(0–1 而非 0–255)、字体加载要求、Page 切换方式、HUG/FILL 限制等。跳过它会直接导致代码执行失败。
设计→代码(读取 Figma 生成前端组件)
这是最常用的工作流:从设计师提供的 Figma URL 中提取设计信息,直接生成前端组件代码。
核心工具:get_design_context
get_design_context 是设计→代码的主入口。给定一个 Figma 节点 URL,它会返回:
- 参考代码 — 基于节点结构生成的 HTML/CSS 或 React 代码片段
- 截图 — 节点渲染后的外观
- 元数据 — 节点的样式信息(颜色、字体、间距等)
- 资源 URL — 节点中引用的图片等资产的下载链接
完整示例:从设计稿实现 Card 组件
假设设计师给了一个 Card 组件的 Figma 链接:
步骤 1:获取设计上下文
Claude Code 会自动解析 URL,提取 fileKey=ABC123、nodeId=42:100,调用 get_design_context。
返回的内容包含:
- 节点的样式分析(背景色、圆角、阴影、内边距)
- 子元素的布局方式(Auto Layout → Flexbox 映射)
- 文本内容和字体样式
- 颜色值和间距数值
步骤 2:生成组件代码
结合设计上下文,Claude Code 会生成适配项目的组件代码。例如使用 React + Tailwind CSS:
步骤 3:提取和下载资源
如果需要原设计稿中的图片、图标等资源,使用 download_assets:
Figma MCP 会返回可下载的 URL 列表,Claude Code 将其保存到项目的 public/ 或 assets/ 目录。
常用读取模式
获取页面结构概览
用 get_metadata 快速了解 Figma 文件的页面和层级结构:
获取设计变量(Design Tokens)
用 get_variable_defs 提取设计系统中定义的颜色、间距等 Token:
返回的变量可以直接映射为 CSS 变量或 Tailwind 配置。
获取特定状态/变体的截图
用 get_screenshot 查看组件的不同状态(hover、active、disabled):
这对于理解组件的视觉细节(阴影层次、渐变效果)非常有用——文字描述很难传达这些细微的视觉差异。
设计→代码的局限性
生成代码后,通常需要手动调整:响应式宽度、交互状态、无障碍属性(aria-label、role)。
代码→设计(将页面推入 Figma)
反向工作流:将开发好的前端页面或组件推入 Figma,保持设计与实现同步。
两种途径
最佳实践是并行使用两者:
- 用
generate_figma_design捕获像素级页面截图作为参考 - 同时用
use_figma从设计系统组件实例构建页面 - 对比两者,修正布局细节
- 删除截图输出,保留组件实例版本
途径 A:generate_figma_design(自动捕获)
适合「快速将页面推入 Figma 看看效果」。需要页面可通过 URL 访问(本地 dev server 或线上地址)。
generate_figma_design 会:
- 启动浏览器访问目标页面
- 截图并分析页面结构
- 在 Figma 文件中创建对应的 Frame 和节点
此工具需要 fileKey。如果还没有 Figma 文件,先用 create_new_file 创建一个:
途径 B:use_figma 手动构建(组件实例)
适合「需要与设计系统保持链接」的场景。构建出的节点是设计系统组件实例,后续设计系统更新后可以自动同步。
这个工作流需要先加载 figma-generate-design 技能,然后按以下步骤执行:
步骤 1:发现设计系统组件
使用 search_design_system 在已发布的设计系统中查找可用组件。
步骤 2:发现设计变量
步骤 3:创建页面骨架
通过 use_figma 创建 Auto Layout 容器:
步骤 4:按区域构建内容
每个区域(Header、Hero、Product Grid、Footer)一个 use_figma 调用,逐步填充页面内容。每完成一个区域,用 get_screenshot 验证视觉效果。
并行工作流对比
Code Connect(组件映射)
Code Connect 建立 Figma 设计系统组件与代码组件之间的双向映射。映射后:
- 在 Figma 中选中组件时,可以看到对应的代码实现
- Dev Mode 中显示代码组件的导入路径和使用方式
- 设计变更时可以追踪影响到的代码文件
工作流
Code Connect 的工作流分为六步:
步骤 1:解析 Figma URL
从 Figma 链接中提取 fileKey 和 nodeId:
步骤 2:发现未映射组件
使用 get_code_connect_suggestions 查找选定节点中哪些已发布的组件还没有 Code Connect:
步骤 3:获取组件属性
对每个未映射组件,调用 get_context_for_code_connect 获取其属性定义:
- TEXT — 文本内容(标签、占位文字)
- BOOLEAN — 开关(显示/隐藏图标、禁用状态)
- VARIANT — 枚举选项(尺寸、样式、状态)
- INSTANCE_SWAP — 可替换的嵌套组件(图标等)
步骤 4:匹配代码组件
在项目中搜索与 Figma 组件匹配的代码组件。检查 Props 接口是否与 Figma 属性对应。
步骤 5:创建 .figma.ts 模板
在组件文件旁边创建 .figma.ts 映射文件。以 Button 组件为例:
figma.code 是 Code Connect 的标记模板字面量——它会将 Figma 属性值映射为实际的代码片段。
Code Connect 的使用场景
实战案例
案例 1:从设计稿实现登录页面
目标:从 Figma 设计稿提取登录页面的设计信息,用 React + Tailwind CSS 实现。
步骤 1:获取设计上下文。
步骤 2:分析返回结果——设计稿包含:背景色 #F9FAFB、居中的白色卡片(480px 宽)、标题「欢迎回来」、邮箱输入框、密码输入框、「记住我」复选框、登录按钮、注册链接。
步骤 3:生成组件代码:
步骤 4:用 download_assets 下载 Logo 等图片资源。
案例 2:将商品列表页同步到 Figma
目标:开发完的商品列表页推入 Figma,创建可编辑的设计稿。
前提:已有 Figma 文件(fileKey),如果还没有则用 create_new_file 创建。
步骤 1(并行):同时启动自动捕获和手动构建。
步骤 2:对比两个结果。
- 自动捕获版本——像素级精确,但节点不可编辑
- 手动构建版本——组件实例可编辑,但布局可能略有偏差
步骤 3:以自动捕获版本为参考,调整手动构建版本的间距、尺寸等细节。
步骤 4:删除自动捕获版本,保留手动构建版本作为最终产出。
最佳实践与常见陷阱
use_figma 核心规则
这些规则来自 figma-use 技能,每次写入前都要检查:
增量构建
写 Figma 时不要试图一次性完成所有操作。遵循增量构建三步法:
- Inspect 先看 — 先跑只读脚本了解文件结构
- Skeleton 先建 — 创建外层容器和区域骨架
- Section 逐步填 — 每次只填充一个区域的内容
常见错误及解决
技能加载提醒
- 每次调用
use_figma前,先加载figma-use技能 - 构建页面/视图时,同时加载
figma-generate-design - 构建设计系统时,同时加载
figma-generate-library - 建立组件映射时,加载
figma-code-connect
与前端工具链的协作
Figma MCP 在前端工具链中的位置:
相关资源
- Figma MCP 官方文档
- Figma Plugin API 参考
- Code Connect 指南
- 前端工具链集成全景 — 完整的五阶段工作流
- Chrome DevTools MCP — 浏览器调试工具

