Skip to main content
Glama
1999AZZAR
by 1999AZZAR

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.

MIT License TypeScript

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.

Blotcat at the design pipeline: scan → evaluate → rules → tokens, 17 systems

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_css field ships both :root and @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 the framework param.

  • CSS Output Engine — Generate vanilla CSS, CSS Modules (Button/Card/Input with all 8 states), SCSS (variables + mixins + BEM), or a single tokens.css with 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_snippet for 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

Blotcat balancing the full output stack — tokens.css, components, anime.js, WCAG audit — one prompt in, OKLCH out

Core Design Flow

Tool

Description

evaluate_style

Score 17 design systems against product context

detect_genre

Classify brief into editorial / modern-minimal / atmospheric / playful

pre_flight_scan

Scan existing project for framework, fonts, palette, motion libs

generate_rules

Generate design rules for style + palette + archetype/hybrid

generate_tailwind_config

Generate ready-to-use tailwind.config.js

get_cross_cutting_rules

Get standalone rules (a11y, motion, icons, tokens, responsive)

Theme & Token System

Tool

Description

generate_tokens

Generate complete OKLCH token system. Returns css (light :root), full_css (light + dark @media + [data-theme="dark"] overrides), dark_css, dark_tokens

list_themes

List all 16 themes with OKLCH values, fonts, axis metadata

build_custom_tokens

Build custom OKLCH token system from paper/accent/font values — also emits dark mode derivation

Quality Gates

Tool

Description

anti_pattern_check

Run 31-gate slop test on HTML/CSS

self_critique

Score output on 6 quality axes (P-H-E-S-R-V) — anything < 3 triggers revision

audit_accessibility

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

generate_template

Full HTML starter page — ships with anime.js v3 animations

get_component

Production-ready component. framework param: html (default) | react (TypeScript FC with motion/react physics) | vue (SFC with script setup)

generate_8state_component

Standalone HTML preview with all 8 interactive states — animated via anime.js spring physics

generate_palette_variants

Light/dark/high-contrast variants from hex colors

export_project

Full project scaffold (config + HTML + components)

CSS Output

Tool

Description

generate_css_output

Framework-agnostic CSS generation from style + palette. Formats: vanilla (tokens.css + base.css + components.css) | css-modules (Button/Card/Input .module.css with all 8 states) | scss (_tokens + _mixins + _components + main.scss) | css-variables-only (tokens.css with auto dark mode). Returns named files array ready to save.

Motion (motion.dev & anime.js)

Tool

Description

generate_motion_snippet

Generate a ready-to-paste motion.dev or anime.js snippet matched to the current design style's physics and easing. Supports 8 categories: entrance, micro, stagger, scroll, loader, transition, counter, typewriter. Every snippet includes a prefers-reduced-motion guard.

Color & Palette

Tool

Description

palette_fetch

Fetch live palettes from Color Hunt

palette_convert

Convert palette JSON to CSS / Tailwind / SCSS / Figma / Android / Swift

Brand References

Tool

Description

brand_fetch_design_md

Download DESIGN.md for a real brand

brand_list

List all 328+ brands by category

Utility

Tool

Description

list_options

List all available systems, palettes, archetypes, hybrids

validate_combo

Validate style + palette + hybrid combo

get_reference

Pull full content of any reference doc

list_installed_skills

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

glass

easeOutQuart / [0.16, 1, 0.3, 1]

700ms

claymorphism

spring(1, 80, 10, 0) / bounce: 0.4

600ms

neo-brutalism

easeInOutExpo / [0.87, 0, 0.13, 1]

400ms

material

cubicBezier(0.4, 0, 0.2, 1)

300ms

apple-hig

spring(1, 100, 18, 0) / bounce: 0.2

550ms

swiss

linear

200ms

m3-pastel

spring(1, 80, 12, 0) / bounce: 0.3

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 build

Requirements: Node.js >= 18

Usage

npm start
npx @modelcontextprotocol/inspector node dist/index.js

Architecture

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-designer skill: Provides the design intelligence, heuristics, and brand context so the AI knows what to ask the MCP to generate.

  • color-palette-hunter skill: Handles external palette sourcing and feeds them into the OKLCH token engine.

  • motion-designer skill: Defines SOTA animation heuristics, spring physics logic, and motion.dev best 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

Blotcat stamping the 31-gate checklist — HTML/CSS queued left, rejected crumpled right, score < 3 → revise

  • 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 text

  • OKLCH-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

UI_DESIGNER_SKILL_PATH

skills/ui-designer

Path to the ui-designer skill references

COLOR_PALETTE_HUNTER_PATH

skills/color-palette-hunter

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

MIT

Available Tools

29 tools
anti_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
genreNoGenre for scoped gate applicationeditorial
contentYesHTML or CSS content to check

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlYesFull HTML string to audit

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.).

