MCP server for Frame0 design tool that enables creating and manipulating design shapes (frames, rectangles, ellipses, text, lines, connectors) and managing pages programmatically
Frame0 MCP server defines 4 shape-creation tools with complete Zod schemas and descriptions. All tools follow verb_noun naming (create_*). Descriptions are present but generic (10-80 chars, below the 50-200 char LLM-optimized baseline). Parameter descriptions are adequate but lack actionable constraints (e.g., hex color format not validated in description, coordinate ranges unbounded). No output schema documentation. Error handling returns JsonRpcErrorCode but lacks recovery guidance. Tools are narrowly scoped (single responsibility) and composable, but missing pagination, batch operations, and chaining IDs in responses.
Create an ellipse shape in Frame0.
Create a frame shape in Frame0. Must add a new page before you create a new frame.
Create a rectangle shape in Frame0.
Create a text shape in Frame0.
Descriptions are too short (10-80 chars) and lack LLM-optimized context. 'Create a rectangle shape in Frame0' does not explain WHEN to use this tool vs create_ellipse, what the output contains, or dependencies (e.g., parentId requirement).
No output schema documented. LLMs cannot plan downstream calls or extract IDs. Response structure (fields returned, types) is invisible to the agent.
Parameter constraints not enforced in descriptions. 'fillColor' and 'strokeColor' accept hex codes but description does not specify format (#RRGGBB), length, or validation. Coordinates (left, top) are unbounded, no min/max guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Error responses return JsonRpcErrorCode but lack recovery guidance. 'Failed to create frame: <error>' tells the LLM nothing about whether to retry, what went wrong, or what to try next.
create_text description mentions 'Position need to be adjusted using move_shape tool' but move_shape is not defined in this server. Undocumented external dependency breaks tool composition.