Design Lounge

io.github.SusanAcharya由 GitHub 账号 SusanAcharya 发布v0.2.7更新于 Nov 7, 2026

A UI design library and skill for agents, with a page review for AI giveaways, SEO, AEO, and GEO.

已验证Streamable HTTP可网页运行浏览器自动化开发者工具媒体与设计

概览

AI 生成的概览

面向智能体的 UI 设计库与方法:选定主题、字体搭配和配方方向,再检查成品页面的 AI 痕迹、无障碍、SEO、AEO 与 GEO。

可以做什么
  • 启动设计简报并锁定配方方向,结合历史记录做去重检查
  • 检索并阅读 600 多个组件简报、主题、字体搭配、家族、图标与配色组合
  • 读取设计方法指南的任意章节
  • 审查页面或 HTML 的 AI 痕迹、套件漂移、无障碍、SEO、AEO 与 GEO,并建议 JSON-LD
  • 将参考网站或截图匹配到最接近的主题、搭配与组件
  • 安装随附技能与无头 Chromium 以进行渲染检查
适用场景
适合在智能体搭建或清理网站、应用、界面时使用:希望从固定设计库得到一致且不落俗套的设计决策,而不是自创配色与组件,并对成品页面做可重复的检查。
运行要求
可使用托管端点(Streamable HTTP,无需登录),或通过 npx 在本地运行(需 Node.js)。渲染检查需要无头 Chromium,可用 install_browser 或 Playwright 安装一次。可选变量 DESIGN_LOUNGE_HISTORY 与 DESIGN_LOUNGE_SKILL_INSTALL。需要网络访问以抓取被审查页面、其资源及 Google Fonts。
安装前请注意
本地服务器启动时会向 ~/.agents/skills 写入技能,并链接到 Claude Code、Cursor 和 Codex 的技能目录;设置 DESIGN_LOUNGE_SKILL_INSTALL=off 可跳过。record_pick 会向本地历史文件追加记录。审查会从本机抓取指定页面及其资源,托管端点只抓取公开地址。不需要账号或 API 密钥。

安装

在 SourceWeft 中

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

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.SusanAcharya%2Fdesign-lounge/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "design-lounge": {
      "type": "http",
      "url": "https://www.designlounge.live/api/mcp"
    }
  }
}

README

Design Lounge MCP

Design Lounge as an MCP server. Your agent can:

  • Design from the library: 600+ piece briefs, 80+ themes, 40+ type pairings, 40+ recipes with directions, Lounge Icons, and Sanzo Wada's colour combinations. It picks a direction the same way every time and keeps two sites from looking alike.
  • Remove AI giveaways: stock copy, em dashes, icon-card trios, gradients, the indigo palette, emoji icons, made-up numbers, and drift from the locked theme, pairing, and family.
  • Get found and quoted: SEO, AEO (answer engines), and GEO (ChatGPT, Claude, Perplexity, Gemini). It checks the head, the share card, robots.txt for search and AI crawlers, server-rendered text, and JSON-LD.
  • Look at the page: Chromium at 1280×800 and 390×844 with reduced motion. It runs axe, measures faces, labels, primaries, and tap targets, and saves the screenshots.

The server reads the same skills/design-lounge folder as the skill, so the rules live in one place. The skill is the method. The server does the parts that prose cannot: search, deterministic picks against the history, pictures of every piece, theme, and pairing, and checks that read and render the page.

The skill comes with it

Installing the server installs the skill. When the server starts, it puts the skill in ~/.agents/skills/design-lounge and links it into the skills folder of each client on the machine: Claude Code (~/.claude/skills), Cursor (~/.cursor/skills), and Codex (~/.codex/skills). That is the same layout the skills CLI uses. Clients that load skills then have the whole method before they design. Reload the client once after the first start.

  • It updates its own copy when the server updates.
  • It leaves alone a copy that something else installed, such as npx skills add or a hand edit, and says so. install_skill with replace: true swaps it for the server's copy.
  • install_skill with project_path also copies it into a project's .claude/skills, .cursor/skills, and .agents/skills, for clients that only read project skills.
  • In a client with no skill support, start_design returns the rules that must hold (their words win, the Rules list, and the Look fails), read from the same files, and read_guide serves the rest.
  • DESIGN_LOUNGE_SKILL_INSTALL=off turns the install off.

