Allow your AI coding agents to access figma files & prototypes directly
The server defines 3 tools with names that follow verb_noun convention (get_components, get_node, get_workflow). Tool descriptions exist but are minimal (34-200 chars) and lack context about when to use each tool or what differentiates them. Parameter descriptions are present but inconsistent in quality. Schemas are visible but incomplete, parameters lack explicit type declarations in some cases. Error handling is basic (returns error dicts) but does not guide recovery. No output schemas documented. The codebase shows tool definitions via @mcp.tool() decorators with descriptions in docstrings, making them verifiable. However, per the rubric's conservative calibration, community STDIO servers typically land in the 50-59 range, and this server's gaps (missing output schema documentation, minimal descriptions, no parameter constraints) prevent a higher score.
Get components available in a Figma file
Get a specific node from a Figma file
Get workflows available in a Figma file
Output schemas not documented. Tools return lists or dicts but LLMs cannot plan downstream steps without knowing what fields to expect.
Parameter descriptions are minimal or generic. 'The file key found in the shared Figma URL' is uninformative; LLMs cannot distinguish use cases or when to call get_components vs get_node vs get_workflow.
No input validation or constraints on parameters. file_key and node_id accept any string with no format/enum validation, inviting hallucinated or malformed API calls.
Error handling returns bare error dicts without recovery guidance. 'Failed to fetch Figma file: 401' tells LLM nothing about whether to retry, check API key, or ask user.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 31 | - | v1 |
Tool descriptions lack WHEN/WHY context. get_components and get_workflow both fetch file data but descriptions do not explain the functional difference or user intent each serves.
No pagination or result limits documented. get_components returns all components without limit; large Figma files could exhaust context window.