A side-by-side look at the Primitiv and HTML to Figma — Design System MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Primitiv for architecture & design work as a local process; choose HTML to Figma — Design System for architecture & design as a local process. You can also run both side by side in one mcpServers block.
get_design_context, get_token, get_component.mimic_status, mimic_discover_ds, figma_preload_styles.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Architecture & Design | Architecture & Design |
| Quality signal | 65/100 · Great | 64/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 21 | 14 |
| Directory activity | 4 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 6 | 60 |
| Full listing | View Primitiv | View HTML to Figma — Design System |
get_design_contextGet tokens, components, conflicts, inferred rules, and violation count. Default (no category) returns a summary with counts. Pass `category: "all" \get_tokenLook up a specific token by name. Pass `category` to narrow search (e.g. `"colors"`, `"spacing"`, `"borderRadius"`); aliases like `"radius"` / `"z-index"` are normalized.get_componentLook up a specific component by name. Returns props, variants, source provenance, and `kind` — `component`, `screen`, `provider`, `icon`, or `other`, so agents reuse real UI and skip screens/providers/icons.get_conflictsGet conflicts between sources. Pass `type: "all" \get_inferred_rulesGet the design rules Primitiv has extracted from your codebase patterns. Pass `category` to filter.get_violationsList token-misuse violations — hardcoded literals in source that bypass the contract, with a suggested token when one fits. Pass `category: "all" \mimic_statusReturns plugin connection status, current build phase, enforcement profile, knowledge store summary, and a contextual hint for what to do next.mimic_discover_dsComplete 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.figma_preload_stylesSends text style keys to the plugin for caching. Call during DS setup phase.figma_preload_variablesStores DS variables in the local cache for enforcement and resolution.figma_set_session_defaultsComputes the enforcement profile from cached DS data and sends it to the plugin. Advances to Phase 2 (inventory ready).figma_list_text_stylesReturns all cached text styles from the DS.figma_preload_fill_stylesPreloads fill (color) styles into the DS cache from a library file key. Call when discovery missed fill styles (e.g. library variables not enumerable but fill styles exist in the REST API).figma_list_fill_stylesReturns all cached fill (color) styles from the DS. Use the style key as fillStyleId in create_frame, create_text, create_rectangle, create_ellipse, or set_node_fill.figma_discover_library_stylesDiscovers and caches text styles from a Figma library file.figma_discover_library_variablesDiscovers and caches variables from a Figma library file.figma_discover_library_componentsScans existing component instances on the current page to discover available DS library components, their keys, and variant properties. Call during DS discovery phase.mimic_map_componentsMaps HTML element types to DS component keys. Call once to get initial mapping. If FIGMA_TOKEN is configured (REST API discovery), all library components are already cached — missing types after the first call are confirmed gaps, proceed to build. If REST API is not available (no token), search the library via Figma MCP search_design_system for missing types, then call AGAIN with librarySearchResults to confirm gaps.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"ai-by-design-primitiv": {
"command": "npx",
"args": [
"-y",
"@ai-by-design/primitiv"
]
}
}
}
{
"mcpServers": {
"html-to-figma-design-system": {
"command": "npx",
"args": [
"-y",
"@miapre/mimic-ai"
]
}
}
}