Add it to your agent

Claude Code

sh
claude mcp add design-lounge --scope user -- npx -y design-lounge-mcp@latest

Cursor (~/.cursor/mcp.json), Windsurf, Claude Desktop (claude_desktop_config.json), and other clients that take this shape:

json
{  "mcpServers": {    "design-lounge": { "command": "npx", "args": ["-y", "design-lounge-mcp@latest"] }  }}

VS Code (.vscode/mcp.json):

json
{ "servers": { "design-lounge": { "type": "stdio", "command": "npx", "args": ["-y", "design-lounge-mcp@latest"] } } }

Codex (~/.codex/config.toml):

toml
[mcp_servers.design-lounge]command = "npx"args = ["-y", "design-lounge-mcp@latest"]

@latest makes each start check for a new release, so library updates reach you without reinstalling. Reload the client once after the first start, so it picks up the skill the server installs.

The rendered checks (screenshots, axe, measured labels and buttons, theme boards and type specimens) need a headless Chromium. Ask your agent to run install_browser once (about 100 MB), or run npx playwright install chromium --only-shell. Without it, every other check still runs, and the report says it did not look.

Hosted, for Claude.ai, ChatGPT, and other clients that cannot run a local program: add https://www.designlounge.live/api/mcp as a custom connector (Streamable HTTP, no sign-in). It has the library, start_design, the picks, and the static review of public URLs or pasted HTML. It leaves out what needs your machine: file paths, the history file, the skill and browser installs, and the rendered checks. It fetches only public addresses and allows 60 requests a minute per address. Pass your own recent picks as history if you keep them.

To run it from a clone of the repo instead: cd mcp && pnpm install, then use node /path/to/designs/mcp/src/server.mjs as the command.

Tools

ToolWhat it does
start_designCall first. Reads their words (flow, mode, named style, calm words), ranks recipes, reads the project folder and the recent picks, and returns the brief and the steps
get_recipeA recipe's directions, each marked when the history blocks it
pick_directionCalm-word filter, the history, the group check, then the name number. You pass the directions that fit
check_pickThe uniqueness check for hero, work, footer, shape, and frame. Returns the Unlike line
record_pickAppends a claimed or finished line to ~/.design-lounge/history.jsonl and reports an earlier claim
search_pieces / get_pieceFind a piece and read its brief. get_piece attaches the demo's thumbnail, and demo: true adds its HTML source. search_pieces with images: true attaches the first six thumbnails
browse_libraryThemes and pairings by mood, plus families, recipes, categories, collections, kinds, motion, and scales
get_theme / get_pairing / get_familyThe locked tokens and rules, as CSS. A theme comes with a board of its roles, and a pairing with a type specimen
get_icons / search_wadaLounge Icons as SVG. Wada's combinations by word or by nearest hex
read_guideAny method file, or one section of it
review_pageEverything at once: design, accessibility, SEO, AEO, GEO. Fails come first, each with its evidence and fix. The web and phone frames come back as images
match_referenceThey show a site or a screenshot and want that feel. Measures its colour roles, type, corners, shadows, density, hero shape, sections, and motion, and names the closest theme, pairing, family, and pieces. It matches the feel; it never copies the site
install_skillInstall the skill in a project, or replace a user copy installed another way
install_browserDownload the headless Chromium the rendered checks use, once
audit_slopDesign only: AI giveaways and kit drift
audit_searchSEO, AEO, and GEO only
suggest_schemaJSON-LD built only from facts on the page, with the missing fields listed

