Mimic AI
NPM · @MIAPRE/MIMIC-AI · SCANNED AUG 7
Builds Figma from your design system: real components and tokens, enforced, learning every build.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Known CVEs were checked across the 95 of 99 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Dependency health was assessed across the 95 of 99 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 22 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability51
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 7512 tokens (~288/item across 26 items; 26 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management37
- Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (19% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @miapre/mimic-ai
claude mcp add miapre-mimic-ai -- npx -y @miapre/mimic-ai
codex mcp add miapre-mimic-ai -- npx -y @miapre/mimic-ai
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"miapre-mimic-ai": {
"type": "local",
"command": [
"npx",
"-y",
"@miapre/mimic-ai"
],
"enabled": true
}
}
} openclaw mcp add miapre-mimic-ai --command npx --arg -y --arg @miapre/mimic-ai
mcp_servers:
miapre-mimic-ai:
command: "npx"
args: ["-y", "@miapre/mimic-ai"] {
"mcpServers": {
"miapre-mimic-ai": {
"command": "npx",
"args": [
"-y",
"@miapre/mimic-ai"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 7 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 5 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +55
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- Tool coverage: unverified → 100 ▲ functional
- License: unverified → pass ▲ functional
- Stability: unverified → 0.20 ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Schema quality: unverified → good ▲ functional
- Licence: MIT functional
- 1 Aug 26 +3
- Dependency health: unverified → partial ▲ functional
- 31 Jul 26 −19
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −18
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 42
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 7 Aug 2026 · Analysed npm/@miapre/[email protected]
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Dependencies 95 packages
| Packages resolved | 95 |
|---|---|
| Deprecated | 95 |
| Stale | 29 |
| Tree resolution | Partial |
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
figma_component_text ~160
Overrides text on a component instance in one call — pass an `overrides` array (a single override is just a one-item array). Each override sets one text node via textNodeName (matches by name — use for most cases) or textNodeId (exact match — use when configurationHints.textNodes gave you IDs, e.g. components with repeated node names). Use after figma_insert_component; configurationHints.textNodes lists every node that needs overriding. Saves N-1 tool calls vs. one call per node. Requires Phase 2.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | Component instance node ID. |
| overrides | array | yes | Array of text overrides to apply. Each item needs textNodeName or textNodeId, plus content. |
No output schema declared.
No examples provided.
figma_create_frame ~1,041
Creates an auto-layout container frame (layout primitive) — the fallback when NO DS component exists for a section or layout. Every fill/padding/gap/radius binds to DS variables; component-like names are gated (pass confirmedNoComponent + primitiveOverrideReason for confirmed gaps). Name frames after their HTML role ("Header Section", "Card: Revenue"). Key params: parentId (omit for page-level artboard), direction, layoutSizing*, *Variable bindings, GRID mode. Check mimic_map_components FIRST. Phase 2+.
| Name | Type | Req | Description |
|---|---|---|---|
| clipsContent | boolean | – | Clip content to frame bounds. |
| confirmedNoComponent | boolean | – | Set true only after DS/library search confirms no component exists for this role. |
| cornerRadius | number | – | Raw corner radius in pixels. Use cornerRadiusVariable when DS has radius variables. |
| cornerRadiusVariable | string | – | DS variable path for corner radius. |
| counterAxisAlignItems | string | – | Counter axis alignment. |
| direction | string | – | Auto-layout direction. Prefer HORIZONTAL or VERTICAL — NONE breaks portability. Use layoutPositioning ABSOLUTE for overlay children instead. |
| fill | string | – | Raw hex color for background fill (e.g. "#ffffff"). Fallback when no DS styles/variables. |
| fillStyleId | string | – | DS fill style key for background (from figma_list_ds (kind: "fill_styles")). Preferred over fillVariable when DS has fill styles but no variables. |
| fillVariable | string | – | DS variable path for background fill. |
| gap | number | – | Raw item spacing in pixels. Use gapVariable when DS has spacing variables. |
| gapVariable | string | – | DS variable path for item spacing. |
| gridColumnCount | number | – | Number of grid columns. Only used when layoutMode is GRID. |
| gridColumnGap | number | – | Raw column gap in pixels. Only used when layoutMode is GRID. |
| gridColumnGapVariable | string | – | DS spacing variable path for GRID column gap. |
| gridColumnSpan | number | – | When this frame is a child of a GRID-layoutMode parent, how many columns it should span. |
| gridRowCount | number | – | Number of grid rows. Only used when layoutMode is GRID. |
| gridRowGap | number | – | Raw row gap in pixels. Only used when layoutMode is GRID. |
| gridRowGapVariable | string | – | DS spacing variable path for GRID row gap. |
| gridRowSpan | number | – | When this frame is a child of a GRID-layoutMode parent, how many rows it should span. |
| height | number | – | Fixed height in pixels. |
| layoutMode | string | – | Set to GRID to use CSS-grid-style layout (Grid automation, May 2026) instead of auto-layout. Requires gridRowCount/gridColumnCount. Errors clearly on Figma versions that do not support GRID layoutMod… |
| layoutPositioning | string | – | Set to ABSOLUTE to position this frame as an overlay inside an auto-layout parent (out of flow but still contained). Use for grid lines, positioned labels, etc. |
| layoutSizingHorizontal | string | – | Horizontal sizing mode. |
| layoutSizingVertical | string | – | Vertical sizing mode. |
| maxWidth | number | – | Max width constraint. |
| name | string | yes | Semantic name describing the HTML role (e.g., "Header Section", "Metrics Row", "Card: Revenue"). Never use generic names like "Frame". |
| padding | number | – | Raw uniform padding in pixels. Use paddingVariable when DS has spacing variables. |
| paddingBottom | number | – | Raw bottom padding in pixels. |
| paddingBottomVariable | string | – | DS variable path for bottom padding. |
| paddingLeft | number | – | Raw left padding in pixels. |
| paddingLeftVariable | string | – | DS variable path for left padding. |
| paddingRight | number | – | Raw right padding in pixels. |
| paddingRightVariable | string | – | DS variable path for right padding. |
| paddingTop | number | – | Raw top padding in pixels. |
| paddingTopVariable | string | – | DS variable path for top padding. |
| paddingVariable | string | – | DS variable path for uniform padding. |
| parentId | string | – | Parent node ID. Omit for page-level. |
| primaryAxisAlignItems | string | – | Primary axis alignment. |
| primitiveOverrideReason | string | – | Required with confirmedNoComponent for component-like primitives. Explain why this frame must be custom. |
| stroke | string | – | Raw hex color for stroke (e.g. "#e4e6ee"). Fallback when no DS stroke variables. |
| strokeVariable | string | – | DS variable path for stroke color. |
| strokeWeight | number | – | Stroke weight in pixels. |
| width | number | – | Fixed width in pixels. |
| x | number | – | X position in pixels. Required for page-level artboards. Use rightmost existing artboard x + width + 80. |
| y | number | – | Y position in pixels. Defaults to 0 for artboards. |
No output schema declared.
No examples provided.
figma_create_shape ~462
Creates a rectangle or ellipse primitive node bound to DS variables. Use for dividers, backgrounds, chart bars/grid-lines/data-points, avatars-as-circles, or any shape with no DS component. Params: shape ("rectangle"|"ellipse", required), parentId (required), name, width, height, fillStyleId/fillVariable/fill, and for rectangle: cornerRadius(Variable), stroke(Variable), strokeWeight, layoutPositioning, layoutSizing*; for ellipse: arcData ({startingAngle, endingAngle, innerRadius} — donut/pie segments). Requires Phase 2. Prefer a DS component over a shape when one exists.
| Name | Type | Req | Description |
|---|---|---|---|
| arcData | object | – | Arc data for donut/pie segments. Ellipse only. |
| cornerRadius | number | – | Raw corner radius in pixels. Rectangle only. |
| cornerRadiusVariable | string | – | DS variable path for corner radius. Rectangle only. |
| fill | string | – | Raw hex color for fill (e.g. "#e4e6ee"). Fallback when no DS styles/variables. Rectangle only. |
| fillStyleId | string | – | DS fill style key (from figma_list_ds kind="fill_styles"). Rectangle only. |
| fillVariable | string | – | DS variable path for fill color. |
| height | number | – | Height in pixels. |
| layoutPositioning | string | – | Set to ABSOLUTE to overlay this shape inside an auto-layout parent (e.g., grid lines behind bars). Rectangle only. |
| layoutSizingHorizontal | string | – | Horizontal sizing mode. Auto-defaults to FIXED when width is specified. Rectangle only. |
| layoutSizingVertical | string | – | Vertical sizing mode. Auto-defaults to FIXED when height is specified. Rectangle only. |
| name | string | – | Node name. |
| parentId | string | yes | Parent node ID. |
| shape | string | yes | Which primitive to create. |
| stroke | string | – | Raw hex color for stroke. Fallback when no DS stroke variables. Rectangle only. |
| strokeVariable | string | – | DS variable path for stroke color. Rectangle only. |
| strokeWeight | number | – | Stroke weight in pixels. Rectangle only. |
| width | number | – | Width in pixels. |
No output schema declared.
No examples provided.
figma_create_svg ~207
Creates a node from an SVG string in Figma. Useful for icons and custom graphics. Returns unboundChildren — a list of child nodes that need DS variable bindings. You MUST apply figma_update_node (op: "fill") to every unbound vector and figma_update_node (op: "text_style" then op: "fill") to every unbound text. Leaving unbound children breaks DS compliance and light/dark mode.
| Name | Type | Req | Description |
|---|---|---|---|
| fillVariable | string | – | DS variable path for fill override (applied to ALL child vectors uniformly). |
| layoutSizingHorizontal | string | – | Horizontal sizing mode. Use FILL for charts inside auto-layout containers so they stretch to the container width. |
| layoutSizingVertical | string | – | Vertical sizing mode. |
| name | string | – | Node name. |
| parentId | string | yes | Parent node ID. |
| strokeVariable | string | – | DS variable path for stroke override. |
| svgString | string | yes | SVG markup string. |
No output schema declared.
No examples provided.
figma_create_text ~354
Creates a standalone text node bound to a DS text style (textStyleId — accepts style name or key) and DS color variable (fillVariable) — both are mandatory when the DS has them. Use for text OUTSIDE components; text inside a component instance uses figma_component_text instead. Strips hardcoded line breaks (container width controls wrapping). Name nodes after their HTML role ("Page Title", "Card: Revenue Label"). Params: parentId + content required. Phase 2+.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Text content. |
| fillStyleId | string | – | DS fill style key for text color (from figma_list_ds (kind: "fill_styles")). Preferred over fillVariable when DS has fill styles but no variables. |
| fillVariable | string | – | DS variable path for text color. |
| fontSizeVariable | string | – | DS variable path for font size (if no text style). |
| layoutPositioning | string | – | Set to ABSOLUTE to overlay this text inside an auto-layout parent. |
| layoutSizingHorizontal | string | – | Horizontal sizing mode. |
| lineHeightVariable | string | – | DS variable path for line height. |
| name | string | – | Semantic name describing the HTML element role (e.g., "Page Title", "Card: Revenue Label", "Subtitle"). Never use generic names like "Text". |
| parentId | string | yes | Parent node ID. |
| textAlignHorizontal | string | – | Text alignment. |
| textStyleId | string | – | DS text style — accepts style name (e.g. "Text sm/Semibold") or style key. Names are resolved to keys automatically. |
| width | number | – | Fixed width for the text node. |
No output schema declared.
No examples provided.
figma_delete_node ~94
Deletes a node from the Figma document. NEVER deletes artboards (top-level frames) — only child nodes within an artboard. To rebuild a screen, create a NEW artboard alongside the existing one. Destructive and irreversible via the API — verify the nodeId with figma_inspect first if unsure.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | Node ID to delete. Must NOT be a top-level artboard. |
No output schema declared.
No examples provided.
figma_insert_component ~215
Imports and inserts a DS component instance into the document. Returns componentKey/nodeId, configurationChecklist (booleans to enable, text nodes to override, variants to set), and _autoApplied variant defaults replayed from the knowledge store when a confirmed recipe exists. Params: componentKey (required, from mimic_map_components/discovery), parentId (required), name (instance name override), importMode ("component"|"componentSet", usually inferred), applyRecipe (false to skip auto-replay). Workflow position: Phase 3 build, after mimic_map_components. Follow up with figma_component_text and figma_set_variant.
| Name | Type | Req | Description |
|---|---|---|---|
| applyRecipe | boolean | – | Set to false to skip auto-applying confirmed recipe defaults. Defaults to true. |
| componentKey | string | yes | Component key from the DS library. |
| importMode | string | – | Optional import hint. Usually inferred from DS discovery cache. |
| name | string | – | Instance name override. |
| parentId | string | yes | Parent node ID to insert into. |
No output schema declared.
No examples provided.
figma_inspect ~342
Reads Figma document state — node properties, children, parent, text detail, pages, top-level page nodes, selection, component variants, or a build-manifest section lookup. Read-only, never blocked by phase gates. Use to verify state before/after edits, discover node IDs, or check what a component set supports. Params: target (required: "node"|"children"|"parent"|"text"|"pages"|"page"|"selection"|"variants"|"section") selects the read; nodeId (node/children/parent/text), depth (children, default 1), componentSetKey (variants), sectionName (section — HTML section name from the last build).
| Name | Type | Req | Description |
|---|---|---|---|
| componentSetKey | string | – | Component set key. Required for target="variants". |
| depth | number | – | How many levels deep to traverse. Only used with target="children". Default 1. |
| nodeId | string | – | Node ID to inspect. Required for target: node, children, parent, text. |
| sectionName | string | – | The HTML section to find (e.g., "header", "metrics row", "table"). Required for target="section". |
| target | string | yes | "node"=full node props, "children"=child nodes, "parent"=parent node, "text"=text node detail, "pages"=all pages in the file, "page"=top-level nodes on the current page, "selection"=currently selecte… |
No output schema declared.
No examples provided.
figma_list_ds ~200
Lists cached DS assets from the local cache — text styles, fill (color) styles, or variables. Use to browse what mimic_discover_ds already cached before binding: find a textStyleId for figma_create_text, a fillStyleId for figma_create_shape, or a variable path for figma_update_node. Params: kind ("text_styles"|"fill_styles"|"variables", required), filter (keyword, fill_styles only), category (text|background|border|foreground|spacing|radius, variables only). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Optional category filter. Only used with kind="variables" (text, background, border, foreground, spacing, radius). Omit for all. |
| filter | string | – | Optional keyword filter on the style name. Only used with kind="fill_styles" (e.g. "Blue", "Gray", "Red"). |
| kind | string | yes | Which cache to list. |
No output schema declared.
No examples provided.
figma_manage_slot ~203
Fills or resets a SLOT-type component property on an existing instance (Figma Slots, GA June 2026). action="fill" inserts a DS component instance into the slot (use configurationHints.slotProperties from figma_insert_component to find slotName). action="reset" restores the slot's default content. Params: nodeId (required), slotName (required), action ("fill"|"reset", default "fill"), componentKey (required for action="fill"). Requires Phase 2. Slot fills are recorded for build-report visibility only — never auto-replayed.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | "fill" inserts a component into the slot (default). "reset" restores default content. |
| componentKey | string | – | DS component key to insert into the slot. Required for action="fill". |
| nodeId | string | yes | Instance node ID that owns the slot. |
| slotName | string | yes | SLOT property name from configurationHints.slotProperties. |
No output schema declared.
No examples provided.
figma_set_variant ~136
Sets variant properties (e.g. Size, State, Color) on a component instance. Use figma_inspect (target: "variants") first to see available properties/values for the component set. Params: nodeId (required), properties (required, key-value map e.g. { "Size": "Large" }). Requires Phase 2. Tracks replay success/failure for the knowledge store's recipe learning.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | Component instance node ID. |
| properties | object | yes | Variant property key-value pairs (e.g. { "Size": "Large", "State": "Default" }). |
No output schema declared.
No examples provided.
figma_swap_main_component ~166
Swaps or replaces a component instance's underlying component. mode="swap" (default) preserves the instance's overrides (text, variants) — use when switching to a close variant of the same component. mode="replace" removes the instance and creates a fresh one at the same position — use when swapping to an unrelated component where old overrides would be invalid. Params: nodeId (required), newComponentKey (required), mode ("swap"|"replace", default "swap"). Requires Phase 2.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | "swap" preserves overrides (default). "replace" creates a fresh instance at the same position. |
| newComponentKey | string | yes | New component key to swap/replace to. |
| nodeId | string | yes | Instance node ID. |
No output schema declared.
No examples provided.
figma_update_node ~704
Mutates an existing Figma node or the editor's UI focus, dispatched by `op`. Ops: "text" (set text content), "text_style" (apply DS text style), "fill" (fillStyleId/fillVariable/raw fill), "layout" (sizing, padding, gap, alignment), "visibility" (show/hide), "position" (absolute x/y), "restyle" (artboard/frame fill+radius+stroke+padding+gap in one call), "move" (reparent via parentId+index), "select" (select+scroll into view), "page" (switch page by name/id). All ops except "select"/"page" require Phase 2 (DS discovered) and validate any *Variable path against the cached DS before sending. Use figma_delete_node (separate, destructive tool) to remove a node instead.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | – | New text content. op="text". |
| cornerRadiusVariable | string | – | DS variable for corner radius. op="restyle". |
| counterAxisAlignItems | string | – | op="layout". |
| fill | – | – | Raw color as hex string ("#3b36f2") or RGB object. op="fill" fallback when no DS styles/variables available. |
| fillStyleId | string | – | DS fill style key (from figma_list_ds). op="fill". Priority: fillStyleId → fillVariable → fill. |
| fillVariable | string | – | DS variable path for fill color. op="fill" or "restyle". |
| gapVariable | string | – | DS variable for item spacing. op="layout" or "restyle". |
| height | number | – | Fixed height. op="layout". |
| index | number | – | Insert index within the new parent. op="move". Omit for end. |
| layoutSizingHorizontal | string | – | op="layout". |
| layoutSizingVertical | string | – | op="layout". |
| maxWidth | number | – | Max width constraint. op="layout". |
| nodeId | string | – | Target node ID. Required for every op except "page". |
| op | string | yes | Which mutation to perform. |
| paddingBottomVariable | string | – | op="layout". |
| paddingLeftVariable | string | – | op="layout". |
| paddingRightVariable | string | – | op="layout". |
| paddingTopVariable | string | – | op="layout". |
| paddingVariable | string | – | DS variable for uniform padding. op="layout" or "restyle". |
| pageId | string | – | Page ID to switch to. op="page". Takes precedence over pageName. |
| pageName | string | – | Page name to switch to. op="page". |
| parentId | string | – | New parent node ID. op="move". |
| primaryAxisAlignItems | string | – | op="layout". |
| strokeVariable | string | – | DS variable for stroke color. op="restyle". |
| strokeWeight | number | – | Stroke weight. op="restyle". |
| textStyleId | string | – | DS text style key. op="text_style". |
| visible | boolean | – | True to show, false to hide. op="visibility". |
| width | number | – | Fixed width. op="layout". |
| x | number | – | Absolute x position. op="position". |
| y | number | – | Absolute y position. op="position". |
No output schema declared.
No examples provided.
figma_validate_ds_compliance ~100
Recursively checks a node (and its children) against the current DS enforcement profile — flags hardcoded colors/fonts instead of variables/styles, missing text style bindings, and other DS violations. Use during Phase 3/4 QA, especially at the 20-op build checkpoint, before generating the report. Params: nodeId (required, typically the artboard root).
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | The Figma node ID to validate. |
| Name | Type | Req | Description |
|---|---|---|---|
| summary | object | – | – |
| violations | array | – | Per-node compliance violations found. |
No examples provided.
figma_variable_modes ~171
Sets the variable mode (e.g. light/dark) on a node — required on every new artboard, or DS variables render as black. By default sets the mode on ALL variable collections at once (pass modeIndex only). Pass collectionName to target a single collection instead. Params: nodeId (required, typically the artboard), modeIndex (required, 0=default/light, 1=dark), collectionName (optional). Requires Phase 2.
| Name | Type | Req | Description |
|---|---|---|---|
| collectionName | string | – | Optional — variable collection name. Omit to set the mode on ALL collections at once (recommended). |
| modeIndex | number | yes | Mode index. 0 = default/light, 1 = dark (if available). |
| nodeId | string | yes | Node ID (typically the artboard). |
No output schema declared.
No examples provided.
mimic_ai_knowledge_read ~125
Loads the knowledge store: learned component recipes, layout/pattern data, DS gaps, user-defined rules, and meta stats (build counts, replay savings). Call at the start of a session to see what Mimic has already learned about this DS. Params: format ("json" default — structured data; "design_md" — renders the current DS + recipes as a DESIGN.md-style markdown string for documentation/handoff).
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | "json" (default) returns structured store contents. "design_md" returns a rendered DESIGN.md markdown string instead. |
No output schema declared.
No examples provided.
mimic_ai_knowledge_write ~182
Saves a component recipe, layout pattern, DS gap, or user-defined design rule to the persistent knowledge store — the mechanism that lets Mimic learn across builds. Use "rule" when the user corrects build behavior in a generalizable way (e.g. "cards always have a header + content frame"); other types are usually written automatically by the build pipeline. Params: type ("component"|"pattern"|"gap"|"rule", required), id (unique key, required), data (entry payload, required).
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | The entry data to store. |
| id | string | yes | Unique identifier for the entry. |
| type | string | yes | Type of knowledge entry to save. Use "rule" for user-defined design rules that should be followed on every build (e.g., color semantics, card structure, component usage patterns). |
No output schema declared.
No examples provided.
mimic_build_chart ~473
Bulk chart builder — creates an entire chart in ONE call: container, visualization (native rectangles or stroke-free SVG), axis labels, grid lines, and legend, all bound to DS variables and text styles. Use for ANY HTML chart instead of hand-building; reduces 30-50 tool calls to 1. chartType: bar, line, donut, radar. Key params: parentId, chartType, title, data, dimensions, colors (neutral DS data palette — never Brand/Success/Warning/Error). Use mimic_compute_chart for geometry-only. Phase 2+.
| Name | Type | Req | Description |
|---|---|---|---|
| chartType | string | yes | The type of chart to build. |
| colors | array | – | DS color variable paths for data elements. Falls back to DS cache palette or default. |
| data | array | yes | Chart data points. Bar: [{label, value}]. Donut: [{label, value}]. Line: [{label, value}] or [{x, y}]. Radar: [{label, value}] or [{label, values: [v1, v2]}] for multi-series. |
| dimensions | object | yes | Chart dimensions. Bar: {chartHeight, chartWidth?}. Donut: {outerRadius, innerRadius}. Line: {plotWidth, plotHeight}. Radar: {radius}. Optional for bar/line: yPrefix, ySuffix. |
| gridColor | string | – | DS variable path for grid lines. Falls back to DS cache border/secondary match. |
| labelColor | string | – | DS variable path for axis label text color. Falls back to DS cache text/tertiary match. |
| labelStyle | string | – | DS text style name for axis labels. Falls back to smallest text style in DS cache. |
| parentId | string | yes | Parent node ID to insert the chart into. |
| seriesNames | array | – | Legend labels for multi-series charts (e.g. ["Current", "Target"]). For donut charts, legend is auto-generated from data labels. |
| title | string | yes | Chart card title text. |
| titleColor | string | – | DS variable path for title text color. Falls back to DS cache text/primary match. |
| titleStyle | string | – | DS text style name for chart title. Falls back to DS cache sm/Semibold match. |
No output schema declared.
No examples provided.
mimic_build_table ~467
Bulk table builder — creates an entire data table in ONE call: column frames, DS Table header cell + Table cell components, variants (cellVariants for per-value badge colors), text, and consistent row height. Use for ANY HTML data table instead of cell-by-cell insertion; reduces 200+ tool calls to 1. Requires table cell components in the DS (returns creation guidance if missing). Key params: parentId, columns (header/style/cellVariants), rows ("text|supporting" syntax), cellHeight. Phase 2+.
| Name | Type | Req | Description |
|---|---|---|---|
| cellHeight | number | – | Fixed height for ALL data cells in pixels. Ensures row alignment across columns. Common values: 44, 56, 64, 72. If omitted, cells use HUG (may cause misalignment). |
| columns | array | yes | Column definitions. Each column becomes a vertical frame with a header cell + data cells. |
| dataCellKey | string | – | Component key for Table cell. If omitted, auto-resolved from DS cache/knowledge store. |
| firstColumnPaddingLeft | string | – | DS spacing variable path for extra left padding on header cells and data cells of the FIRST column. Use when the table is inside a card to create visual inset (e.g., 24px/spacing-3xl). Applied via pa… |
| headerCellKey | string | – | Component key for Table header cell. If omitted, auto-resolved from DS cache/knowledge store. |
| headerVariant | object | – | Variant overrides for all header cells (e.g. {"Checkbox": "False"}). Applied to every header. |
| lastColumnPaddingRight | string | – | DS spacing variable path for extra right padding on header cells and data cells of the LAST column. Use when the table is inside a card to create visual inset (e.g., 24px/spacing-3xl). Applied via pa… |
| parentId | string | yes | Parent node ID to insert the table body into. |
| rows | array | yes | Row data as arrays of strings. Each inner array has one value per column. Use "|" to separate text and supporting text (e.g. "Sarah Chen|[email protected]"). Array length must match columns length. |
No output schema declared.
No examples provided.
mimic_compute_chart ~237
Computes chart geometry (bar positions, SVG paths, arc angles, grid lines, axis labels) from raw data WITHOUT building anything in Figma — pure math, no bridge/Figma calls, usable at any phase. Use when you need coordinates/paths to hand-build a chart yourself; use mimic_build_chart instead when you just want the finished chart created in one call. Supports chartType: bar, horizontalBar, donut, line, radar, scatter, heatmap. Params: chartType (required), data (required, points), dimensions (chart-type-specific sizing).
| Name | Type | Req | Description |
|---|---|---|---|
| chartType | string | yes | The type of chart to compute. |
| data | array | yes | Chart data points. Shape depends on chartType. |
| dimensions | object | yes | Chart dimensions. Keys depend on chartType: chartHeight + optional chartWidth (bar), outerRadius/innerRadius (donut), plotWidth/plotHeight (line/scatter), radius/cx/cy (radar), cellWidth/cellHeight (… |
No output schema declared.
No examples provided.
mimic_discover_ds ~443
Complete DS discovery in two steps. Step 1: call with fileKey — discovers variables, text styles, components via plugin API, caches everything, stays at Phase 1. Step 2: call again with communitySearchResults (library names from Figma MCP search_design_system) — verifies no community libraries were missed, then advances to Phase 2 (build-ready). Build tools are BLOCKED until Step 2 completes. If a community library's variables are not discoverable via the plugin API (communityVariablesRequired response), fetch them via Figma MCP search_design_system and pass as externalVariables.
| Name | Type | Req | Description |
|---|---|---|---|
| communitySearchResults | array | – | Unique library names found via Figma MCP search_design_system (query "color", includeVariables: true). Required after initial discovery to verify no community libraries were missed. Pass only non-nul… |
| communitySearchVariableKeys | object | – | Map of libraryName → one sample variable key from search results. Used to validate which libraries are actually enabled in the file. Extract one key per library from the color search results. |
| externalVariables | array | – | Variables fetched via Figma MCP search_design_system for community libraries whose variables are not discoverable via the plugin API. Pass after receiving a communityVariablesRequired response. |
| fileKey | string | yes | Figma file key to discover DS from. |
| identityDriftChoice | string | – | Answer to a library-identity-drift prompt (name-keyed community library where most previously-known components vanished). "same" keeps learning under the existing history; "different" starts a fresh… |
| libraryFileKey | string | – | Library file key (alphanumeric string from the Figma URL of the library file). Prompted once per library, cached permanently. |
| libraryKey | string | – | Library key to use when multiple DS libraries are available. Returned from a previous call that detected multiple libraries. |
| skipRestApi | boolean | – | Skip REST API component discovery (e.g. for community libraries where the file key is unavailable). Discovery proceeds with plugin-only data; use Figma MCP search_design_system + mimic_map_components… |
| Name | Type | Req | Description |
|---|---|---|---|
| _stopBuild | boolean | – | True when the build must not proceed until the returned instructions are followed. |
| _userPrompt | string | – | Present this to the user verbatim when a decision is required. |
| communityLibraryCheckRequired | boolean | – | – |
| completenessWarnings | array | – | – |
| enforcement | object | – | – |
| hint | string | – | – |
| phase | number | – | – |
| phaseLabel | string | – | – |
No examples provided.
mimic_ds_assets ~395
Manual escape hatch for DS discovery/preload/finalize — the low-level building blocks mimic_discover_ds already orchestrates automatically. Use this ONLY when the automatic flow needs a targeted redo: re-discovering one asset kind after a partial load, preloading variables/styles/fill-styles fetched some other way, or manually finalizing the enforcement profile. Params: action ("discover"|"preload"|"set_defaults"), kind ("styles"|"variables"|"components"|"fill_styles", required for discover/preload), plus action-specific params (fileKey for discover, styleKeys/variables/libraryFileKey for preload, dsMode for set_defaults). Workflow position: DS Discovery / Style Inventory (Phase 1-2), before building.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | "discover" fetches DS assets from a library file. "preload" caches assets you already have. "set_defaults" computes the enforcement profile and advances to Phase 2. |
| dsMode | string | – | DS enforcement mode for action="set_defaults". Defaults to strict when DS has tokens. |
| expectedCount | number | – | Total number of styles/variables expected (from Figma MCP search results). Used to detect partial loads. Optional, for action="preload". |
| fileKey | string | – | Library file key. Required for action="discover". |
| kind | string | – | Which DS asset kind. Required for "discover" (styles|variables|components) and "preload" (styles|variables|fill_styles). Not used by "set_defaults". |
| libraryFileKey | string | – | Library file key to fetch fill styles from. Required for action="preload", kind="fill_styles". |
| styleKeys | array | – | Text style keys to preload. Required for action="preload", kind="styles". |
| variables | array | – | Variables to cache. Required for action="preload", kind="variables". |
No output schema declared.
No examples provided.
mimic_generate_build_report ~195
Compiles the current build session into a structured report — DS component usage, primitives with justifications, DS changes/staleness, gap recommendations, binding-quality failures, efficiency (tool calls, cache hits, replay savings), and design-rule compliance. MANDATORY at the end of every build, before responding to the user — advances phase to 5 and resets per-build counters. No params.
| Name | Type | Req | Description |
|---|---|---|---|
| cacheHits | number | – | Number of cache hits during the build. |
| components | array | yes | DS components used in the build. Include componentKey from figma_insert_component responses for reliable learning. |
| format | string | – | Report format. Defaults to markdown. |
| primitives | array | yes | Primitives used (elements not found in DS). |
| screenName | string | yes | Name of the screen that was built. |
| toolCallCount | number | – | Total tool calls in the build. Falls back to session count. |
| Name | Type | Req | Description |
|---|---|---|---|
| bindingFailureCount | number | – | – |
| componentQualityGate | string | – | – |
| componentUsagePercent | number | – | – |
| dsChanges | array | – | – |
| recommendations | array | – | – |
| reportPath | string | – | – |
| ruleViolations | array | – | – |
| summary | string | yes | One-line human-readable summary of the whole build. |
| unoverriddenTextCount | number | – | – |
No examples provided.
mimic_map_components ~229
Maps HTML element types (button, input, badge, table, tab, avatar, dropdown, textarea, header, footer, sidebar, ...) to DS component keys for the current build. Call once after mimic_discover_ds with all section-level + control element types. With FIGMA_TOKEN configured, one call is enough — all library components are pre-cached and missing types are confirmed gaps. Without a token, call again with librarySearchResults (from Figma MCP search_design_system) to close the loop. Workflow position: Phase 1-2, right after DS discovery, before figma_insert_component.
| Name | Type | Req | Description |
|---|---|---|---|
| elementTypes | array | yes | List of HTML element types to map (e.g. ["button", "input", "badge", "table", "tab", "avatar", "dropdown", "textarea"]). |
| librarySearchResults | array | – | Component search results from Figma MCP search_design_system. Pass ALL results from your searches (any library — they will be filtered). This completes the search loop: matched components get cached,… |
| Name | Type | Req | Description |
|---|---|---|---|
| components | array | – | – |
| hint | string | – | – |
| mapped | number | – | – |
| missing | number | – | – |
| notFound | array | – | – |
| searchComplete | boolean | – | – |
| selectedLibrary | string|null | – | – |
No examples provided.
mimic_pipeline_resolve ~111
Classifies build input as a URL, local file path, or raw HTML string and returns the resolved content ready for building. Use FIRST when the user gives you a link, a file path, or ambiguous input instead of raw HTML — it tells you what you actually received. Params: input (string, required). Workflow position: before mimic_discover_ds, at the very start of a build.
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | A URL, file path, or raw HTML string to classify and resolve. |
No output schema declared.
No examples provided.
mimic_status ~100
START EVERY SESSION HERE. Returns Figma plugin connection status, the current build phase (0=idle through 5=report), enforcement profile, cached DS counts, knowledge store summary (learned components/patterns/gaps/rules), and a contextual `hint` telling you exactly what to call next. Also clears build-interrupt state after a plugin reconnect and warns if a completed build is missing its mandatory report. No params — call with no arguments.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| cacheHits | number | – | – |
| dsCache | object | – | – |
| hint | string | yes | What to call next. |
| knowledge | object | – | – |
| phase | number | yes | 0=idle, 1=discovery, 2=inventory, 3=build, 4=qa, 5=report. |
| phaseLabel | string | – | – |
| pluginConnected | boolean | yes | – |
| toolCallCount | number | – | – |
No examples provided.