Figma MCP服务器(Apify Actor)
公开的模型上下文协议(MCP)服务器 Figma REST API AI助手(Cursor、Claude、自定义代理)的功能。作为一个 长时间运行的web服务器 在 Apify 平台(备用/容器URL)或本地通过 apify run.
特性
- 文件分析 --结构、元数据、样式、深度受限树
- 组件 --列表、详细信息、用法
- 资产 --导出节点(PNG、SVG、PDF、JPG)
- 评论 --阅读和创建
- 项目/团队 --列表和元数据
- MCP资源和提示 用于指导工作流程
认证
个人访问令牌(默认)
建议单独使用。集 figmaAccessToken 在Actor输入中(或 FIGMA_ACCESS_TOKEN 在env中)。
- 生成: Figma→ 设置→ 安全→ 个人访问令牌
- API标题:
X-Figma-Token - 设置PAT后,OAuth被禁用 对于API调用(以及
/oauth/*路由返回错误)。
OAuth 2.0(可选——团队/共享文件)
使用时 省略 figmaAccessToken 并提供Figma OAuth应用程序:
| 输入 | 目的 |
|---|---|
oauthClientId | 从 Figma→ 开发者→ Apps |
oauthClientSecret | 相同的应用程序 |
oauthRedirectUri | 精确 重定向应用程序上注册的URL,例如。 https://.runs.apify.net/oauth/callback |
oauthScopes | 可选;逗号分隔的范围。必须是应用程序配置范围的子集。默认值包括 file_content:read, file_content:write, file_comments:read, file_comments:write. |
流动
- 在填写OAuth字段后启动Actor 不 拍打。
- 打开
GET https:///oauth/authorize在浏览器中(普通浏览器,而不是嵌入式WebView; Figma要求). - 同意后,Figma重定向到
/oauth/callback;令牌存储在运行的默认值中 键值存储 (FIGMA_OAUTH_SESSION)并在接近到期时刷新。
令牌交换使用Figma记录的端点(https://api.figma.com/v1/oauth/token 和 .../oauth/refresh).代码过期很快——请及时完成重定向。
需求
- Node.js ≥ 20
- 指定帐户 (适用于云)
- Figma PAT和/或OAuth应用程序
快速入门(Apify Cloud)
npm install
apify login
apify push在 Apify控制台,打开Actor,设置输入(至少 figmaAccessToken),从 web服务器/长时间运行 根据模板的要求,然后使用 容器URL 从奔跑中。
部署参考: apify push 构建和发布;看见 优化CLI.
配置(输入)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
figmaAccessToken | string | -- | PAT(推荐)。 如果设置,则用于所有Figma API调用。 |
port | 整数 | 8080 | HTTP侦听端口(Apify可以通过以下方式覆盖 web_server_port). |
oauthClientId | string | -- | OAuth应用程序客户端ID(仅当不使用PAT时)。 |
oauthClientSecret | string | -- | OAuth应用程序机密(机密输入)。 |
oauthRedirectUri | string | -- | 必须与Figma应用重定向URI完全匹配。 |
oauthScopes | string | -- | 可选范围覆盖(逗号分隔)。 |
maxConcurrentRequests | 整数 | 10 | 保留/未来使用。 |
enableCaching | 布尔值 | true | 缓存来自Figma的GET响应。 |
本地/CLI输入文件示例(apify run):
{
"figmaAccessToken": "figd_...",
"port": 8080
}HTTP API
| 方法 | 路径 | 描述 | ||
|---|---|---|---|---|
GET | / | 服务信息和端点列表 | ||
GET | /health | 生命;包括 auth_mode: pat | oauth | pending_oauth, figma_authenticated |
POST | /mcp | MCP JSON-RPC 2.0 (此服务器的主要传输) | ||
GET | /oauth/authorize | 启动OAuth(浏览器);如果设置了PAT,则禁用 | ||
GET | /oauth/callback | OAuth重定向处理程序 |
指定MCP路径: .actor/actor.json 套 webServerMcpPath 到 /mcp。您的MCP客户端URL通常为:
https://.runs.apify.net/mcp
(使用 容器URL 从运行页面+ /mcp.)
光标IDE
- 部署并启动Actor;复制跑步记录 容器URL (而状态为 跑步).
- 编辑
~/.cursor/mcp.json(Windows/Linux上的路径不同——请参阅Cursor文档)。
示例(远程HTTP MCP--调整到游标版本的预期形状):
{
"mcpServers": {
"figma-mcp-standby": {
"url": "https://YOUR_RUN_ID.runs.apify.net/mcp"
}
}
}备注
env.APIFY_TOKEN在mcp.json是 不 传递到此节点进程;它不会取代Figma-auth。使用figmaAccessToken(或OAuth) 演员输入.- 容器URL为 每次跑步 运行结束后停止工作;更新
mcp.json并在新运行后重新启动Cursor。 - 如果连接失败,请使用 光标→ 输出→ MCP 和
curl https://.../health.
Claude Desktop/其他客户
使用客户支持的方式附加 远程MCP URL(例如。 mcp-remote 指着 https://.../mcp).路径和查询参数取决于客户端版本。
本地开发
npm install
apify run或者,如果您自己注入env/input,请使用Node运行该条目:
export FIGMA_ACCESS_TOKEN="figd_..."
node src/main.js检查运行状况(来自日志或输入的端口):
curl -s http://localhost:8080/health | jq .MCP初始化示例:
curl -s -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'项目结构
figma_mcp_actor/
├── .actor/
│ ├── actor.json # Apify Actor metadata (incl. webServerMcpPath: /mcp)
│ ├── input_schema.json
│ ├── output_schema.json
│ └── dataset_schema.json
├── src/
│ ├── main.js # Express app, /mcp, /oauth/*, Apify bootstrap
│ ├── figma/
│ │ ├── auth.js # PAT + OAuth token exchange, refresh, KV hook
│ │ └── client.js # Figma REST wrapper
│ ├── oauth/
│ │ └── persist.js # Apify KV: FIGMA_OAUTH_SESSION
│ ├── mcp/ # Protocol, handlers, server
│ ├── tools/
│ ├── resources/
│ └── prompts/
├── Dockerfile
├── package.json
└── README.mdMCP工具(概述)
包括(代码中的名称可能略有不同):文件分析(analyze_file, get_file_structure,…),组件(list_components,…),出口(export_node,…),评论(get_comments, create_comment、…)、设计修改助手,以及 资源 (figma://file/...等等)以及 提示 用于常见任务。
局限性
- REST与插件API -深度设计编写可能需要插件API;此Actor在支持的地方使用REST。
- 短暂的Apify URL --除非使用稳定的宿主模式,否则每次运行都有一个新的基本URL。
- OAuth --每次运行的单个存储会话(KV);不是一个进程中的多用户并发OAuth。
脚本
npm run lint
npm run lint:fix
npm run format许可证
ISC
更新日志
0.2
- 可选的 OAuth 2.0 (Figma授权码+刷新); PAT仍为默认值 当设置时。
/oauth/authorize和/oauth/callback;会话以默认KV持续(FIGMA_OAUTH_SESSION).- 输入:
oauthRedirectUri,oauthScopes. - 健康JSON:
auth_mode,figma_authenticated.
0.1 / 0.0.1
- 初始MCP+Figma REST集成,PAT,长时间运行的服务器,
/mcpJSON-RPC。
______________________________________________________________________
参考文献 优化演员 · Figma REST API · 模型上下文协议
