An MCP server that provides tools and resources for interacting with Figma design files, including file information, components, styles, comments, and text extraction.
Server has 7 tools with basic Zod schemas and descriptions, but significant gaps limit production readiness. All tools are READ_ONLY and follow verb_noun naming (get_*, search_*, extract_*). Descriptions are present but generic (10-60 chars, well below the 50-200 char LLM-optimized baseline). Parameter descriptions exist but lack actionable constraints (no enums, ranges, or format guidance). Output schemas are not documented, responses are JSON-stringified without field-level documentation. Error handling returns raw error messages without recovery guidance. No tool annotations (readOnlyHint, idempotentHint). Missing pagination support despite tools returning potentially large datasets (get-components, get-styles, get-comments). No input validation or constraint documentation.
Extract all text elements from a Figma file
Get comments from a Figma file
Get component information from a Figma file
Get basic information about a Figma file
Get specific nodes from a Figma file
Get style information from a Figma file
Search for elements in a Figma file by type, name, etc.
Tool descriptions are too short (10-60 chars) and lack LLM-optimized context. Descriptions should explain WHAT the tool does, WHEN to use it vs similar tools, and what it returns. Current descriptions omit prerequisites, return structure, and selection guidance.
Output schemas are not documented. Tools return JSON-stringified responses without field-level documentation. LLMs cannot plan downstream calls or extract specific fields without knowing the response structure.
No pagination support. Tools like get-components, get-styles, and get-comments can return large datasets but lack limit/offset parameters or cursor-based pagination. Large responses risk context window exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Error handling returns raw error messages without recovery guidance. Errors like 'Error fetching Figma file information: ...' do not tell the LLM what to do next or whether the error is retryable.
No tool annotations. Tools lack readOnlyHint, idempotentHint, or destructiveHint metadata. Clients cannot determine tool safety or retry semantics without explicit annotations.