MCP server for converting Figma designs to JSX. Exposes semantic, JSX-ready Figma tools for design-to-code generation.
All 4 tools have basic verb-noun naming (get_*) and visible input schemas with type definitions. However, descriptions are extremely terse (10-27 chars, well below the 50-200 char baseline for LLM-optimized tools). Parameter descriptions exist but are minimal. No output schemas are documented. Error handling is absent, no guidance on retryability, user-fixable errors, or recovery paths. Tools lack idempotency hints, permission declarations, and composition metadata. The server exposes Figma API tokens via environment injection (correct), but tools do not validate inputs or sanitize against injection attacks.
Returns all colors used
Returns JSX-ready hero section data
Returns pages and top-level frames
Returns all text nodes
Tool descriptions are critically short (10-27 chars). LLMs cannot determine when/why to select tools. Baseline is 50-200 chars for LLM-optimized tools.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. All tools return unstructured data (lists/dicts) without field type declarations.
No error handling or recovery guidance. Tools call external Figma API without try-catch, timeout handling, or user-actionable error messages. Failures return raw exceptions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
No input validation or sanitization. file_key and node_id parameters are passed directly to Figma API URLs without validation. Vulnerable to injection attacks.
No tool annotations (readOnlyHint, idempotentHint). LLMs cannot infer safety properties. All tools are read-only but lack explicit hints.