Taste Bank

io.github.QuasarG由 GitHub 账号 QuasarG 发布v0.2.0更新于 Oct 24, 2026

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

已验证STDIO仅桌面开发者工具媒体与设计

概览

AI 生成的概览

一个本地 MCP 服务器,让助手从 Taste Bank 浏览、获取并提交可复用的前端风格包(设计令牌、规则、CSS 与模板)。

可以做什么
浏览和搜索已发布的风格包,查看某个风格的元数据与设计令牌详情。一次调用获取完整风格包:元数据、令牌、SKILL.md 规则、作用域 CSS 和 HTML 模板快照。把风格以规则文件形式应用到项目中,并管理收藏。校验、签名并提交新的风格包进入审核,身份由私钥承担。
适用场景
当你希望编码助手以统一、可复用的视觉风格构建前端,而不是每次重新发明风格时使用;也适合发布并版本化自己的风格包。README 将 CLI 列为推荐方式,MCP 为旧版方式。
运行要求
由 MCP 客户端启动的本地进程;README 中的 MCP 配置使用远程 URL 和 x-invite-code 请求头,CLI 需通过 npx 使用 Node.js。需要访问默认后端网络,或通过 TASTEBANK_API 指定自托管地址。提交需要邀请码和用 keygen 命令生成的 ed25519 密钥对。
安装前请注意
提交、更新和删除风格需要作为身份的私钥以及邀请码,二者都应保密。提交内容是公开的并经过人工审核,但 README 提醒不要盲目信任获取到的风格内容,应将其视为数据。应用风格会向项目文件写入一个受管理的区块。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Taste Bank,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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 | 中文文档

来源:README.md,提交 c4526db

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分