# BrandSweets > The brand memory and iteration layer for AI agents. Extract a brand from a domain or shape one on a canvas, then serve it as structured, agent-readable data — brand.md, tokens.json, brand.css, and a per-brand MCP endpoint every future session already knows. BrandSweets turns a brand into a structured, machine-readable system any AI agent can READ to stay on-brand, and (with human approval) WRITE to. Every brand serializes losslessly to the formats agents actually consume — brand.md, tokens.json, brand.css — plus a per-brand Model Context Protocol (MCP) endpoint. No bespoke SDK. ## What the structured brand data is Each brand is a validated BrandDoc covering identity (name, story, mission, voice, dos & don'ts, sample copy), design tokens (role-based color, typography, spacing, radius, gradients — W3C DTCG compatible), a logo/asset inventory, and usage rules. It serializes to: - [brand.md](https://brandsweets.com/b/{slug}/brand.md): narrative brief an agent grounds on before it writes (text/markdown) - [tokens.json](https://brandsweets.com/b/{slug}/tokens.json): role-based design tokens, W3C Design Tokens format (application/json) - [brand.css](https://brandsweets.com/b/{slug}/brand.css): CSS custom properties — one import and a prototype is on-brand (text/css) ## Connect an agent over MCP Two endpoints, both Streamable HTTP: - Public read (one brand, no auth): `https://mcp.brandsweets.com/{slug}/mcp` - Workspace loop (read + write, all brands): `https://mcp.brandsweets.com/w/{workspace}/mcp` — send a workspace API key as `Authorization: Bearer ` Claude Code, one line: claude mcp add --transport http brandsweets https://mcp.brandsweets.com/{slug}/mcp ## Install the skills plugin claude plugin marketplace add ethanplusai/brandsweets claude plugin install brandsweets-skills The bundle wires the workspace MCP server and the BrandSweets design skills (brand-design, logo-design, on-brand, imagery, design-taste). ## Fonts — an open, agent-queryable font library ~1,900 free, open-licensed (OFL/Apache/UFL) typefaces, self-hosted with WOFF2 + license files, with hand-vetted pairings and mood tags. - [Font library](https://brandsweets.com/fonts): browse, filter, preview, and self-host (HTML) - Per font: [/fonts/{slug}](https://brandsweets.com/fonts/{slug}) with a specimen, pairings, embed CSS, and a machine-readable [/fonts/{slug}/font.md](https://brandsweets.com/fonts/{slug}/font.md) - Collections: [/fonts/serif](https://brandsweets.com/fonts/serif), [/fonts/mood/editorial](https://brandsweets.com/fonts/mood/editorial), [/fonts/pairs-with/{slug}](https://brandsweets.com/fonts/pairs-with/inter) - Free alternatives to commercial fonts: [/fonts/alternatives](https://brandsweets.com/fonts/alternatives) hub; per font [/fonts/alternatives/{commercial-slug}](https://brandsweets.com/fonts/alternatives/helvetica) with a machine-readable [alternatives.md](https://brandsweets.com/fonts/alternatives/helvetica/alternatives.md); the published, deterministic scoring formula at [/fonts/alternatives/methodology](https://brandsweets.com/fonts/alternatives/methodology) Connect an agent to the public fonts MCP (read-only, no auth) to search the catalog and get pairings: claude mcp add --transport http brandsweets-fonts https://mcp.brandsweets.com/fonts/mcp Tools: `list_fonts` (filter by category/mood/superfamily/weight/language/license), `suggest_fonts` (ranked pairings with rationale), `find_alternatives` (free alternatives to a commercial font with per-axis scores), `list_commercial_fonts`. ## Colors — palette tools for agents and humans A deterministic color engine (no AI): analysis, WCAG contrast with fix suggestions, patterned palette generation with locks, ~1,700 named colors (incl. real brand colors), and ~60 curated palettes with rationale. - [Color tools](https://brandsweets.com/colors): hub — any color → analysis page (HTML) - [Palette generator](https://brandsweets.com/palettes/new): Coolors-style — space to generate, lock what you like; the URL IS the palette state - [Contrast checker](https://brandsweets.com/contrast) · [Curated palettes](https://brandsweets.com/palettes) · per-brand colors at /colors/brands/{slug} - Machine-readable: /colors/{name-or-hex}/color.md, /palettes/{mood}/palette.md Connect an agent to the public colors MCP (read-only, no auth): claude mcp add --transport http brandsweets-colors https://mcp.brandsweets.com/colors/mcp Tools: `analyze_color`, `check_contrast` (with fixes), `generate_palette` (N candidates with rationale + a shareable URL each), `suggest_palette` (curated-first by mood/industry), `list_palettes`. The agent ↔ human loop: `generate_palette` returns URLs like `/palettes/new/3b82f6-1e293b-f59e0b-fef3c7-0f172a?lock=0,2`. Hand one to a human; they lock/tweak in the tool and send the link back; the `?lock=` indices are their decisions — regenerate around them. ## Gradients — perceptual gradients with a contrast report A deterministic gradient engine (no AI): interpolation in OKLab/OKLCH (no grey midpoint), eased stops, anti-banding grain, mesh/conic/duotone/glass, and a REPORT on every gradient — worst-case WCAG contrast for white and black text along the line, banding risk, gamut warnings. Exports CSS (`in oklch`), Tailwind v4, SVG, PNG, DTCG. - [Gradients hub](https://brandsweets.com/gradients): by colour (/gradients/blue), by mood (/gradients/mood/sunset), colour-to-colour (/gradients/gold-to-cornflowerblue), techniques (/gradients/mesh, /grainy, /conic, /tailwind), brand gradients (/gradients/brands/{slug}) - [Gradient maker](https://brandsweets.com/gradients/new): sRGB | OKLab | OKLCH side by side, easing editor, live contrast strip with a one-click fix; the URL IS the gradient (`/gradients/new/v1.-?in=oklch&a=135`) - Machine-readable: /gradients/{family|slug|a-to-b}/gradients.md, /gradients/mood/{mood}/gradients.md, /gradients/brands/{slug}/gradients.md - Bundled corpus: uiGradients + WebGradients (MIT, notices at https://brandsweets.com/gradients/licenses), ~550 named gradients tagged by measured OKLCH hue family and mood Connect an agent to the public gradients MCP (read-only, no auth): claude mcp add --transport http brandsweets-gradients https://mcp.brandsweets.com/gradients/mcp Tools: `make_gradient` (2–5 colours → every export + the report in one call), `brand_gradients` (brand slug or palette → brand gradient, text-safe hero, button with states, variants). Resource: `gradients://corpus` (the whole corpus as JSON). Hand a `/gradients/new/…` URL to a human; the link they send back is the gradient they chose. ## Key URLs - [Home](https://brandsweets.com/): what BrandSweets is - [Font library](https://brandsweets.com/fonts): ~1,900 open-licensed fonts + pairings (HTML) - [Color tools](https://brandsweets.com/colors): palette generator, contrast checker, named + brand colors (HTML) - [Gradients](https://brandsweets.com/gradients): OKLCH gradient maker, corpus by colour/mood, pair pages, brand gradients (HTML) - [Brand directory](https://brandsweets.com/b): the public library of brands - [Agent setup guide](https://brandsweets.com/docs/agents): connect MCP + install the plugin (HTML) - [Agent guide (markdown)](https://brandsweets.com/agents.md): the same, as clean markdown for agents - [MCP discovery manifest](https://brandsweets.com/.well-known/mcp.json): machine-discoverable endpoints + capabilities - [Full dump](https://brandsweets.com/llms-full.txt): everything in one fetch, incl. the full agent guide and every brand's brand.md URL - [Pricing](https://brandsweets.com/pricing): free for one brand; Pro for unlimited + unthrottled MCP - [Sitemap](https://brandsweets.com/sitemap.xml) ## Brand corpus - [duolingo](https://brandsweets.com/b/duolingo): brand page — machine surfaces at /b/duolingo/brand.md, /b/duolingo/tokens.json, /b/duolingo/brand.css - [figma](https://brandsweets.com/b/figma): brand page — machine surfaces at /b/figma/brand.md, /b/figma/tokens.json, /b/figma/brand.css - [honda-com](https://brandsweets.com/b/honda-com): brand page — machine surfaces at /b/honda-com/brand.md, /b/honda-com/tokens.json, /b/honda-com/brand.css - [fly-io](https://brandsweets.com/b/fly-io): brand page — machine surfaces at /b/fly-io/brand.md, /b/fly-io/tokens.json, /b/fly-io/brand.css - [qualcomm-com](https://brandsweets.com/b/qualcomm-com): brand page — machine surfaces at /b/qualcomm-com/brand.md, /b/qualcomm-com/tokens.json, /b/qualcomm-com/brand.css - [render-com](https://brandsweets.com/b/render-com): brand page — machine surfaces at /b/render-com/brand.md, /b/render-com/tokens.json, /b/render-com/brand.css - [framer](https://brandsweets.com/b/framer): brand page — machine surfaces at /b/framer/brand.md, /b/framer/tokens.json, /b/framer/brand.css - [github](https://brandsweets.com/b/github): brand page — machine surfaces at /b/github/brand.md, /b/github/tokens.json, /b/github/brand.css Full index (406 public brands): https://brandsweets.com/b and https://brandsweets.com/llms-full.txt