ParametersJSON Schema
NameRequiredDescriptionDefault
brandYesBrand slug, e.g. 'stripe', 'vercel', 'linear.app', 'claude'

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional category filter: productivity-saas|developer-tools|ai-ml|fintech|design-creative|ecommerce|media-consumer|automotive-luxury|legacy-archival

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_cYesPaper chroma (0-50)
paper_hYesPaper hue (0-360)
paper_lYesPaper lightness (0-100)
accent_cYesAccent chroma (0-50)
accent_hYesAccent hue (0-360)
accent_lYesAccent lightness (0-100)
font_bodyYesBody font stack, e.g. 'Inter', system-ui, sans-serif
font_monoNoOptional mono font stack (default: JetBrains Mono)
font_displayYesDisplay font stack, e.g. 'Instrument Serif', Georgia, serif

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
briefYesProduct description, brief, or design request text

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesProduct description or context (e.g. 'automotive gaming mouse', 'enterprise admin dashboard', 'luxury fashion ecommerce')

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYesDesign system: ant|carbon|fluent|atlassian|apple-hig|polaris|material|minimal|glass|neumorphism|neo-brutalism|claymorphism|skeuomorphism|swiss|swiss-archival|m3-pastel|neo-m3
paletteYesColor palette: pastel|dark|vibrant|mono
archetypeYesPage archetype: dashboard|settings|table-detail|marketing-hero|editorial-landing
projectNameNoProject name (default: my-project)

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesComponent kind

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYesDesign system slug (e.g. glass, neo-brutalism, minimal, material)
formatYesOutput format
paletteYesColor palette

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYesDesign system (e.g. glass, neo-brutalism, claymorphism, material, minimal, etc.). Adjusts easing and duration to match the system's motion character.
categoryYesAnimation 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

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
colorsYesArray of hex color strings, e.g. ["#3b82f6", "#8b5cf6"]

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYesDesign system: ant|carbon|fluent|atlassian|apple-hig|polaris|material|minimal|glass|neumorphism|neo-brutalism|claymorphism|skeuomorphism|swiss|swiss-archival|m3-pastel|neo-m3
hybridNoOptional secondary system for hybrid mode
paletteYesColor palette: pastel|dark|vibrant|mono
tailwindNoInclude Tailwind CSS rules
archetypeNoOptional page archetype: dashboard|settings|table-detail|marketing-hero|editorial-landing

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYesDesign system: ant|carbon|fluent|atlassian|apple-hig|polaris|material|minimal|glass|neumorphism|neo-brutalism|claymorphism|skeuomorphism|swiss|swiss-archival|m3-pastel|neo-m3
paletteYesColor palette: pastel|dark|vibrant|mono

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYesDesign system: ant|carbon|fluent|atlassian|apple-hig|polaris|material|minimal|glass|neumorphism|neo-brutalism|claymorphism|skeuomorphism|swiss|swiss-archival|m3-pastel|neo-m3
paletteYesColor palette: pastel|dark|vibrant|mono
archetypeYesPage archetype: dashboard|settings|table-detail|marketing-hero|editorial-landing

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
genreNoGenre to pick a theme from (ignored if theme_name provided)
last_themeNoPrevious theme name for diversification
theme_nameNoNamed theme: Specimen|Atelier|Newsprint|Studio|Manifesto|Brutal|Terminal|Midnight|Bloom|Aurora|Cobalt|Coral|Hum|Garden|Sport|Carnival
last_accentNoPrevious accent hue for diversification

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYesDesign system: ant|carbon|fluent|atlassian|apple-hig|polaris|material|minimal|glass|neumorphism|neo-brutalism|claymorphism|skeuomorphism|swiss|swiss-archival|m3-pastel|neo-m3
componentYesComponent type
frameworkNoOutput framework (default: html). 'react' returns a TypeScript FC with typed props. 'vue' returns a Vue 3 SFC with script setup.

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryYesCross-cutting rule category

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
design_nameYesThe folder name of the design (e.g. backup_nutrition, backup_gameboy, backup_swiss_archival)

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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').

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesReference file name without .md extension

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
genreNoOptional genre filter

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesOutput format
palettesYesPalette array from palette_fetch JSON output

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesFetch mode
limitNoNumber of palettes (default 5)
queryNoSearch query (when mode=query)
themeNoTheme name (when mode=theme)
formatNoOutput format (default json)

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoAbsolute path to the project root. Defaults to MCP root if omitted.

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesHTML/CSS content to score

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYes
hybridNo
paletteYes

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

A3.7/5.0
Disambiguation4/5

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.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case, making them predictable and easy to parse. No mixed conventions.

Tool Count2/5

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.

Completeness4/5

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

ActivityActive
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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