Every review tool takes path (a file, or a folder with index.html), url (live or localhost), or html. For a path, it reads DESIGN.md beside the page or above it to learn the locked theme, pairing, family, Free mode, and Named aesthetic. A Named aesthetic lifts the bans it lists.

The server also offers three prompts, design, review, and deslop, and the method files as resources at lounge://guide/<file>.

What it writes, and what leaves your machine

  • The skill. On start, it writes the skill to ~/.agents/skills/design-lounge and links it into ~/.claude/skills, ~/.cursor/skills, and ~/.codex/skills for the clients you have. A copy it did not make is never replaced. DESIGN_LOUNGE_SKILL_INSTALL=off turns this off. To remove it, delete those folders.
  • Recent picks. record_pick appends a line to ~/.design-lounge/history.jsonl, so two sites you make do not come out alike. Nothing else reads it.
  • Cached images. Theme boards and type specimens are cached in ~/.cache/design-lounge/boards. Screenshots go to your temp folder, or to out_dir.
  • The hosted endpoint keeps nothing. Each request gets a fresh server, and the pages it reviews are fetched and dropped.
  • The network. A review fetches the page you name, its stylesheets, robots.txt, sitemap.xml, llms.txt, and the share image, from your machine. Google Fonts loads for type specimens. Thumbnails and demos are bundled; designlounge.live is asked only for one that is missing. Nothing is sent to Design Lounge, and there is no tracking.

Settings

VariableDefault
DESIGN_LOUNGE_SKILLThe bundled skill/, then ../skills/design-lounge
DESIGN_LOUNGE_HISTORY~/.design-lounge/history.jsonl
DESIGN_LOUNGE_SKILL_INSTALLon. Set off to skip installing the skill
DESIGN_LOUNGE_ASSETSThe bundled assets/, then the repo's public/thumbs and src/demos, then the live site
DESIGN_LOUNGE_CACHE~/.cache/design-lounge/boards, for rendered theme boards and specimens

Develop

sh
pnpm test                              # unit tests and a stdio round trippnpm release patch --dry-run           # sync the skill, test, and pack, without publishingnode test/client.mjs                   # list the toolsnode test/client.mjs review_page '{"path":"test/fixtures/slop.html"}'

pnpm release patch (or minor, major, x.y.z, with --otp <code> for npm 2FA) syncs the skill from the library, runs the tests, bumps package.json and server.json together, publishes to npm and the MCP Registry, then commits and tags. It never pushes.

pnpm pack first copies the skill folder into skill/, and the thumbnails and demos into assets/ (scripts/bundle.mjs), so the published package carries the library and the pictures. About 12 MB packed.

Designed using Design Lounge by Susan Acharya.

来源:mcp/README.md,提交 9569959

工具

18

start_design

Start a design

Call first for any new website, app, screen, or UI. Reads their request the way the method does (flow, mode, named style, calm words), ranks the recipes, reads the project folder and the recent picks, and returns the brief to fill and the steps, each naming the tool to use.

输入参数historyproductrequest必填

get_recipe

Get a recipe

A recipe (start) with its directions: each a complete look (theme, pairing, family, hero, effect, work, footer). Each direction says whether the recent history blocks it.

输入参数id必填historyproduct

pick_direction

Pick a direction

Apply rules 3 to 5 of Pick a direction and the Recent picks check: calm words narrow to quiet, editorial, or sharp families; the history blocks recent directions, heroes, and effects; the group check blocks two-of-three matches; the name number breaks the tie. You judge which directions fit the subject (rules 1, 2, 4) and pass them as `fitting`.

输入参数calmrecipe必填fittinghistoryproduct

check_pick

Check a pick against recent sites

The uniqueness check from Recent picks: direction, hero, and effect against this recipe; two of hero, work, footer against the related group; hero shape against the last two; frame against the last three. Returns problems and the Unlike line for the sheet.

输入参数heroworkframereuseshapeeffectfooterrecipe必填historyproductdirection

