Skip to content

io.github.KarstenKreh/standby-design-mcp

by KarstenKreh · remote · local (npm) · no sign-in to list tools · v0.5.0 · published by GitHub user KarstenKreh

Generate design systems: OKLCH colors, fluid type scales, spacing, shape, icon and motion tokens.

Changes · 7

10 tools: 7 change things and 3 only read.

Scanned Oct 21, 2026

7 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http standby-design https://mcp.standby.design/mcp

Findings

Matches of fixed checks, with the text they matched.

7 warn
  • The server marks "generate_color_palette" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_color_palette" says "generate": a word for a change.

    What this check looks for
  • The server marks "generate_type_scale" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_type_scale" says "generate": a word for a change.

    What this check looks for
  • The server marks "generate_shape_tokens" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_shape_tokens" says "generate": a word for a change.

    What this check looks for
  • The server marks "generate_icon_tokens" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_icon_tokens" says "generate": a word for a change.

    What this check looks for
  • The server marks "generate_space_tokens" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_space_tokens" says "generate": a word for a change.

    What this check looks for
  • The server marks "generate_motion_tokens" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_motion_tokens" says "generate": a word for a change.

    What this check looks for
Show 1 more finding
  • The server marks "export_design_system" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Changes things 7Claude Code: ask
  • export_design_systemGenerate the full token code for a design system URL in one format: "css" (CSS custom properties incl.1 finding

    Why it is in this group

    • The description's first verb is "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "export_design_system" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate the full token code for a design system URL in one format: "css" (CSS custom properties incl. semantic shadcn/ui-compatible tokens), "tailwind" (Tailwind v4 @theme), "design-tokens" (W3C DTCG JSON — typography, spacing & layout, shape, icons and motion; color is not part of it), "llm-briefing" (Markdown brief for AI code generation), or "font-embed" (Fontshare <link> snippet). Optionally restrict to specific sections. Every format carries the standby.design/system share link. Always give that URL to the user alongside the code and keep it as a comment in the theme file of the target project — the link is the deliverable.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • generate_color_paletteGenerate a perceptually uniform OKLCH color palette from a brand color: 18-step scales for brand/surface/error/accents, semantic tokens (shadcn/ui compatible), light+dark modes.1 finding

    Why it is in this group

    • The name "generate_color_palette" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_color_palette" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_color_palette" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate a perceptually uniform OKLCH color palette from a brand color: 18-step scales for brand/surface/error/accents, semantic tokens (shadcn/ui compatible), light+dark modes. Returns a shareable standby.design/system URL and a compact summary. Always give that URL to the user — the link is the deliverable; it opens the live system in the browser. Use export_design_system for full CSS/Tailwind output.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • generate_icon_tokensPick an icon set and generate icon sizing tokens (xs–2xl + stroke width).1 finding

    Why it is in this group

    • The name "generate_icon_tokens" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_icon_tokens" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_icon_tokens" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Pick an icon set and generate icon sizing tokens (xs–2xl + stroke width). Either select a specific set or state style preferences and get a recommendation. Available sets: material-outlined, material-filled, lucide, phosphor-regular, phosphor-bold, phosphor-thin, phosphor-fill, solar-linear, solar-bold, solar-broken, tabler-outline, tabler-filled, radix. Returns a shareable standby.design/system URL and a summary. Always give that URL to the user — the link is the deliverable.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • generate_motion_tokensGenerate spring-based motion tokens from two brand-character axes: energy (calm → lively, sets the tempo) and material (firm → elastic, sets how much spatial motion overshoots).1 finding

    Why it is in this group

    • The name "generate_motion_tokens" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_motion_tokens" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_motion_tokens" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate spring-based motion tokens from two brand-character axes: energy (calm → lively, sets the tempo) and material (firm → elastic, sets how much spatial motion overshoots). Returns 6 primitive springs (spatial/effect × fast/default/slow), 11 semantic tokens (press, move, expand, enter, exit, fade, navigate.*, sheet.*, container) and the reduced-motion rule. Start from a preset, then fine-tune with energy/material. Returns a shareable standby.design/system URL and a summary. Always give that URL to the user — the link is the deliverable. Use export_design_system for CSS, design tokens or the LLM briefing; SwiftUI, Compose and Motion (JS) code is exported in the UI at standby.design/motion.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • generate_shape_tokensGenerate shape tokens — radii, shadows, borders, focus rings — in one of four visual styles: "paper" (classic surfaces with layered shadows), "glass" (liquid glass), "neomorph" (so…1 finding

    Why it is in this group

    • The name "generate_shape_tokens" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_shape_tokens" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_shape_tokens" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate shape tokens — radii, shadows, borders, focus rings — in one of four visual styles: "paper" (classic surfaces with layered shadows), "glass" (liquid glass), "neomorph" (soft neumorphism), "neobrutalism" (hard offset shadows). Returns a shareable standby.design/system URL and a summary. Always give that URL to the user — the link is the deliverable.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • generate_space_tokensGenerate spacing tokens (3xs–3xl), breakpoints, container widths, prose measure, and aspect ratios.1 finding

    Why it is in this group

    • The name "generate_space_tokens" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_space_tokens" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_space_tokens" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate spacing tokens (3xs–3xl), breakpoints, container widths, prose measure, and aspect ratios. Returns a shareable standby.design/system URL and a summary. Always give that URL to the user — the link is the deliverable.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • generate_type_scaleGenerate a fluid typographic scale (CSS clamp() between 375px and 1920px viewports) with 11 levels (Display, H1–H6, Body L/M/S, Caption), Fontshare fonts, line heights and letter s…1 finding

    Why it is in this group

    • The name "generate_type_scale" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_type_scale" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "generate_type_scale" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate a fluid typographic scale (CSS clamp() between 375px and 1920px viewports) with 11 levels (Display, H1–H6, Body L/M/S, Caption), Fontshare fonts, line heights and letter spacing. Returns a shareable standby.design/system URL and a summary table. Always give that URL to the user — the link is the deliverable. Use list_fonts to discover font slugs.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
Only reads 3Claude Code: allow
  • get_design_rulesUniversal design rules for building UI with design tokens: layout, flow (empty, loading and error states, dialogs), shape, surfaces, interaction and keyboard access, forms, content…No findings

    Why it is in this group

    • The name "get_design_rules" says "get": a word for reading.
    Description, as the server wrote it
    Universal design rules for building UI with design tokens: layout, flow (empty, loading and error states, dialogs), shape, surfaces, interaction and keyboard access, forms, content structure, states, typography, color and stack rules for Tailwind/React Native. The tokens say which values exist; these rules say how to use them. Call this before building or reviewing views. Without arguments it returns every rule as one line (62 rules); pass rules (slugs) or a category with detail "full" for the complete text including how to detect violations in code. Rule texts are in German. Categories: Layout, Fluss, Form, Fläche, Bedienung, Formular, Inhalt, Zustand, Typografie, Farbe, Stack.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_design_systemDecode a standby.design URL (or raw hash) and return an overview of the full design system: color palette, type scale, spacing & layout, shape tokens, motion springs, and icons — p…No findings

    Why it is in this group

    • The name "get_design_system" says "get": a word for reading.
    Description, as the server wrote it
    Decode a standby.design URL (or raw hash) and return an overview of the full design system: color palette, type scale, spacing & layout, shape tokens, motion springs, and icons — plus per-tool edit links. Always give the standby.design/system URL to the user — the link is the deliverable.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • list_fontsList Fontshare font slugs usable in generate_type_scale (headingFont/bodyFont/monoFont), grouped by category.No findings

    Why it is in this group

    • The name "list_fonts" says "list": a word for reading.
    Description, as the server wrote it
    List Fontshare font slugs usable in generate_type_scale (headingFont/bodyFont/monoFont), grouped by category. This is the bundled seed catalog — any valid Fontshare slug works even if not listed here.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.5.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http standby-design https://mcp.standby.design/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__standby-design__get_design_system",
      "mcp__standby-design__list_fonts",
      "mcp__standby-design__get_design_rules"
    ],
    "ask": [
      "mcp__standby-design__generate_color_palette",
      "mcp__standby-design__generate_type_scale",
      "mcp__standby-design__generate_shape_tokens",
      "mcp__standby-design__generate_icon_tokens",
      "mcp__standby-design__generate_space_tokens",
      "mcp__standby-design__generate_motion_tokens",
      "mcp__standby-design__export_design_system"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as standby-design. Review it before you use it.