Taste Bank

io.github.QuasarGPublished by GitHub account QuasarGv0.2.0Updated Oct 24, 2026

Reusable visual design systems for AI coding agents — browse, fetch, and submit styles via MCP.

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

A local MCP server that lets an assistant browse, fetch and submit reusable front-end style packs (design tokens, rules, CSS and templates) from the Taste Bank.

What you can do
Browse and search published style packs, and view a style's metadata and design tokens in detail. Fetch a complete pack in one call: metadata, tokens, SKILL.md rules, scoped CSS and HTML template snapshots. Apply a style to a project as a rules file, and manage favorites. Validate, sign and submit a new style pack for review, with identity handled by a private key.
When to use it
Use it when you want a coding agent to build front-ends in a consistent, reusable visual style instead of inventing one each time, or when you want to publish and version your own style packs. The README presents the CLI as the recommended path and MCP as a legacy option.
Requirements
A local process started by the MCP client; the README's MCP setup uses a remote URL with an x-invite-code header, and the CLI needs Node.js via npx. Network access to the default backend, or a self-hosted host set through TASTEBANK_API. Submitting requires an invite code and an ed25519 key pair generated with the keygen command.
Before you install
Submitting, updating and deleting styles require a private key that acts as your identity, plus an invite code; keep both secret. Submissions are public content and go through manual review, but the README warns not to blindly trust fetched style content and to treat it as data. Applying a style writes a managed block into your project files.

Installation

In SourceWeft

  1. Open Taste Bank in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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:

bash
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?

bash
taste-bank list                    # browse all stylestaste-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:

json
{  "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

bash
# One-time identity setuptaste-bank keygenecho '{ "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 checktaste-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 / authsrc/pages/      Astro pages & HTTP API endpointsmcp/            MCP server (Streamable HTTP) — thin shell over src/libcli/            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 scriptsstyles/         published styles (pointed to by STYLE_LAB_DIR at runtime)data/           invite-code hashes, review queue, usage stats, screenshot cachedocs/SPEC.md    full style pack specification

License

MIT © QuasarG


English | 中文文档

Source: README.md at commit c4526db

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts