Skip to main content
Glama

Server Details

A design harness for AI coding agents: design systems, design principles, icons and UI review.

Ownership verified

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
0.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL
Repository
better-designs/better-design-plugin
GitHub Stars
0
Server Listing
Better Design
ChatGPT
–
Claude
Better Design

TDQS

A3.6/5.0

Scored across 45 tools

Disambiguation3/5

Most tools have distinct purposes, but several families can be confused at selection time: get-ui-principle vs get-ux-principle, get-team-rules vs get-review-rules, review-dashboard-structure vs finalize-dashboard-review, and extract-design-system vs extract-from-url. Detailed descriptions help, but an agent must read carefully to avoid misselection across 45 tools.

Naming Consistency5/5

All tools use kebab-case with a predictable verb-noun pattern such as build-feature-map, get-design-system-status, find-icons, review-illustration, and set-team-rules. Minor singular/plural differences in icon tools do not break the convention.

Tool Count2/5

45 tools is excessive for a single MCP server, even given the broad design-system, review, guidance, and generation scope. Many tools could be grouped into fewer, parameterized tools without losing capability.

Completeness4/5

The surface covers design-system creation, extraction, configuration, preview, kits, icon workflows, review, guidance, feature maps, and content generation with few dead ends. Gaps remain around deleting or managing generated projects, removing installed icons, and approving or deleting team rules, but agents can mostly work around them.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedinspect-spacing4 fields changed
      • addedInput schema / properties / foldable
        Added value: +{
        +  "description": "Set for an iPhone Duo or another foldable app. The call then needs nativeStates from at least two poses, closed and open, and returns status incomplete otherwise.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / measured
        Added value: +{
        +  "description": "True only when status is completed. Report a score only then.",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "needs-capture",
        -  "completed"
        -]New value: +[
        +  "needs-capture",
        +  "incomplete",
        +  "completed"
        +]
      • changedOutput schema / required
        Previous value: -[
        -  "status"
        -]New value: +[
        +  "status",
        +  "measured"
        +]
  2. 1 tool update
    • Changedget-jig-guide4 fields changed
      • changedInput schema / properties / framework / description
        Previous value: -"Which tune-in-place setup to return. 'react' (default) for React/Next web projects; 'vanilla' for plain DOM or canvas work; 'react-native' for RN/Expo apps. Ignored when kind is 'standalone-tool' or 'variant-canvas'."New value: +"The platform the jig or picker goes into. 'react' (default) for React/Next web projects; 'vanilla' for plain DOM or canvas work; 'react-native' for RN/Expo apps; 'swiftui' for SwiftUI apps; 'shopify' for Liquid themes. Ignored when kind is 'standalone-tool' or 'wait-for-send'."
      • changedInput schema / properties / framework / enum
        Previous value: -[
        -  "react",
        -  "vanilla",
        -  "react-native"
        -]New value: +[
        +  "react",
        +  "vanilla",
        +  "react-native",
        +  "swiftui",
        +  "shopify"
        +]
      • changedInput schema / properties / kind / description
        Previous value: -"What the user needs. 'tune-in-place' (default): a control panel for parameters in the UI you are building. 'standalone-tool': a separate reusable design tool, scaffolded with Toolcraft. 'variant-canvas': several variants of one component or screen side by side, for the user to compare and pick."New value: +"What the user needs. 'tune-in-place' (default): a control panel for parameters in the UI you are building. 'standalone-tool': a separate reusable design tool, scaffolded with Toolcraft. 'variant-canvas': three versions of one piece of UI on the real screen behind a picker. 'wait-for-send': wait for the person to select Send on a jig or picker you handed over, and receive what they chose."
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "tune-in-place",
        -  "standalone-tool",
        -  "variant-canvas"
        -]New value: +[
        +  "tune-in-place",
        +  "standalone-tool",
        +  "variant-canvas",
        +  "wait-for-send"
        +]
  3. 1 tool update
    • Addedcheck-first-visit
  4. 1 tool update
    • Changedget-design-system-kit1 field changed
      • changedInput schema / properties / target / description
        Previous value: -"Required build target. Use \"react\" for any host with filesystem + terminal; use \"html\" only for inline chat canvases/artifacts. Use \"shopify\" for Shopify stores and themes. Use \"dtcg\" to hand the tokens to a design tool: it returns a W3C Design Tokens document for Style Dictionary, Tokens Studio, Terrazzo, or a Figma plugin that creates variables. Use \"store-screenshots\" for App Store and Google Play screenshots in this system: it returns slide files and a render script that writes PNG files at the store sizes.  Use \"react-native\" for a React Native or Expo app and \"swiftui\" for an iOS app: each returns this system's stored mobile kit, its own material on native primitives, plus the handoff to the matching guide."New value: +"Required build target. Use \"react\" for any host with filesystem + terminal; use \"html\" only for inline chat canvases/artifacts. Use \"shopify\" for Shopify stores and themes. Use \"dtcg\" to hand the tokens to a design tool: it returns a W3C Design Tokens document for Style Dictionary, Tokens Studio, Terrazzo, or a Figma plugin that creates variables. Use \"store-screenshots\" for App Store and Google Play screenshots in this system: it returns slide files and a render script that writes PNG files at the store sizes.  Use \"react-native\" for a React Native or Expo app and \"swiftui\" for an iOS app: each returns this design system's own components for that platform: its theme and native primitives in its material, plus the handoff to the matching guide."
  5. 3 tool updates
    • Changedget-design-system-kit2 fields changed
      • changedInput schema / properties / target / description
        Previous value: -"Required build target. Use \"react\" for any host with filesystem + terminal; use \"html\" only for inline chat canvases/artifacts. Use \"shopify\" for Shopify stores and themes. Use \"dtcg\" to hand the tokens to a design tool: it returns a W3C Design Tokens document for Style Dictionary, Tokens Studio, Terrazzo, or a Figma plugin that creates variables. Use \"store-screenshots\" for App Store and Google Play screenshots in this system: it returns slide files and a render script that writes PNG files at the store sizes. "New value: +"Required build target. Use \"react\" for any host with filesystem + terminal; use \"html\" only for inline chat canvases/artifacts. Use \"shopify\" for Shopify stores and themes. Use \"dtcg\" to hand the tokens to a design tool: it returns a W3C Design Tokens document for Style Dictionary, Tokens Studio, Terrazzo, or a Figma plugin that creates variables. Use \"store-screenshots\" for App Store and Google Play screenshots in this system: it returns slide files and a render script that writes PNG files at the store sizes.  Use \"react-native\" for a React Native or Expo app and \"swiftui\" for an iOS app: each returns this system's stored mobile kit, its own material on native primitives, plus the handoff to the matching guide."
      • changedInput schema / properties / target / enum
        Previous value: -[
        -  "react",
        -  "html",
        -  "shopify",
        -  "dtcg",
        -  "store-screenshots"
        -]New value: +[
        +  "react",
        +  "html",
        +  "shopify",
        +  "dtcg",
        +  "store-screenshots",
        +  "react-native",
        +  "swiftui"
        +]
    • Addedget-react-native-guide
    • Addedget-three-js-guide
  6. 1 tool update
    • Changedget-design-system-kit1 field changed
      • addedInput schema / properties / screen
        Added value: +{
        +  "description": "react-native and swiftui only: a few words naming the screen you are building, such as \"habit tracker today\" or \"workout log\". The kit then shows how shipped apps built it.",
        +  "maxLength": 80,
        +  "minLength": 1,
        +  "type": "string"
        +}
  7. 3 tool updates
    • Changedinspect-spacing2 fields changed
      • removedOutput schema / properties / findings / items / properties / evidence / items / properties / value / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "string"
        -  }
        -]
      • addedOutput schema / properties / findings / items / properties / evidence / items / properties / value / type
        Added value: +[
        +  "number",
        +  "string"
        +]
    • Addedsend-feedback
    • Changedset-design-config2 fields changed
      • removedInput schema / properties / config / properties / icons / properties / variant / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedInput schema / properties / config / properties / icons / properties / variant / type
        Added value: +[
        +  "string",
        +  "null"
        +]
  8. 1 tool update
    • Changedinspect-spacing1 field changed
      • addedInput schema / properties / nativeStates
        Added value: +{
        +  "description": "Native screens: a name for each, and the JSON `axe describe-ui` printed for it. Frames are in points and are measured as pixels.",
        +  "items": {
        +    "properties": {
        +      "name": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "tree": {
        +        "items": {},
        +        "maxItems": 20,
        +        "minItems": 1,
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "name",
        +      "tree"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 6,
        +  "minItems": 1,
        +  "type": "array"
        +}
  9. 3 tool updates
    • Changedget-design-system-kit3 fields changed
      • addedOutput schema / properties / installedTo
        Added value: +{
        +  "description": "The project folder this server installed the design system into. Build there; run no setup command.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / localInstall
        Added value: +{
        +  "description": "True when this server runs on the user's machine and installs the design system itself: call get-design-system-kit again with install: true.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / newProjectCommand
        Added value: +{
        +  "description": "Creates a Vite + React + TypeScript project with Tailwind v4, the @/* alias and components.json, for when there is no project yet. Run it, then run installCommand inside the new my-app folder.",
        +  "type": "string"
        +}
    • Changedget-design-system-status3 fields changed
      • addedOutput schema / properties / installedTo
        Added value: +{
        +  "description": "The project folder this server installed the design system into. Build there; run no setup command.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / localInstall
        Added value: +{
        +  "description": "True when this server runs on the user's machine and installs the design system itself: call get-design-system-kit again with install: true.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / newProjectCommand
        Added value: +{
        +  "description": "Creates a Vite + React + TypeScript project with Tailwind v4, the @/* alias and components.json, for when there is no project yet. Run it, then run installCommand inside the new my-app folder.",
        +  "type": "string"
        +}
    • Changedpreview-design-system3 fields changed
      • addedOutput schema / properties / installedTo
        Added value: +{
        +  "description": "The project folder this server installed the design system into. Build there; run no setup command.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / localInstall
        Added value: +{
        +  "description": "True when this server runs on the user's machine and installs the design system itself: call get-design-system-kit again with install: true.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / newProjectCommand
        Added value: +{
        +  "description": "Creates a Vite + React + TypeScript project with Tailwind v4, the @/* alias and components.json, for when there is no project yet. Run it, then run installCommand inside the new my-app folder.",
        +  "type": "string"
        +}
  10. 2 tool updates
    • Changedmake-sales-page9 fields changed
      • changedInput schema / properties / ctaLabel / description
        Previous value: -"The button label, for example \"Book a call\"."New value: +"Optional. The button label, for example \"Book a call\"."
      • removedInput schema / properties / ctaLabel / minLength
        Removed value: -1
      • changedInput schema / properties / ctaUrl / description
        Previous value: -"Where the button goes, for example your calendar link."New value: +"Where the call to action goes, for example your calendar link."
      • removedInput schema / properties / format
        Removed value: -{
        -  "description": "\"page\" makes a hosted sales page. \"pdf\" makes the same page as a one-page PDF to leave behind after a call.",
        -  "enum": [
        -    "page",
        -    "pdf"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / headline / description
        Previous value: -"The page's headline, written for this account."New value: +"Optional. The page's headline. Left out, Better Design writes it."
      • removedInput schema / properties / headline / minLength
        Removed value: -1
      • addedInput schema / properties / notes
        Added value: +{
        +  "description": "Optional. What you know about the account: its business, its problem, the conversation so far.",
        +  "maxLength": 2000,
        +  "type": "string"
        +}
      • changedInput schema / properties / problem / description
        Previous value: -"Optional. The problem the account has today."New value: +"Optional. The problem the account has today. Left out, Better Design writes it."
      • changedInput schema / required
        Previous value: -[
        -  "format",
        -  "designSystemId",
        -  "website",
        -  "company",
        -  "headline",
        -  "offer",
        -  "ctaLabel",
        -  "ctaUrl"
        -]New value: +[
        +  "designSystemId",
        +  "company",
        +  "website",
        +  "offer",
        +  "ctaUrl"
        +]
    • Changedmake-social-image7 fields changed
      • addedInput schema / properties / ctaUrl
        Added value: +{
        +  "description": "Where the call to action goes, for example your calendar link.",
        +  "format": "uri",
        +  "maxLength": 2048,
        +  "type": "string"
        +}
      • changedInput schema / properties / headline / description
        Previous value: -"The image's headline."New value: +"Optional. The image's headline. Left out, Better Design writes it."
      • removedInput schema / properties / headline / minLength
        Removed value: -1
      • addedInput schema / properties / notes
        Added value: +{
        +  "description": "Optional. What you know about the account: its business, its problem, the conversation so far.",
        +  "maxLength": 2000,
        +  "type": "string"
        +}
      • addedInput schema / properties / offer
        Added value: +{
        +  "description": "What you offer this account and what it gets.",
        +  "maxLength": 1200,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / website
        Added value: +{
        +  "description": "The account's website, for example https://acme.com.",
        +  "format": "uri",
        +  "maxLength": 2048,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "designSystemId",
        -  "company",
        -  "headline"
        -]New value: +[
        +  "designSystemId",
        +  "company",
        +  "website",
        +  "offer",
        +  "ctaUrl"
        +]
  11. 1 tool update
    • Changedread-feature-map1 field changed
      • changedInput schema / properties / planned / description
        Previous value: -"Routes, file paths or names of work you are about to build; checks each against the Main Quest."New value: +"Routes, file paths or names of work you are about to build; checks each against what the product already makes and the Main Quest."
  12. 2 tool updates
    • Changedinspect-spacing3 fields changed
      • addedInput schema / properties / density
        Added value: +{
        +  "description": "The layout density to check against: compact, comfortable or spacious. Omit it to use the project's design config, then the design system's default, both read from the page's --layout-density variable, then the mode closest to the measured page.",
        +  "enum": [
        +    "compact",
        +    "comfortable",
        +    "spacious"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / states / items / properties / density
        Added value: +{
        +  "description": "The density the page declares through the kit's --layout-density variable. The capture script fills it.",
        +  "properties": {
        +    "mode": {
        +      "maxLength": 20,
        +      "type": "string"
        +    },
        +    "source": {
        +      "maxLength": 20,
        +      "type": "string"
        +    },
        +    "unit": {
        +      "exclusiveMinimum": 0,
        +      "maximum": 64,
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / density
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "mode": {
        +      "enum": [
        +        "compact",
        +        "comfortable",
        +        "spacious"
        +      ],
        +      "type": "string"
        +    },
        +    "roles": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "expected": {
        +            "type": "number"
        +          },
        +          "matches": {
        +            "type": "boolean"
        +          },
        +          "measured": {
        +            "type": "number"
        +          },
        +          "role": {
        +            "enum": [
        +              "sidebarWidth",
        +              "pageInset",
        +              "sectionGap",
        +              "columnGap",
        +              "cardPadding"
        +            ],
        +            "type": "string"
        +          },
        +          "state": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "role",
        +          "state",
        +          "measured",
        +          "expected",
        +          "matches"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "source": {
        +      "enum": [
        +        "argument",
        +        "project",
        +        "design-system",
        +        "measured"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "mode",
        +    "source",
        +    "roles"
        +  ],
        +  "type": "object"
        +}
    • Changedset-design-config2 fields changed
      • changedInput schema / properties / config / description
        Previous value: -"Partial design config to merge over the current one. Only pass the fields the user changed. Colors are oklch() strings (e.g. 'oklch(0.62 0.11 45)'); radius is a CSS length (e.g. '0.75rem'); fonts are family names."New value: +"Partial design config to merge over the current one. Only pass the fields the user changed. Colors are oklch() strings (e.g. 'oklch(0.62 0.11 45)'); radius is a CSS length (e.g. '0.75rem'); fonts are family names; density is compact, comfortable or spacious and overrides the design system's layout density."
      • addedInput schema / properties / config / properties / density
        Added value: +{
        +  "enum": [
        +    "compact",
        +    "comfortable",
        +    "spacious"
        +  ],
        +  "type": "string"
        +}
  13. 1 tool update
    • Changedinspect-spacing1 field changed
      • addedOutput schema / properties / nextStep
        Added value: +{
        +  "type": "string"
        +}
  14. 2 tool updates
    • Addedmake-sales-page
    • Addedmake-social-image

Publisher details

Operator
Better Design
Vendor relationship
First-party
Restrictions
https://better-design.com

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Equips coding agents with curated design rules, art directions, UI audits, component discovery, and reference guides so they can produce less generic, more polished interfaces in Claude Code, Codex, Cursor, and other MCP clients.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to create and manage consistent multi-screen UI designs through a token-efficient MCP interface, with design system tokens, components, flows, and visual review.
    118 npm
    2
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI coding assistants to generate bespoke design systems by synthesizing OKLCH color palettes, chamfer highlights and spring physics, teaching layout composition grammar, and returning micro-interaction primitives and component blueprints. Also audits JSX/TSX/HTML through a senior design director's lens to score and critique UI quality.
    13 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.