protogrid

Search / com.csscreme/design-systems

CSS Crème

R0· no sign-in

Give your agent a real design system: tokens, measured WCAG contrast, and rules to follow.

v1.8.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality92strong
Trust96of 100
Uptime, 30 days100%
Latency p50193 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "design-systems": {
      "type": "http",
      "url": "https://csscreme.com/mcp"
    }
  }
}
claude mcp add --transport http design-systems https://csscreme.com/mcp
[mcp_servers.design-systems]
url = "https://csscreme.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "design-systems": {
      "type": "remote",
      "url": "https://csscreme.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "design-systems": {
      "type": "http",
      "url": "https://csscreme.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=design-systems&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY3NzY3JlbWUuY29tL21jcCJ9"
}
{
  "servers": {
    "design-systems": {
      "type": "http",
      "url": "https://csscreme.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "design-systems": {
      "httpUrl": "https://csscreme.com/mcp"
    }
  }
}
extensions:
  "design-systems":
    enabled: true
    name: "design-systems"
    type: streamable_http
    uri: "https://csscreme.com/mcp"
    timeout: 300

Quality 92 / 100strong

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list carries no ttlMs, so clients re-fetch it
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length2 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations12 of 12 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,035 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes3 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

12 tools, about 3,035 tokens to load them all · tool set 3437747c2a11 · tools last changed 2026-09-25 · checked 2026-10-20 13:49 UTC

Tool changes

  • decode_sitechangedinput schema
  • get_design_md_for_urlchangedinput schema
  • decode_urlchangeddescription, input schema
    before

    Fetch a public site's HTML and stylesheets and return what its CSS declares: named custom properties that look like design tokens, the colours it uses most, its font stacks, border radii, spacing values, and the framework it appears to be built with. Also returns a "drop" report: roughly how many words a web-to-markdown reader would carry away from this page, against the design decisions it would discard, because markdown is defined by throwing the design layer away. It reads CSS and does not render the page, so it reports a confidence ("tokens" when named properties were found, "derived" when only compiled CSS was available) and flags a JavaScript shell rather than pretending every site is equally legible. Use when the user wants to match a site that is not in the catalogue, or has fetched a page as markdown and needs what that markdown lost.

    after · 69% of words in common

    Fetch a public site's HTML and stylesheets and return what its CSS declares: named custom properties that look like design tokens, the colours it uses most, its font stacks, border radii, spacing values, and the framework it appears to be built with. Also returns a "drop" report: roughly how many words a web-to-markdown reader would carry away from this page, against the design decisions it would discard, because markdown is defined by throwing the design layer away. It reads CSS and does not render the page, so it reports a confidence ("tokens" when named properties were found, "derived" when only compiled CSS was available) and flags a JavaScript shell rather than pretending every site is equally legible. It obeys the site's robots.txt for CSSCremeBot: a disallowed path is refused with ROBOTS_DENIED, which a retry will not change. A bot challenge, a parked or for-sale domain, or a host's default page is refused with NOT_THE_SITE and the evidence, rather than measured as if it were the site. Every error starts with its code and a retry verdict (never, later, with-changes). A read is reused for up to maxAge seconds (default 600, 0 for fresh), and every result carries `work`: the requests it made of the site. Use when the user wants to match a site that is not in the catalogue, or has fetched a page as markdown and needs what that markdown lost.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance85
liveness100
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% +updated-25d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://csscreme.com/mcp streamable-httpnoneyes100%193 ms2026-07-28, 2025-06-182026-10-20

Tools (12)

