Model Context Protocol server for Figma development, providing tools to query design files, extract metadata, and interact with Figma's dev mode capabilities
Strong foundation with 11 well-named, read-only tools covering Figma design data extraction. All tools have descriptions (avg ~80 chars) and complete input schemas with proper types and enums. Tool annotations present (readOnlyHint, destructiveHint, openWorldHint). Key gaps: output schemas not visible in source code (only input schemas shown); parameter descriptions are minimal (1-2 sentences); no error handling guidance or recovery paths documented; no pagination support despite tools returning potentially large datasets (get_components, get_styles, get_variables). Naming follows verb_noun pattern consistently. Schemas use additionalProperties:false (closed objects). Missing: output schema documentation, parameter constraints (min/max for scale), and error classification.
Get component definitions and instances from the Figma file
Get the design context and hierarchy of nodes in the Figma file
Get development mode data including annotations and documentation for nodes
Get font information and availability from the Figma file
Get metadata about the current Figma file including pages, editor type, and plugin capabilities
Get detailed information about specific nodes by their IDs
Get a screenshot of nodes in the Figma file in PNG, JPEG, or SVG format
Output schemas not documented in source code. Only input schemas visible. LLMs cannot plan downstream tool calls or extract structured data without knowing return types.
No pagination support (limit, offset, page_size, next_cursor) on tools returning potentially large datasets (get_styles, get_variables, get_components, get_fonts). Large result sets will blow context windows.
Parameter descriptions are minimal (1-2 sentences). 'detail' enum parameter lacks explanation of what 'minimal' vs 'full' returns. 'query' in search_nodes lacks format guidance (regex? substring? fuzzy?). Descriptions should be 50-200 chars with actionable context.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Get the currently selected nodes in the Figma file with optional detail level
Get design styles (colors, typography, effects) from the Figma file
Get design variables and their values from the Figma file
Search for nodes in the Figma file by name or other criteria
No error handling guidance. Tools lack recovery hints (e.g., 'If connectionId is invalid, verify the Figma file is accessible'). No categorization of errors as retryable vs user-fixable.
get_screenshot 'scale' parameter lacks numeric constraints (min/max). LLMs could pass absurd values (0, 1000+). Should specify valid range (e.g., 0.1 - 4.0).