MCP server that builds production-ready Figma using your design system
Mimic AI defines 25 tools with mixed quality. All tools have names starting with action verbs (mimic_*) and descriptions present. However, critical gaps emerge: (1) Parameter descriptions are vague or missing in many tools, e.g., 'mimic_create_frame' has 17 parameters but only 3 have substantive descriptions ('Frame name', 'ID of parent frame', 'Layout mode'). Most params like 'minWidth', 'maxWidth', 'paddingTop' lack any description. (2) Schemas are incomplete, parameters show types (string, number, object, array) but many lack constraint documentation (no enums, min/max bounds, format specs). For example, 'layoutMode' accepts a string but valid values are not enumerated. (3) Output schemas are not documented, no tool shows what it returns, forcing LLMs to guess the response structure. This breaks tool chaining and causes hallucinated field names. (4) Error handling is absent, no tool documents failure modes, recovery paths, or guidance for LLM retries. (5) Complex parameters like 'enforcementProfile' (object) and 'variantProperties' (object) provide no schema or field documentation. The server follows basic naming conventions but falls short on LLM-critical elements: descriptions, schemas, and error guidance. Average tool score: 48/100, placing this in the 'D' range (poor).
Switch to a different page in the Figma document
Clear the design system cache to force a fresh discovery on the next build
Create an ellipse shape with optional fill and stroke
Create a new frame in the design system-compliant artboard
Create a rectangle shape with optional fill, stroke, and corner radius
Create an SVG vector from an SVG string
Create a text node with optional design system styling
Delete a node from the Figma document
Critical: Parameter descriptions are missing or generic for 60+ parameters across creation tools (mimic_create_frame, mimic_create_text, mimic_create_rectangle, etc.). Parameters like 'minWidth', 'maxWidth', 'paddingTop', 'paddingRight', 'itemSpacing', 'cornerRadius' have no descriptions. LLMs cannot infer what these control without explicit documentation.
Critical: No output schemas documented for any tool. LLMs do not know what fields to expect in responses, forcing them to guess field names and breaking tool chaining. For example, 'mimic_list_components' with searchTerm=button will return data, but the response schema is invisible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Analyze the Figma library to discover and map the design system's components, styles, and variables for building compliant designs
Generate a comprehensive build report with compliance metrics, design system changes, and recommendations
Get detailed information about a design system component including variants and properties
Retrieve the accumulated design system knowledge from previous discoveries
Get detailed information about a Figma node
Insert a design system component instance with optional property overrides
List all available design system components
List all pages in the current Figma document
List all available design system text styles
List all available design system variables (colors, spacing, typography)
Analyze and map HTML/design to design system components for intelligent component selection
Configure design system enforcement rules for the session
Initialize a new build session for creating design system-compliant Figma frames
Check the current status of the Mimic AI bridge, Figma plugin, and active design system
Update node properties: text content, fill, layout sizing, visibility, text styles, position, or change page/select node
Validate that nodes in the current artboard comply with the design system
Set variable modes for design system variable collections
High: Enum constraints missing for string parameters that accept known values. For example, 'layoutMode' in mimic_create_frame should enumerate valid Figma layout modes (NONE, HORIZONTAL, VERTICAL), but no enum is declared. 'operation' enums exist in mimic_update_node and mimic_variable_modes but are inconsistently applied across similar tools.
High: Object-type parameters ('enforcementProfile', 'variantProperties', 'properties', 'design', 'context') lack internal schema documentation. A parameter of type 'object' with description 'Optional enforcement settings' tells the LLM nothing about required or valid keys. This forces LLMs to hallucinate field names.
High: No error handling guidance. Tools like mimic_delete_node (DESTRUCTIVE) do not document failure modes, recovery paths, or confirmation steps. No tool returns actionable error messages that guide LLM retries. This violates the 'recovery-guide' pattern and risks silent failures.
Medium: Numeric parameters lack min/max constraints. For example, 'x', 'y', 'width', 'height', 'fontSize', 'lineHeight', 'letterSpacing', 'cornerRadius', 'strokeWeight' are all unbounded numbers. LLMs can pass absurd values (fontSize=999999, width=-100). Add explicit constraints in descriptions and JSON Schema.
Medium: Tool descriptions lack 'WHEN to use' guidance. 'mimic_map_components' says 'Analyze and map HTML/design to design system components' but does not explain when the LLM should call it vs. directly inserting components. Similar ambiguity affects discovery tools like 'mimic_discover_design_system' (should it be called once per session or per request?).
Medium: Pagination missing from list tools. 'mimic_list_components', 'mimic_list_variables', 'mimic_list_text_styles' do not accept limit/offset or return cursor/total_count. A large design system could return thousands of items, blowing the context window.