css_featureread-onlyAnswers two questions about a modern CSS feature with data instead of recall. First, its Baseline status (widely available, newly available, or limited availability), the date, and which core browsers lack it, read from the open web-features dataset at build time. Second, how many of CSS Crème's curated, decoded showcase sites ship it, which ones, how many of them guard it with @supports, and the exact @supports conditions they test. Also returns a fallback note where we have one, any name the feature has shipped under before (an agent that learned the old name will otherwise write it), and the documented limits that catch people out, each cited to the page it was read on. Call it before writing CSS that uses container queries, :has(), anchor positioning, @scope, view transitions, oklch(), color-mix(), light-dark(), subgrid, scroll-driven animations, @property, text-wrap and similar, so the CSS you write is accurate for today rather than for your training date. With no feature given it returns the Ship Gap: features that are safe and mostly ignored, and features that are early and shipped anyway.
decode_siteread-onlyRead a sample of pages from one site (from its sitemap.xml, or the homepage links when there is no sitemap) and report what is CONSISTENT across them: which declared tokens, colours, font stacks, radii and spacing values appear on every page read, and which appear on only some. One page shows what a page uses; a design system is a claim about consistency, and only a sample can test it. Returns counts and the pages actually read, never a score. Use when the user asks whether a site is really on a system, or wants the system rather than one page of it.
decode_urlread-onlyFetch a public site's HTML and stylesheets and return what its CSS declares: named custom properties that look like design tokens, the colours it uses most, its font stacks, border radii, spacing values, and the framework it appears to be built with. Also returns a "drop" report: roughly how many words a web-to-markdown reader would carry away from this page, against the design decisions it would discard, because markdown is defined by throwing the design layer away. It reads CSS and does not render the page, so it reports a confidence ("tokens" when named properties were found, "derived" when only compiled CSS was available) and flags a JavaScript shell rather than pretending every site is equally legible. It obeys the site's robots.txt for CSSCremeBot: a disallowed path is refused with ROBOTS_DENIED, which a retry will not change. A bot challenge, a parked or for-sale domain, or a host's default page is refused with NOT_THE_SITE and the evidence, rather than measured as if it were the site. Every error starts with its code and a retry verdict (never, later, with-changes). A read is reused for up to maxAge seconds (default 600, 0 for fresh), and every result carries `work`: the requests it made of the site. Use when the user wants to match a site that is not in the catalogue, or has fetched a page as markdown and needs what that markdown lost.
get_agent_rulesread-onlyReturn a short standing-instructions block that makes every future session read DESIGN.md before touching UI. Paste it whole into CLAUDE.md, AGENTS.md or .cursor/rules/design.mdc. It points at the DESIGN.md rather than restating it, and carries the token fingerprint so drift is detectable.
get_design_mdread-onlyFetch the full DESIGN.md for one theme: semantic colour roles, the complete shadcn token set in light and dark, typography, radius, spacing, MEASURED WCAG contrast ratios, and numbered rules the generated UI must follow. Read this before writing any UI. Save it at the repo root as DESIGN.md so it applies to every session.
get_design_md_for_urlread-onlyRead the stylesheets of a public site and return a full DESIGN.md: semantic roles with the token each came from, measured WCAG contrast pairs, the tokens the site itself declares (framework internals counted separately), font families, the type scale with the ratio between steps, colour frequency, gradients, corner radii, spacing, an elevation ladder of shadows, breakpoints, the z-index ladder, interaction-state rule counts, motion, and whether a dark theme is declared. This is the artefact to hand a coding agent before it writes UI that should match a site. It reads declared CSS and does not execute JavaScript, so it reports what the stylesheets say rather than what the page renders.
get_install_commandread-onlyReturn the exact `npx shadcn@latest add <url>` command that installs one theme into a shadcn/ui project, plus the registry URL it reads. Use when the user says "install it" and you already know the id.
get_theme_tokensread-onlyGet the shadcn/ui registry item (OKLCH tokens, light and dark) plus the paste-ready CSS variables for one theme, and the one-line command that installs it for real. Use after get_design_md when you are ready to write the tokens into globals.css.
how_to_useread-onlyExplains where a DESIGN.md belongs for a given coding agent (Claude Code, Cursor, v0, Codex, Lovable) so the design rules apply to every session rather than one message.
list_themesread-onlyBrowse the full catalogue of curated themes and templates. Use when the user wants to see options rather than search for one.
search_themesread-onlyFind a design system by describing what you are building ("dark developer tool", "calm fintech dashboard", "playful consumer app"). Returns matching themes with their DESIGN.md URL and shadcn install command. Call this first when the user has no design system defined.
verify_design_mdread-onlyEvery DESIGN.md carries a Fingerprint line. Pass the id and that fingerprint; the server answers whether the copy matches the current token set, and if not, returns the current tokens so the agent can update the file instead of following a stale one. Call this at the start of a session when a DESIGN.md is already in the repo.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.csscreme/design-systems",
  "icons": [
    {
      "src": "https://csscreme.com/favicon-192.png",
      "sizes": [
        "192x192"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "CSS Crème",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://csscreme.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.8.1",
  "repository": {
    "url": "https://github.com/damnepic/csscreme-skill",
    "source": "github"
  },
  "websiteUrl": "https://csscreme.com/ai/mcp",
  "description": "Give your agent a real design system: tokens, measured WCAG contrast, and rules to follow."
}