Primitiv vs Figwright

A side-by-side look at the Primitiv and Figwright MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Primitiv logoPrimitivArchitecture & Design · Local subprocess (stdio)Design contract layer for your codebase. Scans Figma, code, Storybook, and token files, reconciles conflicts, and serves a single machine-readable source of truth over MCP so every agent gets the same authoritative design rules before it builds. Local-first — your code never leaves your machine.65GreatAuth: no auth requiredFigwright logoFigwrightArchitecture & Design · Local subprocess (stdio)Bidirectional Figma server over a local WebSocket relay: turn a selection into framework-aware code (reusing your components and tokens), or author frames, text, styles, variables, and whole screens back onto the canvas. 92 tools, any MCP client, no Dev Mode seat or paid tier.69GreatAuth: no auth required

Verdict: choose Primitiv for architecture & design work as a local process; choose Figwright for architecture & design as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Primitiv logoChoose Primitiv when

  • You need dedicated capabilities in the Architecture & Design domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like get_design_context, get_token, get_component.
Explore Primitiv

Figwright logoChoose Figwright when

  • You need dedicated capabilities in the Architecture & Design domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like Read, Write, Grounding.
Explore Figwright

Feature & specification comparison

Rows where the two servers differ are marked.

SpecPrimitiv logoPrimitivFigwright logoFigwright
CategoryArchitecture & DesignArchitecture & Design
Quality signal65/100 · Great69/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNo auth requiredNo auth required
PricingFreeFree
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars211,122
Directory activity 4 views 0 installs 0 upvotes 6 views 0 installs 0 upvotes
Tools63

Tools & capabilities

Primitiv tools 6

  • 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" \

Figwright tools 3

  • Readselection, document and node inspection, styles, variables, components, fonts, prototype reactions and flows, motion (animation) state, screenshots, original image-fill assets, PDF export, and video export of animated frames (MP4 / GIF / WebM); plus `list_files` / `use_file` for working across more…
  • Writecreate and edit frames, text, shapes (lines, polygons, stars, boolean operations, flattening), auto-layout, alignment and distribution, effects, images (as a new layer or into an existing layer's fill), styles, variables (including importing a team library's variables and styles, and switching a fr…
  • Grounding`get_design_context` for faithful, de-duplicated design context, and `component_map` / `token_map` / `icon_map`, which join Figma data to your codebase so codegen reuses what you already have; plus `design_diff`, which reports what changed in a design against a saved baseline so you update only the…

Ready-to-paste client configs

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.

Primitiv

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "ai-by-design-primitiv": {
      "command": "npx",
      "args": [
        "-y",
        "@ai-by-design/primitiv"
      ]
    }
  }
}

Figwright

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "awdr74100-figwright": {
      "command": "npx",
      "args": [
        "-y",
        "@figwright/mcp@latest"
      ]
    }
  }
}

Frequently asked questions

Primitiv is categorized under Architecture & Design and uses a local stdio subprocess. Figwright belongs to Architecture & Design and uses a local stdio subprocess. Pick Primitiv for architecture & design work and Figwright for architecture & design.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Primitiv is listed as free. Auth: no auth required. Figwright is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add ai-by-design-primitiv and awdr74100-figwright as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Primitiv has a quality signal of 65/100 (Great) with 4 views, 0 installs and 21 GitHub stars. Figwright has 69/100 (Great) with 6 views, 0 installs and 1,122 GitHub stars.