使用说明
Figma MCP服务器
用于Figma与ChatGPT和其他AI助手集成的模型上下文协议(MCP)服务器。支持OAuth身份验证,并提供查看Figma设计和生成图表预览的工具。
特性
🎨 设计工具
- 获取屏幕截图:生成Figma设计的高质量屏幕截图
- 获取设计背景:从Figma文件中提取设计信息和元数据
- 获取元数据:以XML格式检索文件和节点元数据
📊 图表生成
- 生成图表:创建可导入Figma/FigJam的交互式Mermaid.js图表预览
- 支持流程图、序列图、甘特图和状态图
- 具有缩放、平移和全屏功能的漂亮交互式小部件
- 通过“Figma中的美人鱼”插件轻松导出到Figma
重要限制
Figma REST API为只读
Figma REST API 不支持创建或修改文件这意味着:
❌ 无法通过API创建新的Figma/FigJam文件
❌ 无法将节点或形状添加到现有文件中
❌ 无法以编程方式修改现有设计
✅ 可以读取文件内容和元数据
✅ 可以生成屏幕截图
✅ 可以提取设计信息
图表生成的工作原理
由于我们不能直接在Figma中创建文件 generate_diagram 工具:
- 生成Mermaid代码 根据您的要求
- 渲染预览 在交互式小部件中
- 提供说明 使用“Figma中的美人鱼”插件导入到Figma中
- 复制代码 粘贴到剪贴板以方便粘贴
这种方法让你两全其美:人工智能生成的图表能够在Figma中编辑。
安装
npm install
npm run build
配置
创建一个 .env 使用您的Figma OAuth凭据文件:
FIGMA_CLIENT_ID=your_client_id
FIGMA_CLIENT_SECRET=your_client_secret
FIGMA_REDIRECT_URI=http://localhost:8000/auth/callback
PORT=8000
获取Figma OAuth凭据
- 首选 Figma开发者
- 创建新应用程序
- 设置回调URL以匹配您的
FIGMA_REDIRECT_URI - 复制客户端ID和客户端密码
用法
发展
# Start the MCP server
npm run dev
# Start the widget preview (separate terminal)
npm run dev:preview
服务器将在以下时间可用 http://localhost:8000/mcp
预览版将于 http://localhost:5173
生产
npm run build
npm start
将图表导入Figma
生成图表时,请按照以下步骤将其导入Figma:
- 点击 “在Figma中编辑” 小部件中的按钮
- 安装 人鱼在Figma 插件(如果尚未安装)
- 打开Figma或FigJam
- 运行“人鱼在Figma”插件
- 粘贴您的Mermaid代码(自动复制到剪贴板)
- 点击“生成”以创建您的图表
Figma中的Mermaid插件已被27000多名用户使用,并提供了出色的图表渲染。
小部件功能
图表小部件包括:
- 🔍 缩放控制 -放大/缩小,动画流畅
- 🖱️ 平移和拖动 -单击并拖动以在图表中移动
- 🖼️ 全屏幕模式 -扩展到全屏以获得更好的查看效果
- 🎨 亮色模式 -干净的白色背景,带点图案
- 📋 易于出口 -一键复制到剪贴板
API终点
MCP端点
GET /mcp-MCP协议的SSE流POST /mcp/messages-向MCP服务器发送消息GET /auth/callback-OAuth回调处理程序
工具
get_creenshot
生成Figma节点的屏幕截图。
{
"fileKey": "abc123",
"nodeId": "1:2",
"scale": 2
}
get_design_context
获取节点的设计上下文和元数据。
{
"fileKey": "abc123",
"nodeId": "1:2"
}
获取元数据
获取XML格式的文件/节点元数据。
{
"fileKey": "abc123",
"nodeId": "0:1"
}
发电机图
生成Mermaid.js图表预览。
{
"mermaidCode": "flowchart TD\n A[Start] --> B[End]",
"diagramType": "flowchart",
"title": "My Diagram"
}
建筑
服务器(src/server/server.ts)
- 用于MCP协议的带SSE传输的HTTP服务器
- OAuth 2.0身份验证流程
- 会话管理
- 用于Figma API集成的工具处理程序
小工具(src/components/figjam-diagram.tsx)
- 带有Mermaid.js渲染的React组件
- OpenAI Apps SDK兼容
- 通过全屏模式支持
window.webplusAPI - 响应式设计,支持移动设备
钩子
useDisplayMode()-检测内联模式与全屏模式useMaxHeight()-获取可用视口高度useOpenAiGlobal()-访问OpenAI全局状态
部署
铁路
该项目包括铁路配置:
railway up
码头工人
docker build -t figma-mcp-server .
docker run -p 8000:8000 --env-file .env figma-mcp-server
发展
项目结构
figma-mcp-server/
├── src/
│ ├── components/ # React widgets
│ │ └── figjam-diagram.tsx
│ ├── hooks/ # React hooks
│ │ ├── use-display-mode.ts
│ │ ├── use-max-height.ts
│ │ └── use-openai-global.ts
│ ├── server/ # MCP server
│ │ └── server.ts
│ └── styles/ # CSS styles
├── assets/ # Built widget files
├── dist/ # Built server files
└── package.json
建筑
# Build everything
npm run build
# Build server only
npm run build:server
# Build widgets only
npm run build:widgets
故障排除
OAuth问题
如果身份验证失败:
- 验证您的
FIGMA_CLIENT_ID和FIGMA_CLIENT_SECRET - 确保重定向URI完全匹配
- 检查您的Figma应用程序是否具有正确的范围:
file_read,file_write
小部件未加载
如果小部件不呈现:
- 跑
npm run build:widgets重建 - 检查一下
assets/目录包含构建的文件 - 验证MCP服务器是否正确提供静态文件
图表未渲染
如果Mermaid图无法渲染:
- 检查浏览器控制台是否有错误
- 验证Mermaid代码语法是否有效
- 确保支持的图表类型:流程图、序列图、甘特图、状态图
贡献
欢迎投稿!请确保:
- 代码遵循现有样式
- 小部件是在提交之前构建的
- 测试通过(如果可用)
许可证
麻省理工学院
资源
由ZeroTwo提供技术支持
此Figma MCP服务器是 ZeroTwo人工智能平台 --结合GPT-5、Claude、Gemini和强大设计工具的一体化AI工作空间,让您永远不必离开工作流程。
| 🌐 ZeroTwo——一个应用程序中的所有AI模型 | GPT-5、Claude和Gemini在一个统一的AI工作空间中。不再有交换平台。 |
| ✨ 零两个功能 | AI聊天、图像工作室、视频生成和设计集成MCP工具。 |
| 🤖 人工智能模型——GPT-5、克劳德和双子座 | 为每个设计和开发任务选择最佳模型。 |
| 🔌 ZeroTwo连接器和集成 | 将Figma、Airtable、Google Workspace等连接到您的AI工作流程。 |
| 💰 零二定价 | 将ChatGPT Plus、Claude Pro和Gemini Advanced替换为一个订阅。 |
| 📝 ZeroTwo博客 | 设计+人工智能见解、教程和ZeroTwo产品更新。 |
| 🚀 免费试用ZeroTwo | 生成图表,检查设计,并将AI用于您的Figma工作流程——免费开始。 |
专为ZeroTwo打造 --使用此Figma MCP服务器 ZeroTwo的人工智能助手 生成Mermaid图,检查Figma设计,并直接在您的AI聊天中提取设计上下文。
