the-designer
This server is a Design-Theory-as-a-Service MCP that turns subjective design principles into executable, production-grade UI output: it evaluates product context, generates design rules/tokens/components/CSS, adds motion and accessibility checks, and exports full project scaffolds.
Evaluate & plan:
evaluate_style,detect_genre, andpre_flight_scananalyze product context and existing project setup to recommend best-matching design systems, palettes, archetypes, and genres.Generate design rules & tokens:
generate_rules,generate_tokens,build_custom_tokens, andgenerate_tailwind_configproduce OKLCH-based design systems, themes, custom tokens, and Tailwind configs.Build components & templates:
get_componentoutputs HTML/Tailwind, React TSX, or Vue 3 SF C components;generate_templatecreates full HTML starter pages;export_projectassembles a complete project scaffold including config and components.Generate CSS in multiple formats:
generate_css_outputproduces vanilla CSS, CSS Modules, SCSS, or CSS-variables-only token files with dark-mode support.Motion design:
generate_motion_snippetcreates style-calibrated anime.js or motion.dev snippets for entrances, micro-interactions, scroll reveals, loaders, counters, and typewriters, all with reduced-motion guards.Quality gates & accessibility:
anti_pattern_checkruns slop tests,self_critiquescores 6 quality axes, andaudit_accessibilityperforms a 25-check WCAG 2.1 audit with score, grade, and fixes.Color & palette tools:
palette_fetchpulls live Color Hunt palettes,palette_convertconverts them to multiple targets, andgenerate_palette_variantscreates light/dark/high-contrast variants.Brand references:
brand_listandbrand_fetch_design_mdprovide 328+ real-world brand design references.Extended resources:
list_options,validate_combo,get_reference,list_themes,list_ellis_ui_designs, andget_ellis_ui_templateexpose design systems, themes, cross-cutting rules, and Ellis UI templates.Skill integration:
list_installed_skillsdetects companion skill submodules for design, color, and motion workflows.
Allows converting color palettes to Android-compatible format.
Supports generating SCSS output using BEM methodology for CSS class naming.
Generates CSS Modules for components, with all interactive states.
Allows exporting color palettes to Figma-compatible format.
Generates React TypeScript components with typed props.
Allows converting color palettes to Swift format.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@the-designerget the design reference for Stripe"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
The Designer MCP
Part of the HeLa MCP Ecosystem — This server is HeLa Phenotype (
hela-phenotype) — the Design component of the HeLa cellular architecture. See the ecosystem docs for profiles, workflows, and multi-client setup.
A Design-Theory-as-a-Service Model Context Protocol (MCP) server for production-grade UI design. Unlike standard code-retrieval MCPs, designer-mcp codifies subjective design principles—perceptual color math (OKLCH), motion physics, typographic scaling, and accessibility—into executable algorithms with strict anti-slop quality gates.
Featuring 17 design systems, 328+ brand references, motion.dev & anime.js motion integration, WCAG 2.1 accessibility auditing, React/Vue component output, and framework-agnostic CSS generation.

Table of Contents
Related MCP server: mcp-mirage-brand-extract
Features
Anti-Slop Quality Gates — 31-gate slop test + 6-axis self-critique (P-H-E-S-R-V). Rejects anything < 3.
OKLCH Token System — 16 curated themes with auto dark-mode derivation (
full_cssfield ships both:rootand@media (prefers-color-scheme: dark)+[data-theme="dark"]overrides).Design Rules Generator — 17 design systems + 4 palettes + 5 archetypes + hybrid combos.
Pre-Flight Scan — Detect existing project context: framework, font stack, palette tokens, motion libraries.
Framework-Native Components — Every component (
button,card,navbar,hero, etc.) outputs HTML/Tailwind, React TSX (typed FC with prop interface), or Vue 3 SFC (script setup) via theframeworkparam.CSS Output Engine — Generate vanilla CSS, CSS Modules (Button/Card/Input with all 8 states), SCSS (variables + mixins + BEM), or a single
tokens.csswith auto dark-mode overrides.WCAG 2.1 Accessibility Audit — 25-check static auditor: alt text, unlabeled inputs, empty buttons/links, heading order, focus-visible removal, skip links, landmark regions, viewport scale lock, and more. Returns 0-100 score + A–F grade + actionable fixes.
SOTA Motion System (motion.dev & anime.js) — Style-aware animation presets baked into components.
generate_motion_snippetfor on-demand snippets with React<motion.div>and vanilla physics support (8 categories, all reduced-motion guarded).Color Palette Hunter — Live palettes from Color Hunt with format conversion.
Brand Design References — 328+ real-world brands (Stripe, Vercel, Notion, Claude, Tesla, etc.).
Tools

