一个用于与 Figma API 交互的模型上下文协议(MCP)服务器,内置内存高效的分块处理和分页功能,适用于处理大型 Figma 文件,能有效解决大型文件处理时的内存和性能问题。
此 MCP 服务器提供了一个强大的接口来与 Figma API 交互,并带有内置的内存管理功能。它专为处理大型 Figma 文件而设计,通过将操作分解为可管理的块并实施分页(如果需要)来实现高效处理。
git clone https://github.com/your-username/figma-mcp-chunked.git
npm install
node index.js
通过设置以下环境变量来调整服务器行为:
MCP_SERVER_PORT:指定服务器运行的端口(默认值为 3000)MCP_API_KEY:指定用于与 Figma API 交互的密钥MCP_DEBUG_MODE:启用调试模式(可选值为 true 或 false)创建一个 config.json 文件,并在其中指定以下参数:
{
"port": 3000,
"apiKey": "your-api-key",
"debugMode": true
}
以下是可用的 MCP 工具及其说明:
get_file_data:获取文件数据
fileKey:必须,指定要检索的文件密钥accessToken:必须,用于身份验证的访问令牌curl -X POST http://localhost:3000/mcp/tool/get_file_data \
-H "Content-Type: application/json" \
-d '{"fileKey":"your-file-key","accessToken":"your-access-token"}'
process_blocks:处理数据块
blockSize:可选,指定每个块的大小(默认为 100)maxMemoryMB:可选,指定最大内存使用限制(以 MB 为单位,默认为 512)pageSize:每个块中的节点数量(默认为 100)maxMemoryMB:最大内存使用限制(以 MB 为单位,默认为 512)nodeTypes:过滤特定的节点类型depth:控制嵌套结构的遍历深度服务器包含详细的调试日志:
// 调试日志示例
[MCP 调试] 从 config.json 加载配置
[MCP 调试] 找到访问令牌 xxxxxxxx...
[MCP 调试] 请求 { tool: 'get_file_data', arguments: {...} }
[MCP 调试] 响应大小为 2.5 MB
服务器提供详细的错误消息和建议:
// 内存限制错误
"响应太大。尝试使用较小的深度值或指定 node_id。"
// 参数错误
"缺少必需参数:fileKey 和 accessToken"
// API 错误
"Figma API 错误:[详细信息]"
内存错误
性能问题
API 限制
启用调试日志以获取详细信息:
# 设置调试环境变量
export DEBUG=true
项目遵循 MIT License,详细信息请参阅许可证文件。