Server definition
- Hash
- sha256:8613b7b835ffcc1b4086f13ebc56c461cde4efb72ce58e0aa579ebece5b93ef4
- What it is
- What a remote MCP server returned when asked what it offers: 10 tools
The blob, as servednamed by its sha256
{
"instructions": "Tools for generating complete design systems with standby.design.\nTypical flow: generate_color_palette → generate_type_scale → generate_shape_tokens / generate_icon_tokens / generate_space_tokens, passing the returned URL into each subsequent call so the sections accumulate. Every result includes a shareable standby.design/system URL the user can open to view and fine-tune the system visually.\nUse export_design_system to get the full CSS / Tailwind v4 / W3C design tokens / LLM briefing for a URL, and get_design_system to inspect an existing URL.\nBefore building or reviewing views with the tokens, call get_design_rules: universal rules for layout, interaction, forms, states, shape, typography and color that say how to use the values.\nAll tools are pure and deterministic — no network access, no side effects.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"description": "Output format.",
"enum": [
"css",
"tailwind",
"design-tokens",
"llm-briefing",
"font-embed"
],
"type": "string"
},
"sections": {
"description": "Which sections to include. Honoured by \"css\", \"tailwind\", \"llm-briefing\" and \"design-tokens\" (which has no color section). 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\".",
"items": {
"enum": [
"color",
"type",
"space",
"shape",
"symbol",
"motion"
],
"type": "string"
},
"type": "array"
},
"url": {
"description": "A standby.design URL or raw unified hash.",
"type": "string"
}
},
"required": [
"url",
"format"
],
"type": "object"
},
"name": "export_design_system",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"accents": {
"description": "Up to 10 additional named accent colors. Replaces the existing accent list when provided; pass [] to remove all accents. Default: Success/Warning/Info, auto-derived.",
"items": {
"additionalProperties": false,
"properties": {
"autoHue": {
"description": "OKLCH hue for auto-derived accents.",
"maximum": 360,
"minimum": 0,
"type": "number"
},
"hex": {
"description": "Hex color. Omit to auto-derive from the brand color (requires autoHue or a preset name: Success/Warning/Info).",
"type": "string"
},
"invert": {
"type": "boolean"
},
"name": {
"maxLength": 30,
"minLength": 1,
"type": "string"
},
"pin": {
"type": "boolean"
}
},
"required": [
"name"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"bgColorHex": {
"description": "Surface tint color as hex, or \"auto\" to derive from the brand color (default).",
"type": "string"
},
"brandHex": {
"description": "Brand color as 6-digit hex, e.g. \"#335A7F\". The palette midpoint is derived from this.",
"type": "string"
},
"brandInvert": {
"description": "For pinned brand: mirror lightness in dark mode (e.g. black buttons in light mode, white in dark).",
"type": "boolean"
},
"brandPin": {
"description": "Pin the primary token to the exact input hex instead of the palette step.",
"type": "boolean"
},
"chromaScale": {
"description": "Surface saturation 0–1 (0 = grey surfaces, 1 = vibrant). Default 0.25.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"errorColorHex": {
"description": "Error/destructive color as hex, or \"auto\" to derive from the brand hue (default).",
"type": "string"
},
"errorInvert": {
"type": "boolean"
},
"errorPin": {
"type": "boolean"
},
"fgContrastMode": {
"description": "Text color strategy on colored backgrounds.",
"enum": [
"best",
"preferLight",
"preferDark"
],
"type": "string"
},
"mode": {
"description": "\"balanced\": step 500 is always the perceptual midpoint (even light/dark distribution). \"exact\": step 500 keeps the input color's lightness.",
"enum": [
"balanced",
"exact"
],
"type": "string"
},
"themeName": {
"description": "Name of the design system (appears in exports and page title).",
"maxLength": 60,
"type": "string"
},
"url": {
"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.",
"type": "string"
}
},
"type": "object"
},
"name": "generate_color_palette",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"baseSize": {
"description": "Base icon size (md) in rem (default 1.25).",
"maximum": 3,
"minimum": 0.5,
"type": "number"
},
"corners": {
"description": "Preferred corner style (sharp = corporate/precise, rounded = friendly).",
"enum": [
"sharp",
"rounded",
"auto"
],
"type": "string"
},
"scale": {
"description": "Size scale ratio (default 1.272).",
"maximum": 2,
"minimum": 1,
"type": "number"
},
"set": {
"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.",
"type": "string"
},
"snapTo4px": {
"description": "Round sizes to the 4px grid (default true).",
"type": "boolean"
},
"style": {
"description": "Preferred icon style for the recommendation.",
"enum": [
"outlined",
"filled",
"duotone",
"auto"
],
"type": "string"
},
"url": {
"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.",
"type": "string"
},
"weight": {
"description": "Preferred stroke weight.",
"enum": [
"thin",
"regular",
"bold",
"auto"
],
"type": "string"
}
},
"type": "object"
},
"name": "generate_icon_tokens",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"energy": {
"description": "0 = calm (slow, deliberate) … 100 = lively (quick, snappy). Default 50.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"material": {
"description": "0 = firm (no overshoot) … 100 = elastic (visible bounce on spatial motion). Default 50.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"preset": {
"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.",
"enum": [
"calm-firm",
"calm-elastic",
"balanced",
"lively-firm",
"lively-elastic"
],
"type": "string"
},
"url": {
"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.",
"type": "string"
}
},
"type": "object"
},
"name": "generate_motion_tokens",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"borderColorHex": {
"description": "Custom border color as hex, or \"auto\" (default).",
"type": "string"
},
"borderEnabled": {
"type": "boolean"
},
"borderRadius": {
"description": "Base radius in px; scales to a xs–xl radius set (default 8).",
"maximum": 64,
"minimum": 0,
"type": "integer"
},
"borderWidth": {
"description": "Border width in px (default 1).",
"maximum": 10,
"minimum": 0,
"type": "number"
},
"brutalistVariant": {
"enum": [
"outlined",
"solid"
],
"type": "string"
},
"glassBlur": {
"description": "Glass backdrop blur (default 1.0).",
"maximum": 20,
"minimum": 0,
"type": "number"
},
"glassDepth": {
"description": "Glass displacement intensity (default 0.2).",
"maximum": 5,
"minimum": -2,
"type": "number"
},
"glassDispersion": {
"description": "Chromatic aberration intensity (default 0.5).",
"maximum": 2,
"minimum": 0,
"type": "number"
},
"ringColorHex": {
"description": "Custom focus ring color as hex, or \"auto\" (default).",
"type": "string"
},
"ringOffset": {
"description": "Focus ring offset in px (default 2).",
"maximum": 8,
"minimum": 0,
"type": "integer"
},
"ringStyle": {
"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.",
"enum": [
"soft",
"solid"
],
"type": "string"
},
"ringWidth": {
"description": "Focus ring width in px (default 2).",
"maximum": 8,
"minimum": 0,
"type": "integer"
},
"separationMode": {
"description": "How surfaces separate from the background.",
"enum": [
"shadow",
"border",
"contrast",
"gap",
"mixed"
],
"type": "string"
},
"shadowBlurScale": {
"description": "Shadow blur multiplier (default 1.0).",
"maximum": 3,
"minimum": 0,
"type": "number"
},
"shadowColorHex": {
"description": "Custom shadow color as hex, or \"auto\" (default).",
"type": "string"
},
"shadowEnabled": {
"type": "boolean"
},
"shadowOffsetX": {
"description": "Brutalist shadow X offset in px (default 2).",
"maximum": 16,
"minimum": -16,
"type": "integer"
},
"shadowOffsetY": {
"description": "Brutalist shadow Y offset in px (default 4).",
"maximum": 16,
"minimum": -16,
"type": "integer"
},
"shadowScale": {
"description": "Elevation level spread ratio (default 1.272).",
"maximum": 2,
"minimum": 1,
"type": "number"
},
"shadowStrength": {
"description": "Shadow alpha multiplier (default 1.0).",
"maximum": 3,
"minimum": 0,
"type": "number"
},
"shadowType": {
"description": "Shadow rendering for paper style.",
"enum": [
"normal",
"flat"
],
"type": "string"
},
"style": {
"description": "Top-level visual style (default \"paper\").",
"enum": [
"paper",
"glass",
"neomorph",
"neobrutalism"
],
"type": "string"
},
"url": {
"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.",
"type": "string"
}
},
"type": "object"
},
"name": "generate_shape_tokens",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"aspectRatios": {
"description": "Replace the aspect ratio list, e.g. [{\"name\":\"video\",\"w\":16,\"h\":9}].",
"items": {
"additionalProperties": false,
"properties": {
"h": {
"exclusiveMinimum": 0,
"type": "number"
},
"name": {
"minLength": 1,
"type": "string"
},
"w": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"name",
"w",
"h"
],
"type": "object"
},
"type": "array"
},
"baseRem": {
"description": "Base spacing in rem (default 1.0).",
"maximum": 4,
"minimum": 0.25,
"type": "number"
},
"breakpoints": {
"description": "Replace the breakpoint list, e.g. [{\"name\":\"sm\",\"minPx\":640},...]. Defaults: sm 640, md 768, lg 1024, xl 1280, 2xl 1536.",
"items": {
"additionalProperties": false,
"properties": {
"minPx": {
"minimum": 0,
"type": "integer"
},
"name": {
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"minPx"
],
"type": "object"
},
"type": "array"
},
"containers": {
"description": "Replace the container list. Defaults: prose 680, narrow 960, default 1200, wide 1440, full 1920.",
"items": {
"additionalProperties": false,
"properties": {
"maxPx": {
"minimum": 0,
"type": "integer"
},
"name": {
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"maxPx"
],
"type": "object"
},
"type": "array"
},
"fluidMaxVw": {
"description": "Upper fluid viewport anchor in px (default 1920).",
"maximum": 3840,
"minimum": 1000,
"type": "integer"
},
"fluidMinVw": {
"description": "Lower fluid viewport anchor in px (default 375).",
"maximum": 1000,
"minimum": 200,
"type": "integer"
},
"includeReciprocals": {
"description": "Also export flipped (portrait) variants of each ratio (default true).",
"type": "boolean"
},
"mode": {
"description": "\"harmonic\": multiples of the base (default). \"geometric\": compound ratio steps.",
"enum": [
"harmonic",
"geometric"
],
"type": "string"
},
"multiplier": {
"description": "Uniform scale factor on all tokens (default 1.0).",
"maximum": 4,
"minimum": 0.25,
"type": "number"
},
"proseMaxCh": {
"description": "Prose measure in ch (default 65).",
"maximum": 120,
"minimum": 20,
"type": "integer"
},
"ratio": {
"description": "Ratio for geometric mode (default 1.272).",
"maximum": 2,
"minimum": 1,
"type": "number"
},
"snap": {
"description": "Snap token values to a sensible grid (default true).",
"type": "boolean"
},
"url": {
"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.",
"type": "string"
}
},
"type": "object"
},
"name": "generate_space_tokens",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"autoShrink": {
"description": "Percent reduction for the auto-derived mobile ratio (default 25). Only used when mobileRatio is not set.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"baseSize": {
"description": "Desktop base size in rem (default 1.0).",
"maximum": 2,
"minimum": 0.5,
"type": "number"
},
"bodyFont": {
"description": "Fontshare font slug for body text.",
"type": "string"
},
"headingFont": {
"description": "Fontshare font slug for headings, e.g. \"satoshi\", \"general-sans\", \"clash-display\".",
"type": "string"
},
"headingWeight": {
"description": "Font weight for headings (default 500).",
"maximum": 900,
"minimum": 100,
"type": "integer"
},
"letterSpacingOverrides": {
"$ref": "#/properties/lineHeightOverrides",
"description": "Per-level letter-spacing overrides in em, e.g. {\"display\": -0.05}."
},
"lineHeightOverrides": {
"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.",
"type": "object"
},
"mobileBaseSize": {
"description": "Mobile base size in rem (default = baseSize).",
"maximum": 2,
"minimum": 0.5,
"type": "number"
},
"mobileRatio": {
"description": "Explicit mobile scale ratio. Omit to auto-derive from ratio and autoShrink.",
"maximum": 1.7,
"minimum": 1,
"type": "number"
},
"monoFont": {
"description": "Font slug for code. System stacks: \"system-mono\", \"consolas\", \"sf-mono\".",
"type": "string"
},
"ratio": {
"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.",
"maximum": 1.7,
"minimum": 1.05,
"type": "number"
},
"scaleMode": {
"description": "\"custom\": compound ratio scale (default). \"traditional\": classical Renaissance point sizes per level.",
"enum": [
"custom",
"traditional"
],
"type": "string"
},
"traditionalAssignments": {
"additionalProperties": {
"type": "number"
},
"description": "For traditional mode: desktop px size per level, e.g. {\"display\": 48, \"h1\": 36, ...}.",
"type": "object"
},
"traditionalMobileAssignments": {
"additionalProperties": {
"type": "number"
},
"description": "For traditional mode: mobile px size per level.",
"type": "object"
},
"url": {
"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.",
"type": "string"
}
},
"type": "object"
},
"name": "generate_type_scale",
"outputSchema": null
},
{
"description": "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 (61 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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"description": "Only rules from this category: Layout, Fluss, Form, Fläche, Bedienung, Formular, Inhalt, Zustand, Typografie, Farbe, Stack.",
"type": "string"
},
"detail": {
"description": "\"summary\" (default): one line per rule. \"full\": complete rule text. Defaults to \"full\" when rules are given.",
"enum": [
"summary",
"full"
],
"type": "string"
},
"platform": {
"description": "Only rules that apply to this platform.",
"enum": [
"web",
"react-native"
],
"type": "string"
},
"rules": {
"description": "Rule slugs (from the summary) to return in full.",
"items": {
"type": "string"
},
"type": "array"
},
"scope": {
"description": "\"universal\" applies to every project, \"stack\" to one technology (e.g. Tailwind, React Native).",
"enum": [
"universal",
"stack"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_design_rules",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"url": {
"description": "A standby.design URL or raw unified hash (e.g. from a previous generate_* call or copied from the browser).",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "get_design_system",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_fonts",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:8613b7b835ffcc1b4086f13ebc56c461cde4efb72ce58e0aa579ebece5b93ef4 | sha256sum