MCP server for Figma integration enabling Cursor to interact with Figma documents, designs, and components
Server has 37 tools with significant quality gaps. Most tools lack input parameter schemas (only 2 of 37 have visible schemas: get_node_info and get_nodes_info). Descriptions are present but generic (avg ~50 chars, well below 194-char baseline). No output schemas documented. Parameter descriptions missing entirely for most tools. Error handling is minimal, tools return raw JSON or generic error strings without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Composition is reasonable (verb_noun naming, single responsibility), but schema and parameter documentation are critically deficient.
Clone a node in Figma
Create an instance of a component in Figma
Create connections between Figma nodes
Create a new frame in Figma
Create a new rectangle in Figma
Create a new text node in Figma
Delete multiple nodes in Figma
35 of 37 tools have NO input parameter schemas. Only get_node_info, get_nodes_info, create_rectangle, and get_reactions have visible Zod schemas.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Delete a node in Figma
Export a node as an image in Figma
Get annotations from Figma nodes
Get detailed information about the current Figma document
Get instance overrides from a Figma component instance
Get all local components from the Figma document
Get detailed information about a specific node in Figma
Get detailed information about multiple nodes in Figma
Get reactions from Figma nodes
Get information about the current selection in Figma
Get all styles from the 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 retrieve nodes by specific types in Figma
Scan and retrieve all text nodes in Figma
Set annotation on a Figma node
Set axis alignment on a Figma node
Set the corner radius of a node in Figma
Set default connector on a Figma node
Set the fill color of a node in Figma
Set instance overrides on Figma component instances
Set item spacing on a Figma node
Set layout mode on a Figma node
Set layout sizing on a Figma node
Set annotations on multiple Figma nodes
Set text content for multiple text nodes in Figma
Set padding on a Figma node
Set the stroke color of a node in Figma
Set the text content of a text node in Figma
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels declared (READ_ONLY, WRITE, DESTRUCTIVE). LLMs cannot infer safety properties without explicit hints.
No output schemas documented. Tools return raw JSON via sendCommandToFigma() with no structure hints. LLMs cannot plan downstream calls or extract required fields reliably.
Error handling is minimal. Tools catch errors and return generic 'Error getting X: <message>' strings. No recovery guidance, no error classification (retryable vs fatal), no actionable next steps for LLM.
Descriptions are generic and under 20 chars for most tools (e.g., 'Create a new frame in Figma' = 28 chars). No context on WHEN to use, WHAT it returns, or dependencies.