standby-design-mcp

Generate design systems: OKLCH color palettes, fluid type scales, spacing, shape and icon tokens.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
85%
이름 품질
100%
오염 위험
80%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • HIGHTool description contains system tag or markerget_design_system에서
  • HIGHTool poisoning patterns detected

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~4,890토큰 (도구 정의)
~4.3 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.82%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "standby-design-mcp": {
      "command": "npx",
      "args": [
        "standby-design-mcp"
      ]
    }
  }
}

실행 가능한 패키지

npmstandby-design-mcp0.3.0stdio

원격 엔드포인트

https://mcp.standby.design/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (10)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢generate_color_palette(url, brandHex, themeName, mode, chromaScale, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Existing standby.design URL (or raw hash) to modify. Only this tool's section is changed; color/type/shape/icon/spacing/motion settings from other tools are preserved. Omit to start fresh from defaults."
    },
    "brandHex": {
      "type": "string",
      "description": "Brand color as 6-digit hex, e.g. \"#335A7F\". The palette midpoint is derived from this."
    },
    "themeName": {
      "type": "string",
      "maxLength": 60,
      "description": "Name of the design system (appears in exports and page title)."
    },
    "mode": {
      "type": "string",
      "enum": [
        "balanced",
        "exact"
      ],
      "description": "\"balanced\": step 500 is always the perceptual midpoint (even light/dark distribution). \"exact\": step 500 keeps the input color's lightness."
    },
    "chromaScale": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Surface saturation 0–1 (0 = grey surfaces, 1 = vibrant). Default 0.25."
    },
    "bgColorHex": {
      "type": "string",
      "description": "Surface tint color as hex, or \"auto\" to derive from the brand color (default)."
    },
    "errorColorHex": {
      "type": "string",
      "description": "Error/destructive color as hex, or \"auto\" to derive from the brand hue (default)."
    },
    "brandPin": {
      "type": "boolean",
      "description": "Pin the primary token to the exact input hex instead of the palette step."
    },
    "brandInvert": {
      "type": "boolean",
      "description": "For pinned brand: mirror lightness in dark mode (e.g. black buttons in light mode, white in dark)."
    },
    "errorPin": {
      "type": "boolean"
    },
    "errorInvert": {
      "type": "boolean"
    },
    "fgContrastMode": {
      "type": "string",
      "enum": [
        "best",
        "preferLight",
        "preferDark"
      ],
      "description": "Text color strategy on colored backgrounds."
    },
    "accents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30
          },
          "hex": {
            "type": "string",
            "description": "Hex color. Omit to auto-derive from the brand color (requires autoHue or a preset name: Success/Warning/Info)."
          },
          "autoHue": {
            "type": "number",
            "minimum": 0,
            "maximum": 360,
            "description": "OKLCH hue for auto-derived accents."
          },
          "pin": {
            "type": "boolean"
          },
          "invert": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "maxItems": 3,
      "description": "Up to 3 additional named accent colors. Replaces the existing accent list when provided; pass [] to remove all accents. Default: Success/Warning/Info, auto-derived."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢generate_type_scale(url, scaleMode, baseSize, ratio, mobileBaseSize, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Existing standby.design URL (or raw hash) to modify. Only this tool's section is changed; color/type/shape/icon/spacing/motion settings from other tools are preserved. Omit to start fresh from defaults."
    },
    "scaleMode": {
      "type": "string",
      "enum": [
        "custom",
        "traditional"
      ],
      "description": "\"custom\": compound ratio scale (default). \"traditional\": classical Renaissance point sizes per level."
    },
    "baseSize": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 2,
      "description": "Desktop base size in rem (default 1.0)."
    },
    "ratio": {
      "type": "number",
      "minimum": 1.05,
      "maximum": 1.7,
      "description": "Scale ratio for custom mode. Presets: 1.2 minor third, 1.25 major third, 1.272 golden-ratio-area (default, √φ), 1.333 perfect fourth, 1.618 golden ratio. The empirical perceptual corridor is 1.20–1.50."
    },
    "mobileBaseSize": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 2,
      "description": "Mobile base size in rem (default = baseSize)."
    },
    "mobileRatio": {
      "type": "number",
      "minimum": 1,
      "maximum": 1.7,
      "description": "Explicit mobile scale ratio. Omit to auto-derive from ratio and autoShrink."
    },
    "autoShrink": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Percent reduction for the auto-derived mobile ratio (default 25). Only used when mobileRatio is not set."
    },
    "headingFont": {
      "type": "string",
      "description": "Fontshare font slug for headings, e.g. \"satoshi\", \"general-sans\", \"clash-display\"."
    },
    "bodyFont": {
      "type": "string",
      "description": "Fontshare font slug for body text."
    },
    "monoFont": {
      "type": "string",
      "description": "Font slug for code. System stacks: \"system-mono\", \"consolas\", \"sf-mono\"."
    },
    "headingWeight": {
      "type": "integer",
      "minimum": 100,
      "maximum": 900,
      "description": "Font weight for headings (default 500)."
    },
    "lineHeightOverrides": {
      "type": "object",
      "additionalProperties": {
        "type": "number"
      },
      "description": "Per-level line-height overrides, e.g. {\"h1\": 1.1, \"body-m\": 1.6}. Levels: display, h1–h6, body-l, body-m, body-s, caption."
    },
    "letterSpacingOverrides": {
      "$ref": "#/properties/lineHeightOverrides",
      "description": "Per-level letter-spacing overrides in em, e.g. {\"display\": -0.05}."
    },
    "traditionalAssignments": {
      "type": "object",
      "additionalProperties": {
        "type": "number"
      },
      "description": "For traditional mode: desktop px size per level, e.g. {\"display\": 48, \"h1\": 36, ...}."
    },
    "traditionalMobileAssignments": {
      "type": "object",
      "additionalProperties": {
        "type": "number"
      },
      "description": "For traditional mode: mobile px size per level."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢generate_shape_tokens(url, style, borderRadius, shadowEnabled, shadowType, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Existing standby.design URL (or raw hash) to modify. Only this tool's section is changed; color/type/shape/icon/spacing/motion settings from other tools are preserved. Omit to start fresh from defaults."
    },
    "style": {
      "type": "string",
      "enum": [
        "paper",
        "glass",
        "neomorph",
        "neobrutalism"
      ],
      "description": "Top-level visual style (default \"paper\")."
    },
    "borderRadius": {
      "type": "integer",
      "minimum": 0,
      "maximum": 64,
      "description": "Base radius in px; scales to a xs–xl radius set (default 8)."
    },
    "shadowEnabled": {
      "type": "boolean"
    },
    "shadowType": {
      "type": "string",
      "enum": [
        "normal",
        "flat"
      ],
      "description": "Shadow rendering for paper style."
    },
    "shadowStrength": {
      "type": "number",
      "minimum": 0,
      "maximum": 3,
      "description": "Shadow alpha multiplier (default 1.0)."
    },
    "shadowBlurScale": {
      "type": "number",
      "minimum": 0,
      "maximum": 3,
      "description": "Shadow blur multiplier (default 1.0)."
    },
    "shadowScale": {
      "type": "number",
      "minimum": 1,
      "maximum": 2,
      "description": "Elevation level spread ratio (default 1.272)."
    },
    "shadowColorHex": {
      "type": "string",
      "description": "Custom shadow color as hex, or \"auto\" (default)."
    },
    "shadowOffsetX": {
      "type": "integer",
      "minimum": -16,
      "maximum": 16,
      "description": "Brutalist shadow X offset in px (default 2)."
    },
    "shadowOffsetY": {
      "type": "integer",
      "minimum": -16,
      "maximum": 16,
      "description": "Brutalist shadow Y offset in px (default 4)."
    },
    "brutalistVariant": {
      "type": "string",
      "enum": [
        "outlined",
        "solid"
      ]
    },
    "borderEnabled": {
      "type": "boolean"
    },
    "borderWidth": {
      "type": "number",
      "minimum": 0,
      "maximum": 10,
      "description": "Border width in px (default 1)."
    },
    "borderColorHex": {
      "type": "string",
      "description": "Custom border color as hex, or \"auto\" (default)."
    },
    "glassDepth": {
      "type": "number",
      "minimum": -2,
      "maximum": 5,
      "description": "Glass displacement intensity (default 0.2)."
    },
    "glassBlur": {
      "type": "number",
      "minimum": 0,
      "maximum": 20,
      "description": "Glass backdrop blur (default 1.0)."
    },
    "glassDispersion": {
      "type": "number",
      "minimum": 0,
      "maximum": 2,
      "description": "Chromatic aberration intensity (default 0.4)."
    },
    "ringWidth": {
      "type": "integer",
      "minimum": 0,
      "maximum": 8,
      "description": "Focus ring width in px (default 2)."
    },
    "ringOffset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 8,
      "description": "Focus ring offset in px (default 2)."
    },
    "ringStyle": {
      "type": "string",
      "enum": [
        "soft",
        "solid"
      ],
      "description": "Focus ring shape: \"soft\" (default) is a translucent halo at the edge plus a full-color border, \"solid\" is a hard outline set off by ringOffset."
    },
    "ringColorHex": {
      "type": "string",
      "description": "Custom focus ring color as hex, or \"auto\" (default)."
    },
    "separationMode": {
      "type": "string",
      "enum": [
        "shadow",
        "border",
        "contrast",
        "gap",
        "mixed"
      ],
      "description": "How surfaces separate from the background."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢generate_icon_tokens(url, set, style, weight, corners, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Existing standby.design URL (or raw hash) to modify. Only this tool's section is changed; color/type/shape/icon/spacing/motion settings from other tools are preserved. Omit to start fresh from defaults."
    },
    "set": {
      "type": "string",
      "description": "Icon set variant id to select explicitly, e.g. \"material-outlined\". One of: material-outlined, material-filled, lucide, phosphor-regular, phosphor-bold, phosphor-thin, phosphor-fill, solar-linear, solar-bold, solar-broken, tabler-outline, tabler-filled, radix. Pass \"auto\" to clear the selection and use the recommendation instead."
    },
    "style": {
      "type": "string",
      "enum": [
        "outlined",
        "filled",
        "duotone",
        "auto"
      ],
      "description": "Preferred icon style for the recommendation."
    },
    "weight": {
      "type": "string",
      "enum": [
        "thin",
        "regular",
        "bold",
        "auto"
      ],
      "description": "Preferred stroke weight."
    },
    "corners": {
      "type": "string",
      "enum": [
        "sharp",
        "rounded",
        "auto"
      ],
      "description": "Preferred corner style (sharp = corporate/precise, rounded = friendly)."
    },
    "baseSize": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 3,
      "description": "Base icon size (md) in rem (default 1.25)."
    },
    "scale": {
      "type": "number",
      "minimum": 1,
      "maximum": 2,
      "description": "Size scale ratio (default 1.272)."
    },
    "snapTo4px": {
      "type": "boolean",
      "description": "Round sizes to the 4px grid (default true)."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢generate_space_tokens(url, mode, baseRem, ratio, multiplier, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Existing standby.design URL (or raw hash) to modify. Only this tool's section is changed; color/type/shape/icon/spacing/motion settings from other tools are preserved. Omit to start fresh from defaults."
    },
    "mode": {
      "type": "string",
      "enum": [
        "harmonic",
        "geometric"
      ],
      "description": "\"harmonic\": multiples of the base (default). \"geometric\": compound ratio steps."
    },
    "baseRem": {
      "type": "number",
      "minimum": 0.25,
      "maximum": 4,
      "description": "Base spacing in rem (default 1.0)."
    },
    "ratio": {
      "type": "number",
      "minimum": 1,
      "maximum": 2,
      "description": "Ratio for geometric mode (default 1.272)."
    },
    "multiplier": {
      "type": "number",
      "minimum": 0.25,
      "maximum": 4,
      "description": "Uniform scale factor on all tokens (default 1.0)."
    },
    "snap": {
      "type": "boolean",
      "description": "Snap token values to a sensible grid (default true)."
    },
    "breakpoints": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "minPx": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "name",
          "minPx"
        ],
        "additionalProperties": false
      },
      "description": "Replace the breakpoint list, e.g. [{\"name\":\"sm\",\"minPx\":640},...]. Defaults: sm 640, md 768, lg 1024, xl 1280, 2xl 1536."
    },
    "fluidMinVw": {
      "type": "integer",
      "minimum": 200,
      "maximum": 1000,
      "description": "Lower fluid viewport anchor in px (default 375)."
    },
    "fluidMaxVw": {
      "type": "integer",
      "minimum": 1000,
      "maximum": 3840,
      "description": "Upper fluid viewport anchor in px (default 1920)."
    },
    "containers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "maxPx": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "name",
          "maxPx"
        ],
        "additionalProperties": false
      },
      "description": "Replace the container list. Defaults: prose 680, narrow 960, default 1200, wide 1440, full 1920."
    },
    "proseMaxCh": {
      "type": "integer",
      "minimum": 20,
      "maximum": 120,
      "description": "Prose measure in ch (default 65)."
    },
    "aspectRatios": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "w": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "h": {
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "required": [
          "name",
          "w",
          "h"
        ],
        "additionalProperties": false
      },
      "description": "Replace the aspect ratio list, e.g. [{\"name\":\"video\",\"w\":16,\"h\":9}]."
    },
    "includeReciprocals": {
      "type": "boolean",
      "description": "Also export flipped (portrait) variants of each ratio (default true)."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢generate_motion_tokens(url, preset, energy, material)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Existing standby.design URL (or raw hash) to modify. Only this tool's section is changed; color/type/shape/icon/spacing/motion settings from other tools are preserved. Omit to start fresh from defaults."
    },
    "preset": {
      "type": "string",
      "enum": [
        "calm-firm",
        "calm-elastic",
        "balanced",
        "lively-firm",
        "lively-elastic"
      ],
      "description": "Starting character. \"calm-firm\" (energy 15, material 15; premium, finance, luxury), \"calm-elastic\" (energy 15, material 85; wellness, lifestyle), \"balanced\" (energy 50, material 50; most products), \"lively-firm\" (energy 85, material 15; productivity, sports, dev tools), \"lively-elastic\" (energy 85, material 85; playful consumer apps, games). energy/material override the preset."
    },
    "energy": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "0 = calm (slow, deliberate) … 100 = lively (quick, snappy). Default 50."
    },
    "material": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "0 = firm (no overshoot) … 100 = elastic (visible bounce on spatial motion). Default 50."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_design_system(url)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "A standby.design URL or raw unified hash (e.g. from a previous generate_* call or copied from the browser)."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢export_design_system(url, format, sections)

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 & motion), "llm-briefing" (Markdown brief for AI code generation), or "font-embed" (Fontshare <link> snippet). Optionally restrict to specific sections. Always give the returned standby.design/system URL to the user alongside the code — the link is the deliverable.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "A standby.design URL or raw unified hash."
    },
    "format": {
      "type": "string",
      "enum": [
        "css",
        "tailwind",
        "design-tokens",
        "llm-briefing",
        "font-embed"
      ],
      "description": "Output format."
    },
    "sections": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "color",
          "type",
          "space",
          "shape",
          "symbol",
          "motion"
        ]
      },
      "description": "Which sections to include. Honoured by \"css\", \"tailwind\", \"llm-briefing\" and \"design-tokens\" (which only knows type, space and motion). By default color, type, space, shape and motion are always included — with their defaults when the URL does not configure them — and symbol only when the URL configures it. Ignored by \"font-embed\"."
    }
  },
  "required": [
    "url",
    "format"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_fonts

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.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_design_rules(category, platform, scope, rules, detail)

Universal design rules for building UI with design tokens: layout, flow (empty, loading and error states, dialogs), shape, surfaces, interaction 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 (31 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, Zustand, Typografie, Farbe, Stack.

입력 스키마

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Only rules from this category: Layout, Fluss, Form, Fläche, Bedienung, Zustand, Typografie, Farbe, Stack."
    },
    "platform": {
      "type": "string",
      "enum": [
        "web",
        "react-native"
      ],
      "description": "Only rules that apply to this platform."
    },
    "scope": {
      "type": "string",
      "enum": [
        "universal",
        "stack"
      ],
      "description": "\"universal\" applies to every project, \"stack\" to one technology (e.g. Tailwind, React Native)."
    },
    "rules": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Rule slugs (from the summary) to return in full."
    },
    "detail": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "\"summary\" (default): one line per rule. \"full\": complete rule text. Defaults to \"full\" when rules are given."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 10개
검증됨버전이 기록되지 않음도구 8개
검증됨버전이 기록되지 않음도구 8개