Model Context Protocol integration for Figma API - enables LLM access to Figma files, components, variables, and team data
11 tools with complete input schemas and descriptions, but quality is inconsistent. All tools are READ_ONLY (good for safety), but descriptions are generic and lack LLM-optimized guidance. Parameter descriptions are minimal (avg ~30 chars vs baseline 72 chars). No output schemas documented. No error handling guidance. No tool annotations (readOnlyHint, etc.). Naming follows verb_noun convention well (get_, list_, search_). Missing dependency hints and recovery guidance that would help agents chain calls effectively.
Get detailed information about a specific component
Retrieve complete file structure and metadata from Figma
Get specific nodes from a Figma file
Get version history of a Figma file
Get details about a specific variable
List all components in a Figma file
List all files accessible in a team
No output schemas documented. LLMs cannot infer what fields to expect from responses, forcing them to guess at downstream tool parameters and breaking tool chaining.
Descriptions are generic and lack LLM-optimized guidance. Most descriptions (50-60 chars) are below the 194-char baseline and do not explain WHEN to use each tool or what it returns. E.g., 'List all files accessible in a team' does not explain pagination, result limits, or what fields are returned.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
List projects in a team
List all accessible teams
List all variables in a file
Search for components by name across a team
Parameter descriptions are minimal (avg ~30 chars vs baseline 72 chars). E.g., 'Figma file key' lacks format guidance, constraints, or examples. 'Node IDs to retrieve (comma-separated or array)' is ambiguous, should the LLM pass a string or array?
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are READ_ONLY but this is not declared in the tool definition, forcing LLMs to infer safety from descriptions alone.
No error handling guidance. Descriptions do not explain what errors are possible (e.g., 'file_key not found', 'unauthorized'), what they mean, or how to recover. LLMs cannot self-correct on failures.