design-lounge
Registry code: 1bd81e6db2190d45
Design Lounge is the design library of Susan Acharya (https://www.designlounge.live): 543 piece briefs, 84 themes, 46 type pairings, 43 recipes with directions, icons, and Sanzo Wada's colour combinations. It also reviews pages for AI giveaways and for SEO, AEO, and GEO.
For any website, app, screen, or UI: call start_design first with their words. Then lock a recipe direction with get_recipe and pick_direction, and build from get_theme, get_pairing, get_family, and get_piece. Do not invent a palette, a type pairing, a radius, or a component language. Their words win over every default.
- endpoint
- https://www.designlounge.live/api/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is design-lounge live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is design-lounge free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does design-lounge have?
- 18 tools: search_pieces, name_number, start_design, get_recipe, pick_direction, check_pick, get_piece, browse_library, ….
- Is design-lounge safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 18 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
get_icons open 1h ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "group": { "type": "string" }, "names": { "type": "array", "items": { "type": "string" } } } }arguments 15 linessearch_pieces unknown never probed
Search 543 piece briefs by words (job, component, style, tag) and filters. Returns ids, summaries, and demo links. Then get_piece for the brief.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "type": "integer", "maximum": 40, "minimum": 1 }, "query": { "type": "string", "description": "Such as \"pricing toggle\", \"sticky mobile cta\", \"kanban\", \"footer wordmark\"" }, "style": { "type": "string" }, "images": { "type": "boolean", "description": "Attach thumbnails of the first six, to compare them by eye" }, "category": { "type": "string", "description": "browse_library what=categories lists them" }, "platform": { "enum": [ "web", "mobile-web", "mobile-app", "pwa", "tablet" ], "type": "string" } } }arguments 36 linesname_number unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "name" ], "properties": { "name": { "type": "string" }, "count": { "type": "integer", "maximum": 9007199254740991, "minimum": 1 } } }arguments 17 linesstart_design unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "request" ], "properties": { "history": { "type": "array", "items": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "maxItems": 48, "description": "Recent pick lines, for a client that keeps its own history. The local server reads ~/.design-lounge/history.jsonl" }, "product": { "type": "string", "description": "The product or brand name, if they gave one" }, "request": { "type": "string", "description": "Their message, word for word" } } }arguments 29 linesget_recipe unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Recipe id, such as saas, restaurant, portfolio. browse_library what=recipes lists them" }, "history": { "type": "array", "items": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "maxItems": 48, "description": "Recent pick lines, for a client that keeps its own history. The local server reads ~/.design-lounge/history.jsonl" }, "product": { "type": "string" } } }arguments 28 linespick_direction unknown never probed
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`.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "recipe" ], "properties": { "calm": { "type": "boolean", "description": "They used a calm word: clean, simple, professional, plain, calm, quiet, corporate, serious, trustworthy" }, "recipe": { "type": "string" }, "fitting": { "type": "array", "items": { "type": "string" }, "description": "Direction ids whose mood names this subject's world" }, "history": { "type": "array", "items": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "maxItems": 48, "description": "Recent pick lines, for a client that keeps its own history. The local server reads ~/.design-lounge/history.jsonl" }, "product": { "type": "string", "description": "Product or brand name, for the name number. Without one, the first noun of their message" } } }arguments 39 linescheck_pick unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "recipe" ], "properties": { "hero": { "type": "string" }, "work": { "type": "string" }, "frame": { "type": "array", "items": { "type": "string" }, "maxItems": 3, "minItems": 3, "description": "[header piece, phone piece or \"none\", find-us piece]" }, "reuse": { "type": "boolean", "description": "Reusing a direction because every fitting one is recent: compares shape, frame, work, and footer only" }, "shape": { "enum": [ "split", "object", "type", "band" ], "type": "string" }, "effect": { "type": "string" }, "footer": { "type": "string" }, "recipe": { "type": "string" }, "history": { "type": "array", "items": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "maxItems": 48, "description": "Recent pick lines, for a client that keeps its own history. The local server reads ~/.design-lounge/history.jsonl" }, "product": { "type": "string" }, "direction": { "type": "string" } } }arguments 64 linesget_piece unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "id" ], "properties": { "id": { "type": "string" }, "demo": { "type": "boolean", "description": "Add the demo's HTML source" }, "full": { "type": "boolean" }, "image": { "type": "boolean", "description": "Attach the demo's thumbnail (default true)" } } }arguments 23 linesbrowse_library unknown never probed
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").
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "what" ], "properties": { "mode": { "enum": [ "light", "dark" ], "type": "string" }, "mood": { "type": "string" }, "what": { "enum": [ "themes", "pairings", "families", "recipes", "categories", "collections", "kinds", "motion", "scales" ], "type": "string" }, "limit": { "type": "integer", "maximum": 100, "minimum": 1 } } }arguments 38 linesget_theme unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Theme id, name, or Lounge link" }, "image": { "type": "boolean", "description": "Attach a board of the theme's roles (default true)" } } }arguments 17 linesget_pairing unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Pairing id, name, or Lounge link" }, "image": { "type": "boolean", "description": "Attach a type specimen (default true)" } } }arguments 17 linesget_family unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "id" ], "properties": { "id": { "type": "string" } } }arguments 12 linessearch_wada unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "near": { "type": "string", "description": "A hex like #b14f1c" }, "limit": { "type": "integer", "maximum": 30, "minimum": 1 }, "query": { "type": "string" } } }arguments 18 linesread_guide unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "file" ], "properties": { "file": { "type": "string" }, "outline": { "type": "boolean" }, "section": { "type": "string" } } }arguments 18 linesreview_page unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "kit": { "type": "object", "properties": { "free": { "type": "boolean", "description": "Show mode, Free: colour and type are not locked to the library" }, "named": { "type": "string", "description": "The Named aesthetic line, which lifts the bans it lists" }, "theme": { "type": "string" }, "family": { "type": "string" }, "pairing": { "type": "string" } }, "description": "The locked kit, by id, name, or Lounge link. Read from DESIGN.md when omitted" }, "url": { "type": "string", "maxLength": 2048, "description": "A public URL, such as https://example.com" }, "html": { "type": "string", "maxLength": 2000000, "description": "Raw HTML, when there is no file or URL" }, "format": { "enum": [ "markdown", "json" ], "type": "string" }, "images": { "type": "boolean", "description": "Attach the web and phone frames (default true)" }, "render": { "type": "boolean", "description": "Open it in Chromium (default true)" }, "out_dir": { "type": "string", "description": "Where to save screenshots (default: a temp folder)" } } }arguments 58 linessuggest_schema unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "url": { "type": "string", "maxLength": 2048, "description": "A public URL, such as https://example.com" }, "html": { "type": "string", "maxLength": 2000000, "description": "Raw HTML, when there is no file or URL" }, "name": { "type": "string" }, "type": { "type": "string", "description": "schema.org type, such as Restaurant, Dentist, Person, SoftwareApplication. Default Organization" } } }arguments 23 linesaudit_search unknown 1h ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "url": { "type": "string", "maxLength": 2048, "description": "A public URL, such as https://example.com" }, "html": { "type": "string", "maxLength": 2000000, "description": "Raw HTML, when there is no file or URL" } } }arguments 16 linesaudit_slop unknown 1h ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "kit": { "type": "object", "properties": { "free": { "type": "boolean", "description": "Show mode, Free: colour and type are not locked to the library" }, "named": { "type": "string", "description": "The Named aesthetic line, which lifts the bans it lists" }, "theme": { "type": "string" }, "family": { "type": "string" }, "pairing": { "type": "string" } }, "description": "The locked kit, by id, name, or Lounge link. Read from DESIGN.md when omitted" }, "url": { "type": "string", "maxLength": 2048, "description": "A public URL, such as https://example.com" }, "html": { "type": "string", "maxLength": 2000000, "description": "Raw HTML, when there is no file or URL" }, "render": { "type": "boolean" }, "out_dir": { "type": "string" } } }arguments 45 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id1bd81e6db2190d45.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/1bd81e6db2190d45/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/1bd81e6db2190d45?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.