用于与 Figma API 交互的 MCP 服务器。此服务器通过模型上下文协议提供了一整套 Figma API 方法。在处理大型 Figma 文件时,您可能需要告诉它使用 depth = 1 进行 figma_get_file 操作,然后根据需要增加。
该服务器将所有 Figma API 方法实现为 MCP 工具:
figma_get_me
- 获取当前用户figma_get_file
- 通过键获取 Figma 文件figma_get_file_nodes
- 从 Figma 文件中获取特定节点figma_get_images
- 从 Figma 文件中渲染图像figma_get_image_fills
- 获取 Figma 文件中的图像填充figma_get_file_versions
- 获取 Figma 文件的版本历史记录figma_get_comments
- 获取 Figma 文件中的评论figma_post_comment
- 向 Figma 文件添加评论figma_delete_comment
- 从 Figma 文件中删除评论figma_get_comment_reactions
- 获取评论的反应figma_post_comment_reaction
- 向评论添加反应figma_delete_comment_reaction
- 从评论中删除反应figma_get_team_projects
- 获取团队中的项目figma_get_project_files
- 获取项目中的文件figma_get_team_components
- 获取团队中的组件figma_get_file_components
- 获取文件中的组件figma_get_component
- 通过键获取组件figma_get_team_component_sets
- 获取团队中的组件集figma_get_file_component_sets
- 获取文件中的组件集figma_get_component_set
- 通过键获取组件集figma_get_team_styles
- 获取团队中的样式figma_get_file_styles
- 获取文件中的样式figma_get_style
- 通过键获取样式figma_post_webhook
- 创建 Webhookfigma_get_webhook
- 通过 ID 获取 Webhookfigma_update_webhook
- 更新 Webhookfigma_delete_webhook
- 删除 Webhookfigma_get_team_webhooks
- 获取团队的 Webhookfigma_get_library_analytics_component_usages
- 获取库分析组件使用数据figma_get_library_analytics_style_usages
- 获取库分析样式使用数据figma_get_library_analytics_variable_usages
- 获取库分析变量使用数据要通过 Smithery 自动安装适用于 Claude Desktop 的 mcp-figma:
npx @smithery/cli@latest install @thirdstrandstudio/mcp-figma --client claude
# Clone the repository
git clone https://github.com/thirdstrandstudio/mcp-figma.git
cd mcp-figma
# Install dependencies
npm install
# Build the package
npm run build

要使用此MCP服务器,您需要设置您的Figma API令牌。您可以通过以下三种方式之一来完成此操作:
在项目根目录下创建一个.env
文件或直接设置环境变量:
FIGMA_API_KEY=your_figma_api_key
启动服务器时,您可以将您的Figma API令牌作为命令行参数传递:
# Using the long form
node dist/index.js --figma-token YOUR_FIGMA_TOKEN
# Or using the short form
node dist/index.js -ft YOUR_FIGMA_TOKEN

将以下内容添加到您的claude_desktop_config.json
中:
{
"mcpServers": {
"figma": {
"command": "npx",
"args": ["@thirdstrandstudio/mcp-figma", "--figma-token", "your_figma_api_key"]
}
}
}

{
"mcpServers": {
"figma": {
"command": "node",
"args": ["/path/to/mcp-figma/dist/index.js"],
"env": {
"FIGMA_API_KEY": "your_figma_api_key"
}
}
}
}

{
"mcpServers": {
"figma": {
"command": "node",
"args": ["/path/to/mcp-figma/dist/index.js", "--figma-token", "your_figma_api_key"]
}
}
}

请将/path/to/mcp-figma
替换为实际的存储库路径。
// Get a Figma file
const result = await callTool("figma_get_file", {
fileKey: "abcXYZ123"
});

// Get comments from a file
const comments = await callTool("figma_get_comments", {
fileKey: "abcXYZ123",
as_md: true
});

// Create a webhook
const webhook = await callTool("figma_post_webhook", {
event_type: "FILE_UPDATE",
team_id: "12345",
endpoint: "https://example.com/webhook",
passcode: "your_passcode_here",
description: "File update webhook"
});

# Install dependencies
npm install
# Start the server in development mode
npm start
# Build the server
npm run build
# Run with a Figma API token
npm start -- --figma-token YOUR_FIGMA_TOKEN

此MCP服务器根据MIT许可证发布。这意味着您可以在遵守MIT许可证条款和条件的前提下自由地使用、修改和分发该软件。更多详情,请参阅项目仓库中的LICENSE文件。