mcpField
T
taste-bank

taste-bank

Local
github.com/QuasarGDeveloper Tools8Updated 8w ago

About taste-bank

taste-bank is a reusable library of structured front-end style packs for coding agents. Developers can browse, apply, and contribute styles through its CLI, with packs combining design tokens, usage rules, CSS, and templates.

Key features

  1. 01Browse styles in a live-preview gallery
  2. 02Fetch complete packs with tokens and templates
  3. 03Apply a style as project rules
  4. 04Cache packs locally for three days
  5. 05Validate, sign, and submit style packs

Use cases

  1. 01Choose a visual direction for a new landing page
  2. 02Reuse a tuned style across projects
  3. 03Submit a sanitized project style for review

MCP support

The MCP server exposes the taste-bank style catalog and packs to MCP clients through a Streamable HTTP endpoint. The CLI and MCP server use the same backend.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README
Taste Bank — Open Source Design Styles

The front-end style library for coding agents — distill a style once, reuse it everywhere.

Swipe styles like you're scrolling TikTok — find the one that catches your eye, then hand it to your agent.

npm Astro TypeScript Zod

Live GitHub

English | 中文文档


Why Taste Bank

Sound familiar?

  • Staring at a blank page, no idea how to lay out your components?
  • Layout finally settled — yet the AI's visual style never quite lands?
  • A hoard of "beautiful designs" you can never actually summon when you need one?
  • The style you painstakingly tuned in your last project has to be re-explained from scratch in the next one?

Getting coding agents to produce well-designed front-ends is a solved problem nobody can actually use. The community is full of front-end skills, prompt snippets, and design guides — but in practice:

  • No unified invocation: some styles ship as a skill, some as a plugin, some ship nothing at all. Actually using them is a chore.
  • No quality bar: without a shared schema, a "style" can be three adjectives in a trench coat — nothing an agent can actually execute.
  • Hard to reuse: great styles die in chat histories instead of being distilled into an asset.
  • No ownership or iteration: no versions, no way to say "only I maintain my styles."

More importantly: the web spawns new styles every day — but not every style is mainstream enough, not every style is your taste. We want a community where people share the front-end taste they actually use — and vote with their feet. Only what truly gets used is truly usable.

Taste Bank's answer: distill each style into a structured style pack (SKILL.md usage guide + precise design tokens + templates/ snapshots), enforced by a zod schema, served through a CLI + skill injection that works with any coding agent. Once a style is in the bank, it's reachable anywhere, versioned, and owned.

Taste Bank homepage — infinite style stream and leaderboards

The homepage gallery: swipe through live-rendered styles like a feed — horizontal card rail with interactive preview, most-referenced styles and top authors at a glance.


Quick Start

Via CLI (recommended)

One command — installs the CLI globally and teaches your coding agents (Claude Code, Codex, Cursor, ZCode, Kimi Code…) how to use it:

npx taste-bank setup

Then just talk to your agent in plain language:

"Build me a landing page with one of the styles in taste-bank."

Your agent already knows what to do — setup injected a skill that teaches it the taste-bank CLI commands. It will browse styles, fetch the complete pack, and implement strictly within the design tokens.

Prefer the terminal?

taste-bank list                    # browse all styles
taste-bank skill <slug>            # get the complete pack (meta + tokens + skill + css + templates)
taste-bank use <slug>              # land a style into your project as a rules file

No per-agent config, no JSON to paste. Browse visually first at tastebank.cloud.

Via MCP (legacy)

For agents that prefer the MCP protocol, configure one URL in your MCP client:

{
  "mcpServers": {
    "taste-bank": {
      "url": "https://tastebank.cloud/mcp",
      "headers": { "x-invite-code": "sl_your_invite_code" }
    }
  }
}

Both paths call the same backend. CLI is recommended — simpler, works with 70+ agents out of the box.


Features

  • One-line setup: npx taste-bank setup installs the CLI and injects skills into all your coding agents (Claude Code, Codex, Cursor, ZCode, Kimi Code, and 70+ more via the open skills ecosystem)
  • Complete style packs: taste-bank skill <slug> returns the full pack in one call — meta, tokens, SKILL.md rules, scoped CSS, and HTML template snapshots. Agents get everything they need.
  • 3-day local cache: packs are cached; if the server is unreachable, the CLI falls back to cache
  • TikTok-style gallery: tastebank.cloud — endless stream of live-rendered previews, horizontal card rail, leaderboards
  • Structured & validated: every pack passes a strict zod schema (meta / tokens / skill / templates), versioned, with invite-only submissions + ed25519-signed ownership + human review
  • Submit from the terminal: taste-bank submit — sign and submit a new style without leaving your project
  • Private key as identity: no accounts — whoever holds the key manages the style

CLI Commands