Core Design Flow
Tool | Description |
| Score 17 design systems against product context |
| Classify brief into editorial / modern-minimal / atmospheric / playful |
| Scan existing project for framework, fonts, palette, motion libs |
| Generate design rules for style + palette + archetype/hybrid |
| Generate ready-to-use tailwind.config.js |
| Get standalone rules (a11y, motion, icons, tokens, responsive) |
Theme & Token System
Tool | Description |
| Generate complete OKLCH token system. Returns |
| List all 16 themes with OKLCH values, fonts, axis metadata |
| Build custom OKLCH token system from paper/accent/font values — also emits dark mode derivation |
Quality Gates
Tool | Description |
| Run 31-gate slop test on HTML/CSS |
| Score output on 6 quality axes (P-H-E-S-R-V) — anything < 3 triggers revision |
| 25-check WCAG 2.1 static auditor — alt text, unlabeled inputs/selects/textareas, empty buttons/links, heading order, focus-visible removal, skip links, landmark regions, viewport scale lock, and more. Returns 0–100 score, A–F grade, per-severity counts, fix instructions, and passed-check list |
Component & Template
Tool | Description |
| Full HTML starter page — ships with anime.js v3 animations |
| Production-ready component. |
| Standalone HTML preview with all 8 interactive states — animated via anime.js spring physics |
| Light/dark/high-contrast variants from hex colors |
| Full project scaffold (config + HTML + components) |
CSS Output
Tool | Description |
| Framework-agnostic CSS generation from style + palette. Formats: |
Motion (motion.dev & anime.js)
Tool | Description |
| Generate a ready-to-paste motion.dev or anime.js snippet matched to the current design style's physics and easing. Supports 8 categories: |
Color & Palette
Tool | Description |
| Fetch live palettes from Color Hunt |
| Convert palette JSON to CSS / Tailwind / SCSS / Figma / Android / Swift |
Brand References
Tool | Description |
| Download DESIGN.md for a real brand |
| List all 328+ brands by category |
Utility
Tool | Description |
| List all available systems, palettes, archetypes, hybrids |
| Validate style + palette + hybrid combo |
| Pull full content of any reference doc |
| Detect installed skill submodules |
Motion Design
The MCP provides a dual-engine motion system: motion.dev (modern, physics-based, React-native) and anime.js v3 (lightweight vanilla JS).
When calling generate_motion_snippet or get_component (for React), the output is automatically calibrated to the design system's character:
System | Easing / Physics | Duration |
|
| 700ms |
|
| 600ms |
|
| 400ms |
|
| 300ms |
|
| 550ms |
|
| 200ms |
|
| 450ms |
Use generate_motion_snippet for standalone snippets targeting specific use cases across React, Vue, and HTML:
{
"tool": "generate_motion_snippet",
"arguments": {
"category": "entrance",
"style": "glass",
"engine": "motion.dev",
"framework": "react"
}
}Returns { cdn, snippet, easing, duration, usage_hint, reduced_motion_note }.
All snippets respect prefers-reduced-motion — animations are skipped entirely when the user has enabled reduced motion.
Examples
🔥 Live Demo: Ellis UI Collection
Ellis UI (examples/ellis-ui)
A comprehensive, anti-slop component library demonstrating the extreme versatility of designer-mcp's ruleset. The project takes a single romantic letter and renders it across 24 radically different, strictly enforced aesthetic systems (e.g., Swiss Archival, Vintage Airmail, Brutalist, UNIX Phosphor, 8-Bit Game Boy).
Each design acts as a fully standalone, reusable UI kit utilizing zero JS dependencies—relying entirely on strict structural typography, CSS geometry, and advanced CSS rendering techniques (clip-paths, custom filters, OKLCH gradients). Each of the 24 folders includes a design.md detailing the tokens and layout strategy, acting as an advanced template reference for designer-mcp.
Installation
git clone https://github.com/1999AZZAR/designer-mcp.git
cd designer-mcp
npm install
npm run buildRequirements: Node.js >= 18
Usage
npm startnpx @modelcontextprotocol/inspector node dist/index.jsArchitecture
designer-mcp operates on a multi-tier architecture. An MCP server on its own is just an API; by pairing the MCP with three companion AI skills, the AI gets both the tools (the MCP) and the instruction manual (the skills).
ui-designerskill: Provides the design intelligence, heuristics, and brand context so the AI knows what to ask the MCP to generate.color-palette-hunterskill: Handles external palette sourcing and feeds them into the OKLCH token engine.motion-designerskill: Defines SOTA animation heuristics, spring physics logic, andmotion.devbest practices.
src/
index.ts # MCP server entry, tool routing (27 tools)
rules.ts # 17 design systems, palettes, archetypes, hybrids
anti-patterns.ts # 31-gate slop test + 6-axis self-critique
a11y-audit.ts # 25-check WCAG 2.1 accessibility auditor (no deps, regex-only)
tokens.ts # 16 curated themes, OKLCH token generation, dark mode derivation
css-output.ts # vanilla CSS / CSS Modules / SCSS / css-variables-only generator
anime-motion.ts # anime.js v3 integration — style-aware presets, CDN helper, snippet generator
components.ts # Component library — HTML/React TSX/Vue 3 SFC output
components-8state.ts # 8-state component demo generator (anime.js micro-interactions)
preflight.ts # Project context scanner (framework, fonts, palette, motion)
evaluate.ts # Style scoring engine
palette.ts # Color Hunt palette fetcher
palette-convert.ts # Format converter
palette-variants.ts # Light/dark/high-contrast variant generator
templates.ts # HTML template generator (anime.js baked in)
tailwind-config.ts # Tailwind config generator
export.ts # Project scaffold exporter
skills/
ui-designer/ # Reference docs + genre files (git submodule)
color-palette-hunter/ # Palette CLI scripts (git submodule)Anti-Slop Design Philosophy

