figma-context-mcp-server
# figma-context-mcp-server
**Figma 设计数据 → 结构化语义树 + 截图**
代理 Figma Desktop MCP Server,将原始设计数据转换为结构化的语义分析 JSON,供 AI Agent 直接用于设计稿还原。
## 架构
```
Figma Desktop App (port 3845)
↓ Streamable HTTP
figma-context-mcp-server (stdio)
↓ 增强输出
AI Agent (Gemini / Claude / etc.)
```
## 工具列表
### 增强工具(带语义分析)
| 工具 | 说明 |
|------|------|
| `figma_get_page_context` | **主入口**。截图 + 结构化分析 JSON(容器聚合、CSS、布局、重复检测) |
| `figma_analyze_structure` | 仅结构化分析 JSON(不含截图)。已有截图时使用 |
### 直通代理(Figma MCP 原生能力)
| 工具 | 说明 |
|------|------|
| `figma_get_screenshot` | 获取节点截图 |
| `figma_get_metadata` | 获取节点层级树 (XML) |
| `figma_get_design_context` | 获取原始参考代码 (React JSX + Tailwind) |
| `figma_get_variables` | 获取设计变量 / Token |
### 文件操作工具
| 工具 | 说明 |
|------|------|
| `figma_download_assets` | 分析节点并下载所有图片/SVG 到本地 |
| `figma_fetch_all` | 一次性导出全部数据 (metadata + context + screenshot + analysis) |
## 使用
### 前置条件
1. Figma Desktop App 已打开
2. Figma MCP 服务已启用 (http://127.0.0.1:3845/mcp)
3. Node.js >= 18
### 构建
```bash
npm install
npm run build
```
### MCP 配置
```json
{
"mcpServers": {
"figma-context": {
"command": "node",
"args": ["path/to/dist/index.cjs"]
}
}
}
```
## 源码结构
```
src/
├── index.ts ← 入口 (McpServer + StdioServerTransport)
├── schemas.ts ← Zod schema 定义
├── figma-mcp.ts ← Figma Desktop MCP 通信层
├── analyzer.ts ← 语义分析核心 (从 semantic-analyze.mjs v3.1 移植)
└── tools.ts ← 8 个工具注册
```
TDQS
Scored across 5 tools
The tools have fairly distinct purposes: get_page_context is a full extraction, get_screenshot and analyze_structure are partial extractions, and the remaining tools handle variables and asset downloads. However, get_page_context overlaps with get_screenshot and analyze_structure as a superset, so an agent might occasionally wonder whether to use the combined tool or the partial ones.
All tool names use a consistent figma_ prefix followed by a snake_case verb_noun pattern (get_page_context, get_screenshot, analyze_structure, get_variables, download_assets). The convention is predictable and easy to scan.
Five tools is well-scoped for a Figma context extraction server. Each tool covers a meaningful operation without excessive granularity or missing convenience methods.
The surface covers the main read-only extraction needs: full context, screenshot, structural analysis, variables, and asset downloads. Minor gaps exist, such as no dedicated text-only or CSS-only extraction, but those are effectively covered by the composite tool.