MCP server for Figma design tool integration with read-only and write modes for design automation
22 tools with explicit schemas and descriptions, but significant quality gaps. All tools have basic descriptions (10-200 chars), but many lack depth on WHEN to use them or dependencies. Parameter descriptions are present but often generic ('ID of the parent node'). No output schemas documented. Error handling guidance absent. Write-mode tools (create_*, update_*, delete_*) lack confirmation/dry-run patterns. Tool composition is reasonable (separate read/write), but no pagination support for list operations. Naming follows verb_noun convention well (get_, create_, delete_), but some tools are overly broad (smart_create_element, update_node with generic 'properties' object).
Create a new component in a Figma file
Create an instance of a component in a Figma file
Create a new frame/artboard in a Figma file
Create a new shape (rectangle, ellipse, polygon) in a Figma file
Create a new text element in a Figma file
Delete a node from a Figma file
Detect responsive variations of components
update_node tool has overly generic 'properties' parameter (type: object, no schema). LLMs cannot infer valid property names or types, forcing trial-and-error calls. Violates constrained-input pattern.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., nodeId returned by create_frame). Violates response-shaper pattern.
Destructive tools (delete_node) lack confirmation/dry-run pattern. No guidance on error recovery or undo. Agents can permanently delete designs without safeguards.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
Detect component variants and group them
Extract color, text, and effect styles from a Figma file
Get image URLs for nodes in a Figma file
Get basic metadata about a Figma file
Get detailed information about a specific node (component, frame, etc.)
Get variables and variable collections from a Figma file (new Figma Variables API)
Identify UI components in a Figma design (charts, tables, forms, etc.)
List all available components in the current Figma file
Set effects (shadows, blurs) for a node in a Figma file
Set fill properties for a node in a Figma file
Set stroke properties for a node in a Figma file
Intelligently create a design element based on type and properties
Switch to write mode to create or update designs
Update properties of an existing node in a Figma file
Test if the configured token has access to a Figma file
List/discovery tools (list_available_components, identify_components, detect_variants) lack pagination parameters (limit, offset, cursor). Large result sets will blow context windows.
No error handling guidance in any tool description. LLMs cannot distinguish retryable errors (rate limit) from user-fixable (invalid nodeId) from fatal (auth failure). Violates recovery-guide pattern.