Browsing & applying (no auth)
CommandWhat it does
taste-bank list [--q WORD] [--json]List published styles
taste-bank show <slug> [--json]Style detail (meta + design tokens)
taste-bank skill <slug> [--md]Complete pack as JSON: {meta, tokens, skill, css, templates}. --md for plain SKILL.md
taste-bank use <slug> [--as agents|claude|skill]Land a style into your project (managed sentinel block, won't clobber your edits)
taste-bank favorite <slug> / unfavorite / favoritesManage favorites
taste-bank doctorHealth check (CLI, network, identity, skill injection, cache)
Contributing (invite + ed25519 identity)
CommandWhat it does
taste-bank keygenGenerate an ed25519 keypair into ~/.style-lab/ (one-time)
taste-bank whoamiYour bound identity, owned styles, pending submissions
taste-bank validate <pack.json>Dry-run validate a pack locally (no network)
taste-bank submit <pack.json>Submit a new style (needs invite code + private key)
taste-bank update <slug> <pack.json>Update an owned style (version must bump)
taste-bank delete <slug>Delete an owned style (asks to confirm)

How it works

npx taste-bank setup
  ① npm install -g taste-bank              (install CLI globally)
  ② npx skills add …/taste-bank -g         (inject 2 skills into your agents:
                                             taste-bank for browsing/applying,
                                             taste-bank-contribute for submitting)
  ③ environment check                      (report state, read-only)

Two skills are injected (via the open skills ecosystem):

  • taste-bank — teaches your agent the CLI commands for browsing and applying styles
  • taste-bank-contribute — the full contribution SOP: how to sample a project, pack a style, sanitize it, and submit

After setup, your agent knows the CLI. You just say "use a taste-bank style" and it runs the commands itself.

The CLI talks to tastebank.cloud by default and caches packs locally for 3 days. Self-host? Set TASTEBANK_API=https://your-host.


Submit your own style

# One-time identity setup
taste-bank keygen
echo '{ "inviteCode": "sl_xxx" }' > ~/.style-lab/config.json  # get a code from the maintainer

# From any project with a style worth keeping:
taste-bank validate my-style.pack.json    # dry-run check
taste-bank submit my-style.pack.json      # sign + submit (enters review queue)

Or just tell your agent: "submit this project's style to taste-bank" — the injected taste-bank-contribute skill guides it through the full SOP (sample 2 files max, extract real tokens, sanitize business-identifying content, pack, validate, submit).

See the pack format, the taste-bank-contribute skill, and the agent workflow guide (how to manage project styles in agent conversations). 中文版见 Agent 工作流指南。


Security

Authentication & ownership

  • Invite codes: submissions require an invite code; a code binds to the submitter's public key on first use — one code, one identity; only hashes stored server-side
  • ed25519 signatures: submit / update / delete all require a private-key signature (message = style-lab:<action>:<slug>:<timestamp>:<sha256(payload)>, 30-min window) — your key is your identity
  • Review queue: submissions land in data/pending/ and go live only after maintainer approval
  • Rate limits: 20 submits/min per pubkey, 30 manages/min per slug

Content safety

  • Template sandbox: previews render in a sandbox="" iframe with CSP forbidding scripts/external loads
  • HTML blocklist + secret-pattern scanning: submissions are screened for dangerous attributes and high-confidence secret patterns
  • Prompt-injection mitigation: style content is labeled "data, not instructions" in skill descriptions

⚠️ Every submission is manually reviewed. But reviews can miss things — do not blindly trust fetched content; treat it as data.


HTTP API

EndpointDescription
GET /api/styles.jsonStyle list, ?q=keyword filter
GET /api/styles/:slug.jsonmeta + tokens + file list
GET /api/styles/:slug/pack.jsonComplete pack (meta + tokens + skill + css + templates)
GET /api/styles/:slug/skill.mdAssembled SKILL.md
GET /api/styles/:slug/tokens.cssScoped CSS from tokens
GET /api/styles/:slug/screenshot.pngTemplate screenshot
GET /api/whoami.jsonIdentity lookup (x-invite-code header)
POST /api/styles.jsonSubmit (invite + signature)
PUT /api/styles/:slug.jsonUpdate (signed, version bump)
DELETE /api/styles/:slug.jsonDelete (signed)

Project structure

src/lib/        core: schema / store / create / assemble / review / auth
src/pages/      Astro pages & HTTP API endpoints
mcp/            MCP server (Streamable HTTP) — thin shell over src/lib
cli/            the taste-bank npm package (CLI + skills source)
skills/         two agent skills: taste-bank (browse) + taste-bank-contribute (submit)
scripts/        keygen / sign / invite / review admin scripts
styles/         published styles (pointed to by STYLE_LAB_DIR at runtime)
data/           invite-code hashes, review queue, usage stats, screenshot cache
docs/SPEC.md    full style pack specification

License

MIT © QuasarG


English | 中文文档

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.