search_pieces

Search pieces

Search 600+ piece briefs by words (job, component, style, tag) and filters. Returns ids, summaries, and demo links. Then get_piece for the brief.

输入参数limitquerystyleimagescategoryplatform

get_piece

Get a piece brief

The spec for one piece, with a picture of its demo: structure, counts, sizes, motion timing, states, hit targets, acceptance checklist. By default stops at "Optional below this line"; full=true adds the demo's exact paint and motion notes. demo=true adds the demo's HTML source, the acceptance file. Its colours and fonts are the demo's: translate them onto the locked kit.

输入参数id必填demofullimage

browse_library

Browse the library

List themes, pairings, families, recipes, piece categories, collections, or kinds. Themes and pairings can be ranked by a mood ("warm craft", "editorial serif", "dark technical").

输入参数modemoodwhat必填limit

get_theme

Get a theme

A theme's full CSS (primary, secondary, tertiary, feedback, surfaces, link) and its pair for the other mode. Colour only: fonts come from the pairing, radius and shadow from the family.

输入参数id必填image

get_pairing

Get a type pairing

A pairing's CSS (Google Fonts import, --font-display, --font-text, mono if any), its numbers face, and any caution to say before you write.

输入参数id必填image

get_family

Get a component family

A family's rules: radius, button style, density, shadow, and the sentences that lock them. The family wins over a brief for radius, shadow, button, and density.

输入参数id必填

get_icons

Get Lounge Icons

SVG for Lounge Icons by name (24px, stroke 1.75). With no names, lists them by group. Missing names come back as missing: then follow Icon and nav in components.md, never an emoji.

输入参数groupnames

search_wada

Search Wada colour combinations

Sanzo Wada's 348 combinations, by colour or material word (russet, slate, "dark warm") or nearest to a hex. Only for Free colour, a brand board no theme fits, or colours they asked for. Take one line whole; the header says how to map it to roles.

输入参数nearlimitquery

read_guide

Read the method

Read a method file or one section of it. Files: SKILL.md, app.md, brief.md, components.md, examples.md, flows.md, locale.md, native.md, practice.md, reference.md, search.md, show.md, styles.md, taste.md, website.md. Give a heading ("Look", "Write the idea", "Recent picks") to get only that section; outline=true lists the headings.

输入参数file必填outlinesection

name_number

Name number

The tie-break from rule 5 of Pick a direction: the sum of each letter's place in the alphabet, mod the number of fitting directions.

输入参数name必填count

review_page

Review a page

The all-in-one check for a built page: AI giveaways and kit drift (the Look fails), SEO, AEO, GEO, and, when Chromium is available, a rendered pass at 1280×800 and 390×844 with axe accessibility, measured labels, faces, primaries, tap targets, and saved screenshots. Returns scores, fails first, each with its evidence and fix.

输入参数kiturlhtmlformatimagesrenderout_dir

audit_slop

Find AI giveaways

Design only: the tells of a generated page (stock copy, em dashes, buzzwords, icon-card trios, gradients, the indigo palette, emoji icons, numbered eyebrows, placeholder copy, made-up numbers) and drift from the locked kit (faces, colours, radius, shadow). Static by default; render=true adds the measured checks.

输入参数kiturlhtmlrenderout_dir

suggest_schema

Suggest JSON-LD

JSON-LD for the page built only from facts on it: the entity (Organization, LocalBusiness subtypes, Person, Product, SoftwareApplication) with name, url, description, image, phone, email, address, sameAs; and FAQPage from its own questions. Lists the fields it could not find. Never invents ratings, reviews, or prices.

输入参数urlhtmlnametype

版本历史

4
  1. v0.2.7最新Nov 7, 2026
  2. v0.2.6Nov 3, 2026
  3. v0.2.4Nov 3, 2026
  4. v0.2.3Oct 29, 2026

评分

已满足适用检查项的 90%

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

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。