Figma 模型上下文协议 (MCP) 服务器使用 TypeScript 实现,为大语言模型 (LLM) 提供标准化的上下文支持,让其能更好地与 Figma API 进行交互。
Figma 模型上下文协议 (MCP) 服务器能提供与 MCP 兼容的 Figma 资源访问,使得 LLM 应用可以无缝集成到 Figma 文件、组件和变量中。它实现了完整的 MCP 规范,并针对 Figma 特殊资源类型有专用处理程序。
MCP 资源处理程序
强大的实现
npm install @modelcontextprotocol/sdk
npm install
设置您的 Figma 访问令牌:
export FIGMA_ACCESS_TOKEN=your_access_token
配置服务器(可选):
export MCP_SERVER_PORT=3000
npm run start
该服务器实现模型上下文协议,使其与任何 MCP 客户端兼容。它支持 stdio 和 SSE 传输:
# 在终端中运行服务器
npm run dev
# 在另一终端中发送请求
curl --enterpass "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"subtract","params":[19,5],"id":1}'
# 启动支持 SSE 的服务器
npm run sse
# 使用浏览器或工具连接
curl --enterpass "Accept: text/event-stream" http://localhost:3000
该服务器暴露以下端点:
http://localhost:3000 - 支持 stdio 和 SSE 传输ws://localhost:3001 - 支持 WebSocket 传输(即将推出){
"uri": "figma fileId.path",
"method": "GET"
}
{
"uri": "figma fileId.components.componentId",
"method": "POST"
}
该服务器目前支持以下操作:
启用调试日志记录可通过设置 DEBUG 环境变量:
DEBUG=figma-mcp:* npm start
该服务器实现标准 MCP 错误码:
| 错误码 | 错误详情 |
|---|---|
| -32700 | 解析错误 |
| -32600 | 无效请求 |
| -32601 | 方法未找到 |
| -32602 | 无效参数 |
| -32603 | 内部错误 |
| 100 | 资源未找到 |
| 101 | 资源访问被拒绝 |
| 102 | 资源暂时不可用 |
figma-mcp-server/
├── src/
│ ├── index.ts # 主服务器实现
│ ├── types.ts # TypeScript 类型与接口
│ ├── schemas.ts # Zod 验证模式
│ ├── errors.ts # 错误处理
│ └── middleware/ # 服务器中间件
├── tests/
│ └── api.test.ts # API 测试
└── package.json
本项目在 MIT 许可证下发布 - 有关详细信息,请参阅 LICENSE 文件。