A Model Context Protocol (MCP) server for Figma API integration with Claude Desktop. Extract images, styles, SVG data, and design elements from Figma files.
The server defines 7 tools with complete input schemas and descriptions in English. However, descriptions are uniformly generic (10-15 words each), lack actionable context about when/why to use each tool, and do not explain error recovery. Parameter descriptions exist but are minimal. Output schemas are not documented. No error handling guidance provided. The tools are read-only with good naming conventions (verb_noun pattern), but lack the depth required for production LLM integration. Naming is clear and distinct across tools. The schema quality is moderate, all tools have proper JSON Schema with types and enums where appropriate, but descriptions are too brief to meet LLM optimization standards (target 50-200 chars; actual ~50-80 chars per tool).
批量导出多个节点的图片
提取节点中的所有设计元素(图片、矢量、组件)
根据Figma URL获取节点的图片
根据Figma URL获取节点的样式数据
获取Figma文件的基本信息
获取节点中的所有图片资源
获取节点的SVG数据
Tool descriptions are too brief (10-15 words) and lack actionable context. They do not explain WHEN to use each tool vs. similar tools, error recovery paths, or prerequisites (e.g., 'Figma URL must include node-id'). Examples: 'Get images from Figma nodes' tells an LLM nothing about rate limits, format choices, or error conditions.
No output schemas documented. LLMs cannot predict what fields will be returned, leading to failures when chaining tools. For example, if get_file_info returns [file_id, name, owner], and a subsequent call requires file_id, there is no way for the LLM to know this without trial and error.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 30 | - | v1 |
No error handling guidance. Tools return errors but do not guide recovery (e.g., 'Invalid URL format. Figma URLs must match https://www.figma.com/file/{fileId}/... and include ?node-id={nodeId} for node operations'). Raw error messages offer LLMs no path forward.
Parameter descriptions lack constraint details. E.g., 'scale' parameter says 'default 1' but does not explain what happens if scale > 4 (is it clamped, rejected, or causes an error?). 'format' enum is clear, but no description of when to choose each format or file size implications.
Duplicate/overlapping tools. 'get_node_images' and 'extract_node_elements' both retrieve image data from nodes, and 'get_figma_image' also exports images. The distinctions are not clear from descriptions. This forces LLMs to guess which tool is appropriate, wasting reasoning cycles and inviting tool-selection errors.
URL parsing requirement not documented. Multiple tools require 'Figma URL with node-id parameter', but no guidance on format, how to extract fileId from URL, or what happens if node-id is omitted. Tool descriptions should say: 'Pass the full Figma file URL with ?node-id=... query parameter, or call get_file_info first if you only have the file URL without a node ID.'