MCP server for Figma integration enabling AI-powered design manipulation through Figma API commands
27 tools with consistent naming (verb_noun pattern) and basic descriptions, but critical gaps in schema completeness and parameter documentation. All tools have descriptions (10-100 chars), but most lack detailed parameter constraints, enums, and output schema documentation. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Error handling is minimal, most tools return generic error strings without recovery guidance. Schemas present but sparse: many parameters lack type constraints, ranges, or format specifications. No pagination support despite tools returning potentially large result sets (e.g., get_styles, get_local_components, scan_nodes_by_types). Output structures undocumented, LLMs cannot predict response fields for chaining.
Clone a node in Figma
Create an instance of a component in Figma
Create a new frame in Figma
Create a new rectangle in Figma
Create a new text node in Figma
Delete multiple nodes from Figma
Delete a node from Figma
No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite explicit risk classifications. Tools marked DESTRUCTIVE (delete_node, delete_multiple_nodes) lack annotations to signal irreversibility to agents.
Output schemas undocumented. Tools return JSON but LLMs cannot predict response structure (field names, types, nesting). Breaks tool chaining, agent cannot extract IDs or references for downstream calls.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
Export a node as an image from Figma
Get annotations from a node in Figma
Get detailed information about the current Figma document
Get all local components in the current Figma document
Get detailed information about a specific node in Figma
Get detailed information about multiple nodes in Figma
Get information about the current selection in Figma
Get all styles in the current Figma document
Move a node to a new position in Figma
Get detailed information about the current selection in Figma, including all node details
Resize a node in Figma
Scan and get nodes of specific types in Figma
Scan and get all text nodes in the current selection or document
Set an annotation on a node in Figma
Set the corner radius of a node in Figma
Set the fill color of a node in Figma
Set annotations on multiple nodes in Figma
Set text content for multiple text nodes in Figma
Set the stroke color of a node in Figma
Set the text content of a text node in Figma
No pagination support. Tools returning lists (get_styles, get_local_components, scan_nodes_by_types, scan_text_nodes) lack limit/offset/cursor parameters and total counts. Large result sets risk context window exhaustion.
Parameter constraints missing. Color parameters (set_fill_color, set_stroke_color) accept 'hex format' but lack regex pattern or validation. Numeric parameters (x, y, width, height, radius) lack min/max bounds. No enums for format parameter in export_node_as_image.
Error handling lacks recovery guidance. All tools return generic error strings ('Error getting document info: ...') without actionable next steps. No error categorization (retryable vs user-fixable vs fatal).