Locked tokens — every color/font references a named CSS variable, never inline values
No fabricated content — real metrics or labeled placeholders only
No re-drawn chrome — no fake browser bars, phone frames, or code window chrome
Typography purity — headings always roman, no italic display faces
Structural variety — different briefs produce structurally different pages
Mobile-responsiveness hard floor — 320/375/414/768px,
overflow-x: clip,minmax(0, 1fr), no two-line clickable textOKLCH-first — all new tokens defined in OKLCH for perceptual uniformity
Motion with restraint — animations are style-calibrated, spring-physics-grounded, and always gated on
prefers-reduced-motion
Configuration
Variable | Default | Description |
|
| Path to the ui-designer skill references |
|
| Path to the color palette hunter skill |
Configuring with AI Assistants
{
"mcpServers": {
"designer-mcp": {
"command": "node",
"args": ["/path/to/designer-mcp/dist/index.js"],
"env": {}
}
}
}License
Available Tools
29 toolsanti_pattern_checkA
Run a 35-gate quality checklist (slop test) against HTML/CSS content. Detects common AI design tells: italic headers, em-in-heading, dummy section tags, fabricated metrics, fake chrome, specimen fall-through, hanging headers, generic CTA, glass on white, missing a11y, and more. Specify genre to scope genre-specific gates.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | Genre for scoped gate application | editorial |
| content | Yes | HTML or CSS content to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains the tool performs a quality check without destructive effects, but does not disclose output format, rate limits, or prerequisites. Adequate for a read-only analysis tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clear sentences, no wasted words. Purpose and key usage guidance are front-loaded immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description is thorough in listing detection examples and explaining genre scoping. However, it omits the format of results (e.g., pass/fail list), leaving a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema describes both parameters (content, genre) with 100% coverage. The description adds value by explaining that genre scopes genre-specific gates, going beyond the schema's description. Baseline 3 is exceeded due to this added context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a 35-gate quality checklist (slop test) on HTML/CSS content, listing specific AI design tells it detects. This distinguishes it from sibling tools like 'validate_combo' or 'audit_accessibility'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions to specify genre to scope genre-specific gates, providing usage context. However, it does not explicitly state when not to use this tool or mention alternative tools for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_accessibilityA
Run a 25-check WCAG 2.1 accessibility audit on HTML content. Covers: missing alt text, unlabeled inputs/selects/textareas, empty buttons/links, missing lang/title, heading order violations, focus-visible removal, positive tabindex, skip links, viewport scale lock, landmark regions, and more. Returns a 0-100 score, A-F grade, per-severity issue counts, actionable fix instructions per issue, and a list of passed checks.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | Full HTML string to audit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description fully describes behavior: non-destructive analysis, covers 25 specific WCAG 2.1 checks, returns detailed output including score, grade, issue counts, fix instructions, and passed checks. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences that are informative and front-loaded with the main action. Each sentence adds value, though the list of checks could be slightly shortened. Overall efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter and no output schema, the description sufficiently explains what the tool does and what it returns (score, grade, etc.). Slightly missing explicit output format details, but complete for expected use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only parameter 'html' has a schema description 'Full HTML string to audit'. The tool description adds meaning by specifying that the audit covers WCAG 2.1 checks and lists them, enriching the parameter's purpose beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Run a 25-check WCAG 2.1 accessibility audit' with a specific verb and resource. Lists covered checks and outputs. No sibling tools overlap with this functionality, so it is well-distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for auditing HTML accessibility but does not explicitly state when to use versus alternatives or provide 'when not to use' guidance. Context from siblings suggests it is the only accessibility tool, but no direct comparison is made.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brand_fetch_design_mdB
Download and return the DESIGN.md for a real brand (stripe, vercel, linear, notion, claude, tesla, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | Brand slug, e.g. 'stripe', 'vercel', 'linear.app', 'claude' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'download and return' without detailing network behavior, error handling, rate limits, or caching, leaving significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words, though it could benefit from structured examples or additional context without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch tool with one required parameter documented in the schema, the description is adequate but omits output format, error states, and limitations, which are relevant given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, and the description adds brand examples, which mostly replicate the schema text. It provides minimal added value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'download and return', the resource 'DESIGN.md', and provides recognizable brand examples, making it distinct from sibling tools like palette_fetch or get_component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for known brands via examples but lacks explicit guidance on when to use this tool over alternatives or exclusions for non-listed brands.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brand_listA
List all 328+ supported brands grouped by category.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional category filter: productivity-saas|developer-tools|ai-ml|fintech|design-creative|ecommerce|media-consumer|automotive-luxury|legacy-archival |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses that the output is a list grouped by category and mentions the supported count. However, it does not describe behavior like sorting, pagination, or the exact structure of the grouping beyond 'grouped by category'. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler words. It conveys the action, scope, and organization in 8 words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description covers the essential purpose. However, it omits details about the output structure (e.g., whether it's a list of objects with brand name, category, etc.) and any potential limits. Adequate for a minimal tool but could be more explicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the category parameter is documented with enum values in the schema). The description adds no additional meaning beyond restating 'Optional category filter' and listing the options, which are already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List'), identifies the resource ('brands'), and adds a distinguishing detail ('grouped by category') while noting the exact count (328+). This clearly differentiates it from sibling tools like brand_fetch_design_md, which fetch designs for specific brands.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining a list of brands grouped by category but does not explicitly state when to use it vs. alternatives or when not to. Since no sibling tool serves exactly the same purpose, the context is clear but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_custom_tokensA
Build a custom OKLCH token system from scratch with paper color, accent color, and font pairing. Use when a brief signals creative-intent (brand color, multi-vibe aesthetic, explicit custom request). Returns tokens.css + Tailwind v4 @theme block.
| Name | Required | Description | Default |
|---|---|---|---|
| paper_c | Yes | Paper chroma (0-50) | |
| paper_h | Yes | Paper hue (0-360) | |
| paper_l | Yes | Paper lightness (0-100) | |
| accent_c | Yes | Accent chroma (0-50) | |
| accent_h | Yes | Accent hue (0-360) | |
| accent_l | Yes | Accent lightness (0-100) | |
| font_body | Yes | Body font stack, e.g. 'Inter', system-ui, sans-serif | |
| font_mono | No | Optional mono font stack (default: JetBrains Mono) | |
| font_display | Yes | Display font stack, e.g. 'Instrument Serif', Georgia, serif |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention side effects, idempotency, authorization needs, or whether it overwrites existing tokens. The description lacks crucial transparency about the tool's effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-load the purpose and usage. Every sentence adds value: first states what it does, second gives when-to-use and output. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no output schema, and no annotations, the description covers purpose, usage, and output. It does not explain error states or prerequisites, but for a build token system, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter has a description. The tool description groups parameters into paper, accent, font, adding some context. However, it does not add meaning beyond what the schema provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it builds a custom OKLCH token system from scratch with paper color, accent color, and font pairing. It specifies output (tokens.css + Tailwind v4 @theme block). This distinguishes it from siblings like generate_tokens (likely predefined) and palette_fetch (retrieval).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage context: 'Use when a brief signals creative-intent (brand color, multi-vibe aesthetic, explicit custom request).' This helps the agent decide when to invoke. No exclusions or alternatives mentioned, but the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_genreA
Detect the most appropriate design genre from a product description or brief. Returns one of: editorial, modern-minimal, atmospheric, playful.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | Product description, brief, or design request text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the output behavior (returns one of four genres), which is helpful, but lacks details on whether the tool is read-only, requires authentication, or has side effects. The description is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that clearly communicates the purpose and output. It is front-loaded with the action and resource, and every part is informative. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema, no annotations), the description sufficiently covers input and output behavior. It lacks usage notes or error scenarios, but for a straightforward classification tool, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the single parameter 'brief' as 'Product description, brief, or design request text' with 100% coverage. The description adds no additional meaning beyond restating the input source. The baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: detecting the most appropriate design genre from a product description. It specifies the verb ('Detect'), the resource ('design genre'), and lists the possible return values ('editorial, modern-minimal, atmospheric, playful'). This uniquely distinguishes it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when a product description or brief needs genre classification, but it does not explicitly state when to prefer it over alternatives or when not to use it. No exclusion criteria or comparison with sibling tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_styleA
Evaluates a product description against all design systems and returns ranked style recommendations with scoring. USE THIS FIRST before generate_rules. Takes a product context (e.g. 'automotive gaming mouse', 'enterprise dashboard', 'luxury ecommerce') and returns the best-matching style, palette, archetype, and a step-by-step workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | Product description or context (e.g. 'automotive gaming mouse', 'enterprise admin dashboard', 'luxury fashion ecommerce') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses that it returns best-matching style, palette, archetype, and workflow. Mentions scoring and ranking. Lacks details on side effects or rate limits, but the tool is likely read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-load the action and output. No filler or repetition. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with no output schema, the description provides sufficient context: input examples, output components, and ordering. Could elaborate on 'all design systems' but adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of the single parameter with a description. Tool description adds concrete examples (e.g. 'automotive gaming mouse') and context that the parameter is a product context, enhancing understanding beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'evaluates' and resource 'product description against all design systems', specifies output 'ranked style recommendations with scoring'. Distinguishes from sibling by saying 'USE THIS FIRST before generate_rules'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use this tool relative to generate_rules. Provides example inputs. Does not specify when not to use it or list other alternatives, but gives clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_projectA
Export a complete project scaffold: tailwind.config.js, index.html, input.css, package.json, and component files. Returns all files as a structured manifest ready to write to disk.
| Name | Required | Description | Default |
|---|---|---|---|
| style | Yes | Design system: ant|carbon|fluent|atlassian|apple-hig|polaris|material|minimal|glass|neumorphism|neo-brutalism|claymorphism|skeuomorphism|swiss|swiss-archival|m3-pastel|neo-m3 | |
| palette | Yes | Color palette: pastel|dark|vibrant|mono | |
| archetype | Yes | Page archetype: dashboard|settings|table-detail|marketing-hero|editorial-landing | |
| projectName | No | Project name (default: my-project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full weight. It discloses the output format ('structured manifest ready to write to disk'), implying a read-only operation with no side effects. Additional detail on permissions or rate limits is absent but acceptable given the tool's nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant text. The main purpose is front-loaded, and every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately explains what the tool produces and in what format. Given no output schema, the description compensates with the 'structured manifest' detail. However, it lacks information on how to use the manifest or any prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter descriptions fully cover syntax. The description adds context about the output (structured manifest) but does not add semantic meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Export' and the resource 'complete project scaffold', listing specific files. It distinguishes from siblings like generate_template and generate_tailwind_config by emphasizing a multi-file scaffold output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (to export a scaffold), but provides no explicit guidance on when not to use or how it compares to sibling tools like generate_template or generate_tailwind_config.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_8state_componentA
Generate a complete 8-state component demo page (default, hover, focus, active, disabled, loading, error, success) for a given component kind. Returns a standalone HTML preview file with all states rendered.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Component kind |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses output format (standalone HTML) and states included, but does not mention side effects, read-only behavior, authentication needs, or rate limits. Without annotations, more detail would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundant words. Front-loaded with action and resource, then output specifics. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description fully explains what it does, what it produces, and the scope (all 8 states). Sufficient for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers parameter description fully ('Component kind'), and description reinforces it with 'for a given component kind'. No additional semantic detail beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly specifies verb 'Generate' and resource 'complete 8-state component demo page', listing all eight states. The description distinguishes this tool from siblings like 'get_component' and 'generate_template'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for generating a demo page with all states, but provides no explicit when/when-not guidance or comparison to alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_css_outputA
Generate framework-agnostic CSS output from a design style and palette. Supports vanilla CSS (tokens.css + base.css + components.css), CSS Modules (Button/Card/Input .module.css with all 8 states), SCSS (variables + mixins + BEM components), and css-variables-only (tokens with auto dark mode @media and [data-theme='dark']). Returns an array of named files ready to save to disk.
| Name | Required | Description | Default |
|---|---|---|---|
| style | Yes | Design system slug (e.g. glass, neo-brutalism, minimal, material) | |
| format | Yes | Output format | |
| palette | Yes | Color palette |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It describes output as an array of named files ready to save, but lacks detail on side effects, idempotency, or authentication needs. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no unnecessary words. The first sentence states the core purpose, and the second lists formats efficiently. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers output format and structure but does not explain how to obtain valid style or palette slugs (e.g., via list_options). Given the lack of output schema and annotations, some context is missing for a fully self-contained tool definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal value for parameter semantics. It repeats the purpose of 'style', 'palette', and 'format' with slight elaboration on format outputs, but does not enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates CSS output from a design style and palette, listing specific formats (vanilla, CSS Modules, SCSS, css-variables-only). This distinguishes it from sibling tools like generate_tailwind_config or generate_motion_snippet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for generating CSS output when a design style and palette are known, but it does not explicitly state when to use this tool versus alternatives, nor does it mention prerequisites like style availability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_motion_snippetA
Generate a ready-to-paste anime.js v4 animation snippet for a given motion category and design style. Returns CDN link, code snippet, usage hint, and reduced-motion note. Categories: entrance, micro, stagger, scroll, loader, transition, counter, typewriter. All snippets include prefers-reduced-motion guards.
| Name | Required | Description | Default |
|---|---|---|---|
| style | Yes | Design system (e.g. glass, neo-brutalism, claymorphism, material, minimal, etc.). Adjusts easing and duration to match the system's motion character. | |
| category | Yes | Animation category: entrance=page load, micro=button/chip interactions, stagger=list/grid reveal, scroll=IntersectionObserver-triggered, loader=spinner, transition=page transitions, counter=number counters, typewriter=text reveal |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description discloses key behaviors: returns specific components (CDN link, code snippet, usage hint, reduced-motion note), includes prefers-reduced-motion guards, and explains that style adjusts easing/duration. This adds value beyond basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no fluff. The first sentence states the primary action and return value. Subsequent sentences list categories and note about reduced-motion. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with 100% schema coverage and no output schema, the description covers what the tool does, what it returns, and key behavioral notes. It does not discuss error handling or usage details, but those are minimal expectations for a generation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters described in schema). Description adds context: 'style adjusts easing and duration', and lists the enum values inline. This enriches the meaning beyond the schema's field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it generates an anime.js v4 animation snippet for a given motion category and design style, listing all 8 categories. The verb 'generate' and resource 'motion snippet' are specific, distinguishing it from siblings like generate_template or generate_css_output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides context on when to use (to get a ready-to-paste snippet) and what is returned (CDN link, code, usage hint, reduced-motion note). It does not explicitly exclude alternatives, but the sibling tools have distinct purposes, making the context sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_palette_variantsA
Generate light, dark, high-contrast, muted, and vivid variants from a set of hex colors. Useful for theming and responsive color systems.
| Name | Required | Description | Default |
|---|---|---|---|
| colors | Yes | Array of hex color strings, e.g. ["#3b82f6", "#8b5cf6"] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It fails to mention how many variants are generated, any constraints (e.g., minimum colors), or side effects. The description only states the action without depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core action and purpose. Every word earns its place; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input (1 param, no output schema), the description covers the basic 'what it does' but omits details about output format, number of variants, or error conditions. Slightly incomplete for a tool with no annotations and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the only parameter 'colors'. The tool description adds no further semantic meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Generate ... variants' and the resource 'a set of hex colors', listing specific variant types (light, dark, etc.). This distinguishes it from sibling tools like palette_fetch or palette_convert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'useful for theming and responsive color systems', providing usage context but no explicit when-to-use or when-not-to-use guidance, nor comparison to alternatives. The usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_rulesA
Generate design rules for a style + palette + optional archetype/hybrid. IMPORTANT: Run evaluate_style first to determine the best style for your product context. Only use this tool after evaluation confirms the style choice.
| Name | Required | Description | Default |
|---|---|---|---|
| style | Yes | Design system: ant|carbon|fluent|atlassian|apple-hig|polaris|material|minimal|glass|neumorphism|neo-brutalism|claymorphism|skeuomorphism|swiss|swiss-archival|m3-pastel|neo-m3 | |
| hybrid | No | Optional secondary system for hybrid mode | |
| palette | Yes | Color palette: pastel|dark|vibrant|mono | |
| tailwind | No | Include Tailwind CSS rules | |
| archetype | No | Optional page archetype: dashboard|settings|table-detail|marketing-hero|editorial-landing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool generates design rules, but does not disclose behavioral traits such as whether it modifies data, has side effects, or any required permissions. The description is minimal beyond the core function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The purpose is front-loaded, and the usage note is concise. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does not explain what the generated rules look like or their structure. It is adequate for basic usage given the prerequisite instruction, but leaves ambiguity about the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 5 parameters. The description repeats the main parameters (style, palette, archetype, hybrid) but adds no additional meaning or syntax details beyond what is in the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates design rules for a style, palette, and optional archetype/hybrid. It uses a specific verb and resource, but does not explicitly distinguish from sibling tools like generate_tailwind_config or generate_css_output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to run evaluate_style first and only use after evaluation confirms the style choice, providing clear guidance on when to use the tool. Does not mention when not to use or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_tailwind_configA
Generate a ready-to-use tailwind.config.js for a design style + palette combination. Returns the full config object and module.exports code string.
| Name | Required | Description | Default |
|---|---|---|---|
| style | Yes | Design system: ant|carbon|fluent|atlassian|apple-hig|polaris|material|minimal|glass|neumorphism|neo-brutalism|claymorphism|skeuomorphism|swiss|swiss-archival|m3-pastel|neo-m3 | |
| palette | Yes | Color palette: pastel|dark|vibrant|mono |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavior. It states the return value ('full config object and module.exports code string'), which is useful, but does not disclose side effects, permissions, or idempotency. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys the tool's purpose and output. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description at least mentions the return format. However, it lacks context on how this tool relates to siblings, which limits completeness for an agent determining which tool to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for both parameters. The description adds no additional meaning beyond what the schema already provides, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('Generate') and the resource ('tailwind.config.js'), and it distinguishes the tool from siblings by focusing on a design style and palette combination, which is unique among similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like generate_css_output or generate_tokens. The description lacks context on prerequisites, constraints, or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_templateA
Generate a full HTML starter page for a style + palette + archetype combination. IMPORTANT: Run evaluate_style first to determine the best style/palette/archetype for your product context.
| Name | Required | Description | Default |
|---|---|---|---|
| style | Yes | Design system: ant|carbon|fluent|atlassian|apple-hig|polaris|material|minimal|glass|neumorphism|neo-brutalism|claymorphism|skeuomorphism|swiss|swiss-archival|m3-pastel|neo-m3 | |
| palette | Yes | Color palette: pastel|dark|vibrant|mono | |
| archetype | Yes | Page archetype: dashboard|settings|table-detail|marketing-hero|editorial-landing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It adds the pre-condition (run evaluate_style) but does not disclose other behavioral traits such as side effects, idempotency, or whether it overwrites existing files. The description is adequate but could be more detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences. The first states the primary purpose, the second gives a crucial usage instruction. No redundant words; highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the tool's purpose and prerequisite. However, without an output schema, it does not explain what the generated HTML page looks like or any constraints. Slightly more detail on the output would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all three parameters (style, palette, archetype). The description merely lists them without adding new semantics beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a 'full HTML starter page' given three inputs (style, palette, archetype). It uses a specific verb and resource, and distinguishes from sibling tools like generate_rules or generate_css_output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to run evaluate_style first, providing a clear prerequisite and recommended sequence. It does not state when not to use the tool, but the guidance is helpful for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_tokensB
Generate a complete design token system (tokens.css) based on a named theme or genre. Returns CSS custom properties for colors (OKLCH), fonts, spacing, text sizes, easings, durations, and radii. Can also output a Tailwind v4 @theme block.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | Genre to pick a theme from (ignored if theme_name provided) | |
| last_theme | No | Previous theme name for diversification | |
| theme_name | No | Named theme: Specimen|Atelier|Newsprint|Studio|Manifesto|Brutal|Terminal|Midnight|Bloom|Aurora|Cobalt|Coral|Hum|Garden|Sport|Carnival | |
| last_accent | No | Previous accent hue for diversification |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool returns CSS custom properties (colors, fonts, etc.) and can output a Tailwind block. However, it does not clarify whether the output is a file or string, or if there are side effects like file creation. This is a moderate level of transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and concise, front-loading the main purpose. However, it could be more structured (e.g., listing output categories more clearly) to improve readability, but it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description should provide more detail. It lists output categories but does not specify the return format (e.g., string, file path) or behavior regarding file creation. This leaves important gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the descriptions in the schema already explain parameters thoroughly. The tool description does not add significant new meaning beyond what is in the schema, such as relationship between genre and theme_name (already in schema). Therefore, the description adds minimal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a complete design token system (tokens.css) based on a named theme or genre, listing specific CSS custom properties and an optional Tailwind output. This is specific and distinguishes it from sibling tools like palette_fetch or generate_tailwind_config.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, scenarios for choosing genre versus theme_name, or typical use cases. The context of many sibling tools makes this lack of differentiation a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_componentA
Get a production-ready component snippet styled for a specific design system. Supports HTML (Tailwind), React (TSX functional component with typed props), and Vue 3 (SFC with script setup). IMPORTANT: Run evaluate_style first to confirm the style choice.
| Name | Required | Description | Default |
|---|---|---|---|
| style | Yes | Design system: ant|carbon|fluent|atlassian|apple-hig|polaris|material|minimal|glass|neumorphism|neo-brutalism|claymorphism|skeuomorphism|swiss|swiss-archival|m3-pastel|neo-m3 | |
| component | Yes | Component type | |
| framework | No | Output framework (default: html). 'react' returns a TypeScript FC with typed props. 'vue' returns a Vue 3 SFC with script setup. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It does not disclose side effects, authentication needs, rate limits, or what the returned snippet looks like, beyond what is in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The key purpose is front-loaded, and the important prerequisite is highlighted. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description provides a basic understanding but lacks details on the exact format of the snippet. Given the tool's complexity and sibling diversity, a bit more context would help, but it is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has a description. The tool description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'gets a production-ready component snippet' for a design system, with verb and resource. It mentions supported frameworks, but does not explicitly differentiate from siblings like get_reference or generate_rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to 'run evaluate_style first', providing a clear prerequisite and context for when to use this tool. It does not mention when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cross_cutting_rulesA
Get standalone cross-cutting design rules by category. Categories: icons, accessibility, motion, tokens, responsive, tailwind. Returns the rules as a formatted string.
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Cross-cutting rule category |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns a 'formatted string,' which is helpful. However, it does not mention any potential side effects, authorization requirements, rate limits, or behavior on invalid categories. Basic transparency is achieved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states the core action and scope; second lists categories and return format. No wasted words, well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description adequately covers the purpose and return format. It could optionally mention that the rules are 'standalone' as noted, which adds value. Lacks distinction from siblings, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single 'category' parameter fully described via enums. The description restates the enum values (icons, accessibility, etc.) and clarifies they are 'categories,' but adds little beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get standalone cross-cutting design rules by category.' It uses a specific verb ('Get') and resource ('rules by category'), listing six categories. This distinguishes it from sibling tools like generate_rules (which creates rules) and get_reference (which likely fetches different content).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (when you need rules for a specific category) but provides no explicit guidance on when not to use it or alternatives. It lists categories but does not differentiate from similar tools like get_reference or audit_accessibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ellis_ui_templateB
Fetch the HTML structure and CSS logic of a specific Ellis UI design system (e.g., 'backup_dossier' or 'backup_gameboy'). Returns both the design.md guidelines and the root index.html template.
| Name | Required | Description | Default |
|---|---|---|---|
| design_name | Yes | The folder name of the design (e.g. backup_nutrition, backup_gameboy, backup_swiss_archival) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the tool fetches and returns content, but does not mention any behavioral traits such as authentication needs, rate limits, caching, or side effects. For a simple read operation, this is insufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the action with examples, then stating the return value. There is no redundant information; every sentence earns its place. This is highly concise for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description must describe the return format. It states it returns both design.md guidelines and index.html template, but does not specify the structure (e.g., JSON keys, raw text). This leaves ambiguity for an AI agent. For a simple tool with one parameter, it is partially complete but lacking in return structure detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'design_name', with examples in both schema and description. The description adds examples consistent with the schema but does not provide deeper semantic meaning beyond what the schema already conveys. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches HTML structure and CSS logic for a specific Ellis UI design, with examples of design names like 'backup_dossier'. It also distinguishes itself by specifying the return of both design.md and index.html, differentiating it from siblings like 'get_component' or 'list_ellis_ui_designs'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives such as 'get_reference' or 'get_component'. It only states what it does without context about prerequisites, exclusion criteria, or sibling relationships. The agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_referenceA
Return the full content of a reference document by name (e.g. 'ant-design', 'accessibility', 'design-tokens', 'getdesign-md').
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Reference file name without .md extension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description says 'Return the full content,' which implies a read operation. However, it does not disclose potential behaviors like error handling on missing names, or any side effects, making it adequate but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded. Every word adds value, and there is no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter, the description provides sufficient context. It could mention the output format (e.g., markdown), but given the tool's simplicity, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description covers the parameter with 100% coverage, stating 'Reference file name without .md extension'. The description adds examples but does not provide additional meaning beyond what the schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Return') and the resource ('full content of a reference document'), and provides specific examples. It distinguishes from sibling tools by focusing on reference documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving reference documents, but does not explicitly state when to use this tool versus alternatives or provide exclusions. No additional guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ellis_ui_designsA
List all 24 bespoke Ellis UI component design templates with their specific aesthetic focus.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It explains the tool lists templates with aesthetic focus but does not mention any behavioral traits such as potential filtering, ordering, or limitations. A simple read-only list, but still no side-effect or constraint disclosure beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, informative sentence that immediately states the action, resource, and scope. No wasted words; every part contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and zero parameters, the description adequately indicates what the tool returns (templates with aesthetic focus). It could mention if results are complete or paginated, but for a simple list tool, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters in the input schema (schema coverage 100%). The description adds meaning by specifying the content ('bespoke Ellis UI component design templates') and the attribute ('aesthetic focus'), surpassing the empty schema. With 0 parameters, baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear verb ('List'), a distinct resource ('bespoke Ellis UI component design templates'), and includes a specific count ('24') and attribute ('aesthetic focus'). This clearly differentiates it from sibling tools like 'list_options' or 'list_themes'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing Ellis UI designs but provides no explicit guidance on when to use this tool versus alternatives such as 'list_options' or 'list_themes'. No when-not-to-use or contextual cues are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_installed_skillsA
Detect and list all installed skill submodules alongside this MCP. Shows which skills are available for standalone use and what capabilities they provide.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. Indicates read-only behavior ('detect and list'), but does not specify if there are side effects, authorization needs, or performance impacts. Adequate but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded, no wasted words. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple list tool with no parameters and no output schema. Describes purpose and output briefly, but could mention if additional info like versions is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters; baseline 4 per guidelines. Description does not need to add parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verbs 'Detect and list' and clearly identifies the resource as 'installed skill submodules'. It distinguishes from sibling tools like list_themes or list_options by focusing on skill submodules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage when wanting to know available skills, but no explicit when-to-use or when-not-to-use guidance. No alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_optionsA
List all available design systems, palettes, archetypes, and valid hybrid combinations.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description does not disclose whether the tool is read-only, requires permissions, or has side effects. For a simple listing tool, stating it is non-destructive would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the tool's purpose. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers what is listed, it omits details about the output format or pagination, which are relevant for a list tool. Given no output schema or annotations, the description should provide more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100% (empty). The description adds meaning by specifying the types of items listed, which is sufficient given no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool lists: design systems, palettes, archetypes, and hybrid combinations. It uses specific verbs ('List') and resources, and distinguishes from siblings like 'palette_fetch' or 'list_themes' by being more comprehensive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives like 'palette_fetch' or 'get_reference'. The description implies it's for broad listing, but lacks explicit context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_themesB
List all available named themes, optionally filtered by genre. Each theme includes paper/accent OKLCH values, font pairing, and axis metadata for diversification.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | Optional genre filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a safe read operation via the word 'list' and describes output content (OKLCH values, font pairing, axis metadata). However, it does not explicitly state read-only behavior, authentication needs, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and includes relevant output details. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool returns (list of themes with specific properties), compensating for the missing output schema. It does not mention ordering, pagination, or empty result handling, but those are minor for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter has full schema documentation with enum values. The description adds no new info beyond the schema, just restates optional filtering. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all available named themes, with optional genre filtering. It specifies the resource (themes) and action (list). However, it does not distinguish from sibling list tools like list_options or list_installed_skills.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus other tools. The description only mentions optional filtering, but does not explain scenarios where this tool is preferred over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palette_convertA
Convert palette JSON from palette_fetch into CSS, Tailwind, SCSS, Figma tokens, Android XML, or Swift.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Output format | |
| palettes | Yes | Palette array from palette_fetch JSON output |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It describes the conversion operation but does not mention side effects, idempotency, error conditions, or output format details. For a simple conversion tool, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs all essential information: action, input source, output targets. No wasted words, well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the core purpose and inputs adequately. It specifies the input source and output formats, which is sufficient for a straightforward conversion tool. It could add details about the output (e.g., string or file) but not strictly necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents both parameters adequately. The description adds little new meaning beyond restating that 'palettes' come from palette_fetch (already in schema) and enumerating target formats (already in enum). It does not explain the format or constraints of palettes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (convert) and the resource (palette JSON from palette_fetch) and specifies the supported target formats (CSS, Tailwind, SCSS, Figma tokens, Android XML, Swift). It is specific and distinguishes this tool from sibling tools like palette_fetch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: after obtaining palette JSON via palette_fetch. It mentions the source and target formats, providing clear context. However, it does not explicitly state when not to use it or list alternatives, though the sibling set includes other conversion tools like generate_css_output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palette_fetchB
Fetch live color palettes from Color Hunt.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Fetch mode | |
| limit | No | Number of palettes (default 5) | |
| query | No | Search query (when mode=query) | |
| theme | No | Theme name (when mode=theme) | |
| format | No | Output format (default json) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states 'live' but lacks details on behavior (e.g., rate limits, caching, error handling, response format). For a data-fetching tool, more behavioral disclosure is expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant words. It effectively communicates the core purpose in minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and five parameters with enums, the description is too minimal. It fails to explain what the tool returns, pagination, or how to interpret results. A more complete description would aid agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes all parameters with enums and types. The description adds no additional meaning beyond the schema, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Fetch live color palettes from Color Hunt' clearly specifies the verb (fetch), resource (color palettes), and source (Color Hunt), distinguishing it from siblings like palette_convert or generate_palette_variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., palette_convert, generate_palette_variants). The description does not mention prerequisites, when not to use, or contextual triggers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pre_flight_scanA
Scan an existing project directory and detect framework, font stack, palette tokens, motion libraries, and spacing scale before designing. Returns structured pre-flight findings with preservation/introduction recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | No | Absolute path to the project root. Defaults to MCP root if omitted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It states the tool 'detects' and 'returns structured findings with recommendations', implying read-only analysis. It does not detail side effects or permissions, but 'scan' suggests non-destructive behavior. Additional context on output structure would strengthen transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the purpose and key actions. Every word is meaningful, no fluff. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one optional parameter and no output schema, the description sufficiently covers what the tool does, what it detects, and what it returns (structured findings with recommendations). It is complete for the intended use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter (project_path), so baseline is 3. The description adds that it scans an 'existing project directory' and defaults to MCP root, which aligns with the schema description. No extra semantics beyond schema are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scans a project directory and detects specific design elements (framework, font stack, etc.), with a clear verb 'Scan' and resource 'existing project directory'. It distinguishes from sibling tools like 'audit_accessibility' or 'detect_genre' by focusing on pre-flight design detection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'before designing', providing clear context for when to use. It implies it should be used to gather existing settings before starting design work, but does not explicitly exclude scenarios or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
self_critiqueA
Score output on 6 quality axes (Philosophy, Hierarchy, Execution, Specificity, Restraint, Variety) before shipping. Returns 1-5 per axis and a summary score. Anything < 3 triggers a revision pass.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | HTML/CSS content to score |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that it scores on 6 axes, returns 1-5 per axis plus a summary, and triggers a revision pass if any score <3. This covers key behavior, though the mechanics of the 'revision pass' are ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy. Front-loaded with the core action ('Score output on 6 quality axes') and includes all necessary information without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single parameter and no output schema, the description is fairly complete: it specifies output format (1-5 per axis, summary) and a condition for revision. It could clarify the revision trigger's automation level, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'content' parameter with a basic description. The tool description adds value by explaining that the content is scored on 6 quality axes, going beyond the schema's minimal description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scores output on 6 named quality axes (Philosophy, Hierarchy, Execution, Specificity, Restraint, Variety) before shipping, returning scores and triggering revision. The verb 'score' and resource 'output on 6 axes' are specific, and no sibling tool duplicates this function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'before shipping' as a temporal clue but does not explicitly state when to avoid using this tool or suggest alternatives. Usage context is implied but not fully directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_comboA
Validate a style + palette + optional hybrid combination before generating rules.
| Name | Required | Description | Default |
|---|---|---|---|
| style | Yes | ||
| hybrid | No | ||
| palette | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits beyond the basic validation action. It does not state if the tool is read-only, has side effects, or requires specific permissions, leaving the agent to guess.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the tool's purpose with no extraneous words. Every part is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool having three parameters and no output schema or annotations, the description provides only minimal context about its purpose. It fails to specify parameter details, return value, or error conditions, making it insufficient for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only lists parameter names without adding any meaning or format constraints. It does not explain what 'style', 'palette', or 'hybrid' represent, leaving the agent with the same level of ambiguity as the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates a combination of style, palette, and optional hybrid, explicitly linking it as a prerequisite to generating rules. This distinguishes it from sibling tools like 'generate_rules'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates the tool should be used 'before generating rules', providing clear temporal context. However, it does not mention when not to use it or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Tool purposes are mostly distinct with detailed descriptions, but the large number of tools and some overlap between generation-oriented tools (e.g., generate_rules vs generate_tailwind_config) could cause occasional misselection.
All tool names follow a consistent verb_noun pattern with snake_case, making them predictable and easy to parse. No mixed conventions.
With 29 tools, the set is overly large for the domain. While the tools are individually valuable, the count exceeds the 15-25 range where coherence typically suffers, and many tools overlap in purpose.
The tool surface covers the full design workflow: evaluation, palette management, rule/token generation, accessibility auditing, and export. Minor gaps exist (e.g., lack of a dedicated update tool for generated artifacts), but overall it's thorough.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Turn any live website into brand colors, fonts, design tokens, SVGs, Lottie and paste-ready code.
Search brands and retrieve design assets, company data, other brand context from Brandfetch's API
Build and manage your design system with AI: tokens, themes, components, icons, Figma and code.
Read-only access to your Guidelines brands: colors, fonts, logos and Guide pages as markdown.
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides deterministic design style recommendations and structured tokens for AI content generation, with 30 curated styles including color palettes, typography, and visual directives.2168MIT
- AlicenseNot gradedqualityDmaintenanceExtracts brand identity (colors, typography, spacing) from any website and generates HTML/CSS replicas or applies branding to templates.1MIT
- AlicenseNot gradedqualityFmaintenanceGenerates complete brand identity systems including colors, typography, logos, and design tokens with 58 MCP tools. Supports multi-format export and AI-assisted refinement.2052MIT

Brandfetch MCP Serverofficial
AlicenseNot gradedqualityAmaintenanceEnables AI assistants to search and retrieve brand data, logos, design assets, and brand context via the Brandfetch API.9MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/1999AZZAR/designer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server