Designers
by allthepossibles.com · remote · no sign-in to list tools · v1.0.0 · published by com.allthepossibles
Checks, prompts and skills for designers working with AI: contrast, a11y, heuristics, critique.
21 tools: 18 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things18Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http designers https://designers.allthepossibles.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnreview_ui_copy
The server marks "review_ui_copy" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "review_ui_copy" says "copy": a word for a change.
The server marks "save_project_context" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "save_project_context" says "save": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
21 tools
Changes things 18Claude Code: ask
audit_page_accessibilityAudit one page's static HTML for accessibility problems and name the WCAG 2.2 criterion for each: missing lang or title, images without alt, unlabelled form fields, vague or empty …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Audit one page's static HTML for accessibility problems and name the WCAG 2.2 criterion for each: missing lang or title, images without alt, unlabelled form fields, vague or empty links and buttons, heading jumps, no main landmark, zoom-blocking viewport, autoplay with sound, tabindex above zero, duplicate ids, click handlers on non-interactive elements, tiny inline targets. It reads markup only and cannot test contrast, focus order or script-built widgets.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
audit_site_accessibilityPro.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Pro. Crawl up to 15 same-origin pages from a start URL, audit each one's static HTML for WCAG 2.2 problems, and report issues by how many pages they affect so that shared-template problems come first. Returns a markdown report.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
build_heuristic_reportPro.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Pro. Build a scored, exportable markdown report from heuristic evaluation findings you have written. Each finding has heuristic (1 to 10), severity (0 to 4), location, issue, effect, fix and optional effort (S, M, L) and evaluator. Merges duplicates across evaluators, computes a health score, and sorts a fix-first table.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
check_contrastCheck colour contrast.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check colour contrast. Give fg and bg, or pairs (a list of {fg, bg, label, sizePx, bold}), or a palette. Returns the WCAG 2.2 ratio with AA and AAA results for the text size, APCA Lc with what it is enough for, the nearest passing colour, and for palettes the colour pairs that become indistinguishable under protanopia, deuteranopia or tritanopia. Accepts hex, rgb(), hsl() and CSS names.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
check_contrast_tokensTake a design token file (CSS custom properties like --color-text: #111;, a JSON object of colours, or W3C design tokens) and test every foreground-like token against every backgro…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Take a design token file (CSS custom properties like --color-text: #111;, a JSON object of colours, or W3C design tokens) and test every foreground-like token against every background-like token for 4.5:1 text and 3:1 component contrast, with the nearest passing colour, and find colours that merge under colour blindness. Free up to about 30 colours; Pro takes 200. Returns a markdown report.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
check_touch_targetsCheck target sizes and spacing against WCAG 2.2 SC 2.5.8 (24 by 24 CSS px, or a smaller target with enough spacing), the 44px guidance for iOS and the web, and 48dp for Android.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check target sizes and spacing against WCAG 2.2 SC 2.5.8 (24 by 24 CSS px, or a smaller target with enough spacing), the 44px guidance for iOS and the web, and 48dp for Android. Pass targets as a list of {name, width, height, gap, inline} or text lines like 'Save button 40x32 gap=8'. Returns pass or fail per guideline with advice.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
detect_design_slopLook for the default AI-generated design look in a live page's markup and CSS: purple-to-blue gradients, gradient text, a default font stack, pill buttons with arrows, uppercase ey…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Look for the default AI-generated design look in a live page's markup and CSS: purple-to-blue gradients, gradient text, a default font stack, pill buttons with arrows, uppercase eyebrow labels, emoji headings, glassmorphism, glow blobs, equal card grids, stock marketing phrases and placeholder copy. Returns weighted signals and a 0 to 100 score. Signals, not proof.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
doctorDiagnose setup problems.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Diagnose setup problems. Reports what the server sees about this connection (client, whether a Pro key was received and is active, plan), checks a Figma link for the right shape (frame link with node-id, not a prototype or Community page), and matches a described symptom to fixes for: connected but nothing happens, local versus remote servers, 401 and 403, rate limits, tools or skills not triggering, and Figma selection problems. Does not use up a daily call.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
heuristic_worksheetBuild a Nielsen ten-heuristics review worksheet for a screen or flow.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Build a Nielsen ten-heuristics review worksheet for a screen or flow. Give text (the copy of the flow), html or a url. Returns, for each heuristic, keyword and markup signals found or missing, review prompts, and blanks for findings and 0 to 4 severity. The signals point at where to look; a human evaluation is still required.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
lint_design_feedbackLint design critique.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Lint design critique. Sorts each note into observation, opinion, solution-without-problem, vague, or question, explains what is missing, and gives an observation, impact, suggestion skeleton for weak notes. Reports the share of notes ready to act on.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
lint_design_mdScore a DESIGN.md (the brand and design context file models read before building): missing sections, no hex values, text and background pairs that fail contrast, too many typefaces…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Score a DESIGN.md (the brand and design context file models read before building): missing sections, no hex values, text and background pairs that fail contrast, too many typefaces, adjectives a model reads as the generic look, no never-list, no sizes, too long or too thin.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
lint_research_questionsLint user research questions, one per line, for leading wording, double-barrelled questions, hypotheticals, predictions, loaded words, jargon, closed questions in an open interview…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Lint user research questions, one per line, for leading wording, double-barrelled questions, hypotheticals, predictions, loaded words, jargon, closed questions in an open interview, why-questions and unlabelled rating scales, with a suggested rewrite for each problem.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
lint_token_namesLint design token names from a list, CSS variables or a JSON token file: mixed separators, colours named by hue where roles belong, values or locations in names, version words, dup…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Lint design token names from a list, CSS variables or a JSON token file: mixed separators, colours named by hue where roles belong, values or locations in names, version words, duplicate values, abbreviation drift (bg and background) and irregular scales.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
lint_tracking_planLint a product analytics tracking plan (event names with optional properties, one per line like 'project_created (template, source)') for mixed naming styles, vague events, UI-elem…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Lint a product analytics tracking plan (event names with optional properties, one per line like 'project_created (template, source)') for mixed naming styles, vague events, UI-element names, near-duplicate events, tense and order drift, and personal data in property names. With no events and a productType (saas, ecommerce, marketplace, content, mobile) it drafts a starter plan.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
plan_critiquePlan a design critique for a stage (concept, wireframe, visual, prototype, build, shipped): a framing statement, timed agenda, the questions that fit the stage, roles, and the kind…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Plan a design critique for a stage (concept, wireframe, visual, prototype, build, shipped): a framing statement, timed agenda, the questions that fit the stage, roles, and the kinds of feedback to turn away until a later stage.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
review_ui_copyReview interface copy, one string per line, optionally prefixed with a type (button:, error:, empty:, tooltip:, placeholder:, heading:, toast:, label:).1 finding
Why it is in this group
- The name "review_ui_copy" says "copy": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "review_ui_copy" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "review_ui_copy" says "copy": a word for a change.
Description, as the server wrote it Review interface copy, one string per line, optionally prefixed with a type (button:, error:, empty:, tooltip:, placeholder:, heading:, toast:, label:). Checks each string for what its type needs (errors say what to do, empty states give a next step, buttons name the outcome), checks the set for inconsistency, and runs AI-writing tells over everything.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
save_project_contextPro.1 finding
Why it is in this group
- The name "save_project_context" says "save": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "save_project_context" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "save_project_context" says "save": a word for a change.
Description, as the server wrote it Pro. Save named project context (brand notes, a DESIGN.md, past decisions, personas) against the Pro key, up to 20 items of 50,000 characters, so later sessions and prompts can reuse it.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
usability_statsUsability arithmetic with formulas shown.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Usability arithmetic with formulas shown. mode sus: score System Usability Scale responses (rows of ten 1-5 answers) with grade, percentile and 95% interval. mode discovery: participants needed to find a share of problems (Nielsen and Landauer). mode ab: sample size per variant for a conversion test (baseline, lift in percent, optional dailyVisitors). mode survey: responses needed for a margin of error.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
Only reads 3Claude Code: allow
get_project_contextPro.No findings
Why it is in this group
- The name "get_project_context" says "get": a word for reading.
Description, as the server wrote it Pro. List the saved project context, or read one item by name.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
getting_startedExplain what this server can do and suggest the three best first tasks for what the person has (a Figma link, a live URL, copy, a research plan, an event list).No findings
Why it is in this group
- The description's first verb is "explain": a word for reading.
Description, as the server wrote it Explain what this server can do and suggest the three best first tasks for what the person has (a Figma link, a live URL, copy, a research plan, an event list). Use this first when the person is new or unsure what to ask for.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
whoamiShow the caller's plan (Free or Pro) and how many calls remain today on each tool.No findings
Why it is in this group
- The name "whoami" says "whoami": a word for reading.
Description, as the server wrote it Show the caller's plan (Free or Pro) and how many calls remain today on each tool. Does not use up a daily call.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http designers https://designers.allthepossibles.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__designers__getting_started",
"mcp__designers__whoami",
"mcp__designers__get_project_context"
],
"ask": [
"mcp__designers__check_contrast",
"mcp__designers__audit_page_accessibility",
"mcp__designers__heuristic_worksheet",
"mcp__designers__detect_design_slop",
"mcp__designers__review_ui_copy",
"mcp__designers__lint_design_feedback",
"mcp__designers__plan_critique",
"mcp__designers__lint_research_questions",
"mcp__designers__usability_stats",
"mcp__designers__lint_tracking_plan",
"mcp__designers__audit_site_accessibility",
"mcp__designers__check_contrast_tokens",
"mcp__designers__build_heuristic_report",
"mcp__designers__check_touch_targets",
"mcp__designers__lint_token_names",
"mcp__designers__lint_design_md",
"mcp__designers__doctor",
"mcp__designers__save_project_context"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as designers. Review it before you use it.