Design Lounge
NPM · DESIGN-LOUNGE-MCP · 2 COMPONENTS
A UI design library and skill for agents, with a page review for AI giveaways, SEO, AEO, and GEO.
Available components
Last scanned (2 hours ago)
Scores higher than 40% of npm servers
Category Design and Media
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 30 of 106 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Licence could not be checked: the licence is shipped as a file inside the package, not declared as a standard (SPDX) licence identifier, so we cannot tell whether it is OSI-approved.Unverified
- Actively maintained (last published 1 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 3464 tokens (~91/item across 38 items; 22 tools + 16 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management33
- Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage83
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 48% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 22 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 24 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +16
- Malware scan: unverified → pass ▲ security
- 3 Nov 26 0
- Malware scan: unverified → pass ▲ security
- Package version: 0.2.4 → 0.2.6 functional
- 2 Nov 26 −14
- Malware scan: pass → unverified ▼ security
- Package version: 0.2.3 → 0.2.4 functional
- 31 Oct 26 +1
- Security disclosure: unverified → fail ▼ functional
- 30 Oct 26 0
- Security disclosure: fail → unverified ▼ functional
- 29 Oct 26 +1
- Tool safety: pass → unverified ▼ security
- Stability: 0.07 → unverified ▼ security
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Package version: 0.2.2 → 0.2.3 functional
- 28 Oct 26 +15
- Stability: 0.03 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Malware scan: unverified → pass ▲ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Package version: 0.2.1 → 0.2.2 functional
- 27 Oct 26 +1
- Malware scan: unverified → pass ▲ security
- Stability: unverified → 0.03 ▲ functional
- Package version: 0.2.0 → 0.2.1 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed npm/design-lounge-mcp@0.2.6
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 106 packages
| Packages resolved | 106 |
|---|---|
| Stale | 30 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
audit_search Check SEO, AEO, and GEO ~175
Whether search engines can index the page and show it well (SEO), answer engines can lift a direct answer (AEO), and AI engines can reach it, read it without JavaScript, and name the entity (GEO): title, description, headings, alt, share card and its 1200×630 image, canonical, robots.txt for search and AI crawlers, sitemap, JSON-LD, question headings with short answers, server-rendered text.
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | – | Raw HTML, when there is no file or URL |
| path | string | – | An HTML file or a folder with index.html. DESIGN.md beside it or above it is read for the locked kit |
| url | string | – | A live or local URL, such as http://localhost:4321/ or https://example.com |
No output schema declared.
No examples provided.
audit_slop Find AI giveaways ~195
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.
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | – | Raw HTML, when there is no file or URL |
| kit | object | – | The locked kit, by id, name, or Lounge link. Read from DESIGN.md when omitted |
| out_dir | string | – | – |
| path | string | – | An HTML file or a folder with index.html. DESIGN.md beside it or above it is read for the locked kit |
| render | boolean | – | – |
| url | string | – | A live or local URL, such as http://localhost:4321/ or https://example.com |
No output schema declared.
No examples provided.
browse_library Browse the library ~77
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").
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| mode | string | – | – |
| mood | string | – | – |
| what | string | yes | – |
No output schema declared.
No examples provided.
check_pick Check a pick against recent sites ~195
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.
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | – | – |
| effect | string | – | – |
| footer | string | – | – |
| frame | array | – | [header piece, phone piece or "none", find-us piece] |
| hero | string | – | – |
| history | array | – | Recent pick lines, for a client that keeps its own history. The local server reads ~/.design-lounge/history.jsonl |
| product | string | – | – |
| recipe | string | yes | – |
| reuse | boolean | – | Reusing a direction because every fitting one is recent: compares shape, frame, work, and footer only |
| shape | string | – | – |
| work | string | – | – |
No output schema declared.
No examples provided.
get_family Get a component family ~51
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
get_icons Get Lounge Icons ~67
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.
| Name | Type | Req | Description |
|---|---|---|---|
| group | string | – | – |
| names | array | – | – |
No output schema declared.
No examples provided.
get_pairing Get a type pairing ~73
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Pairing id, name, or Lounge link |
| image | boolean | – | Attach a type specimen (default true) |
No output schema declared.
No examples provided.
get_piece Get a piece brief ~131
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.
| Name | Type | Req | Description |
|---|---|---|---|
| demo | boolean | – | Add the demo's HTML source |
| full | boolean | – | – |
| id | string | yes | – |
| image | boolean | – | Attach the demo's thumbnail (default true) |
No output schema declared.
No examples provided.
get_recipe Get a recipe ~110
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.
| Name | Type | Req | Description |
|---|---|---|---|
| history | array | – | Recent pick lines, for a client that keeps its own history. The local server reads ~/.design-lounge/history.jsonl |
| id | string | yes | Recipe id, such as saas, restaurant, portfolio. browse_library what=recipes lists them |
| product | string | – | – |
No output schema declared.
No examples provided.
get_theme Get a theme ~83
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Theme id, name, or Lounge link |
| image | boolean | – | Attach a board of the theme's roles (default true) |
No output schema declared.
No examples provided.
install_browser Install the browser for rendered checks ~51
Download the headless Chromium that review_page uses to look at the page: screenshots, axe, measured labels and buttons, and theme boards and type specimens. About 100 MB, once. Ask the person first.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
install_skill Install the Design Lounge skill ~106
The server installs the skill for this user when it starts. Use this to put it in a project as well (.claude/skills, .cursor/skills, .agents/skills), for clients that only read project skills, or with replace: true to swap a copy installed another way for this server's.
| Name | Type | Req | Description |
|---|---|---|---|
| project_path | string | – | A project folder. Omit to install for this user |
| replace | boolean | – | Replace a user-level copy that something else installed |
No output schema declared.
No examples provided.
match_reference Match a reference site ~269
They showed a site or a screenshot and want that feel. Measures its design language (colour roles, type, corners, shadows, density, hero shape, sections, motion) and returns the closest Lounge theme, pairing, family, and pieces per section, with what does not match. Matches the feel only: never copy the reference's logo, name, words, or photos. For a screenshot, also describe the type you see (`type`) and anything else you can tell (corners, shadows, sections).
| Name | Type | Req | Description |
|---|---|---|---|
| buttons | string | – | – |
| corners | string | – | – |
| image | string | – | A screenshot as base64, when there is no file |
| image_path | string | – | A screenshot file |
| mime_type | string | – | image/png, image/jpeg, or image/webp (default png) |
| sections | array | – | Section kinds you see: features, pricing, testimonials, faq, logos, stats, team, gallery, blog, cta, contact, newsletter |
| shadows | string | – | – |
| shape | string | – | The hero shape you see |
| type | string | – | For a screenshot: the faces you see, such as "high-contrast serif headline, neutral grotesk body" |
| url | string | – | The reference site |
No output schema declared.
No examples provided.
name_number Name number ~52
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 | Type | Req | Description |
|---|---|---|---|
| count | integer | – | – |
| name | string | yes | – |
No output schema declared.
No examples provided.
pick_direction Pick a direction ~200
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`.
| Name | Type | Req | Description |
|---|---|---|---|
| calm | boolean | – | They used a calm word: clean, simple, professional, plain, calm, quiet, corporate, serious, trustworthy |
| fitting | array | – | Direction ids whose mood names this subject's world |
| history | array | – | Recent pick lines, for a client that keeps its own history. The local server reads ~/.design-lounge/history.jsonl |
| product | string | – | Product or brand name, for the name number. Without one, the first noun of their message |
| recipe | string | yes | – |
No output schema declared.
No examples provided.
read_guide Read the method ~115
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.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | – |
| outline | boolean | – | – |
| section | string | – | – |
No output schema declared.
No examples provided.
record_pick Record a pick in the history ~187
Append a line to /tmp/.design-lounge/history.jsonl: "claimed" right after you lock, "finished" after the check passes. A claimed line is read back: if another product claimed the same recipe and direction in the last hour, yours loses and the result says so.
| Name | Type | Req | Description |
|---|---|---|---|
| colours | array | – | – |
| direction | string | yes | – |
| effect | string|null | – | – |
| family | string | – | – |
| folder | string | – | – |
| fonts | array | – | – |
| footer | string | – | – |
| frame | array | – | – |
| hero | string | – | – |
| mode | string | – | – |
| pairing | string | yes | – |
| product | string | yes | – |
| recipe | string | yes | – |
| shape | string | – | – |
| status | string | yes | – |
| theme | string | yes | – |
| work | string | – | – |
No output schema declared.
No examples provided.
review_page Review a page ~243
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.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | – |
| html | string | – | Raw HTML, when there is no file or URL |
| images | boolean | – | Attach the web and phone frames (default true) |
| kit | object | – | The locked kit, by id, name, or Lounge link. Read from DESIGN.md when omitted |
| out_dir | string | – | Where to save screenshots (default: a temp folder) |
| path | string | – | An HTML file or a folder with index.html. DESIGN.md beside it or above it is read for the locked kit |
| render | boolean | – | Open it in Chromium (default true) |
| url | string | – | A live or local URL, such as http://localhost:4321/ or https://example.com |
No output schema declared.
No examples provided.
search_pieces Search pieces ~126
Search 600+ piece briefs by words (job, component, style, tag) and filters. Returns ids, summaries, and demo links. Then get_piece for the brief.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | browse_library what=categories lists them |
| images | boolean | – | Attach thumbnails of the first six, to compare them by eye |
| limit | integer | – | – |
| platform | string | – | – |
| query | string | – | Such as "pricing toggle", "sticky mobile cta", "kanban", "footer wordmark" |
| style | string | – | – |
No output schema declared.
No examples provided.
search_wada Search Wada colour combinations ~102
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| near | string | – | A hex like #b14f1c |
| query | string | – | – |
No output schema declared.
No examples provided.
start_design Start a design ~115
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.
| Name | Type | Req | Description |
|---|---|---|---|
| product | string | – | The product or brand name, if they gave one |
| project_path | string | – | The folder the build goes in |
| request | string | yes | Their message, word for word |
No output schema declared.
No examples provided.
suggest_schema Suggest JSON-LD ~187
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.
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | – | Raw HTML, when there is no file or URL |
| name | string | – | – |
| path | string | – | An HTML file or a folder with index.html. DESIGN.md beside it or above it is read for the locked kit |
| type | string | – | schema.org type, such as Restaurant, Dentist, Person, SoftwareApplication. Default Organization |
| url | string | – | A live or local URL, such as http://localhost:4321/ or https://example.com |
No output schema declared.
No examples provided.
How do I install the Design Lounge MCP server?
Design Lounge runs locally as an npm package, launched with npx -y design-lounge-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · design-lounge-mcp
claude mcp add susanacharya-design-lounge -- npx -y design-lounge-mcp
What is the Design Lounge MCP server?
Design Lounge is an MCP server listed in the public MCP registry as io.github.SusanAcharya/design-lounge. A UI design library and skill for agents, with a page review for AI giveaways, SEO, AEO, and GEO. This page covers its npm package (design-lounge-mcp).
Is the Design Lounge MCP server safe to use?
Design Lounge scores 71 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Design Lounge MCP server expose?
Design Lounge exposes 22 tools: start_design, get_recipe, pick_direction, check_pick, record_pick, and 17 more. Their descriptions and schemas cost roughly 2,910 tokens of context every time the server is loaded.
Is the Design Lounge MCP server still maintained?
Design Lounge is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.