Exposes the css-is-awesome design system (themes, mixins, functions, tokens, animations, components, recipes, docs) as MCP tools so any agent can discover the API surface and assemble prompts that consume the library correctly.
The css-is-awesome MCP server exposes 32 tools with consistent naming patterns (verb_noun structure) and documented descriptions. However, there are critical gaps in parameter descriptions, output schema documentation, and error handling guidance. All tools are READ_ONLY, which is positive for safety. The server follows a clear pattern of list/get/search variants for design system resources (themes, mixins, functions, tokens, animations, components, recipes) plus file readers and utility tools. However, most tools lack detailed schema documentation for their responses, only input schemas are visible. Parameter descriptions are present but often generic ('The name of the [resource] to retrieve'). No tools demonstrate error recovery guidance or structured error responses. The naming is consistently clear (get_theme, search_tokens, resolve_size), but descriptions average ~70 characters and lack actionable guidance on when to use each tool or what it returns structurally.
Assemble a prompt for a given intent with optional arguments
Get a specific animation by name from the css-is-awesome design system
Get a specific component by name from the css-is-awesome design system
Get a specific function by name from the css-is-awesome design system
Get a specific mixin by name from the css-is-awesome design system
Get a specific recipe by name from the css-is-awesome design system
Get a specific theme by name from the css-is-awesome design system
Output schemas are not documented. All 32 tools lack visible response schema documentation, LLMs cannot predict output structure or plan downstream tool chains effectively.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | 2026-07-28+ | v2 |
Get a specific design token by name from the css-is-awesome design system
Get the path-to-token mapping as data, optionally filtered by path
List all available animations in the css-is-awesome design system
List all available components in the css-is-awesome design system
List all available functions in the css-is-awesome design system
List all available mixins in the css-is-awesome design system
List all available recipes in the css-is-awesome design system
List all available themes in the css-is-awesome design system
List all available design tokens in the css-is-awesome design system
Read the AGENTS.md file from the css-is-awesome project
Read the CHANGELOG.md file from the css-is-awesome project
Read the CONTRACT.md file from the css-is-awesome project
Read the llm.txt documentation file from the css-is-awesome project
Read the MIGRATION.md file from the css-is-awesome project
Read the README.md file from the css-is-awesome project
Read the THEMING.md file from the css-is-awesome project
Read the THREE-TIERS.md file from the css-is-awesome project
Read the VERSIONING.md file from the css-is-awesome project
Resolve a size value in the css-is-awesome design system
Search for components matching a query in the css-is-awesome design system
Search for functions matching a query in the css-is-awesome design system
Search for mixins matching a query in the css-is-awesome design system
Search for themes matching a query in the css-is-awesome design system
Search for design tokens matching a query in the css-is-awesome design system
Generate a validated theme.css from design-tokens JSON
Generic parameter descriptions. Tools like get_theme, get_mixin, get_function, get_token, get_animation, get_component, get_recipe all use identical boilerplate: 'The name of the [resource] to retrieve'. No guidance on whether names are case-sensitive, unique, or how to discover them if unknown.
No error handling guidance. All tools are READ_ONLY with no documented error cases, recovery paths, or fallback behavior (e.g., what if a theme name is not found? Should the LLM call search_themes? Call list_themes?).
Redundant tool variants (list, get, search) across 6 resource types (themes, mixins, functions, tokens, animations, components, recipes) without clear composition guidance. When should an LLM call search_themes vs list_themes? Are there performance, latency, or cardinality differences?
read_* tools (read_llm_txt, read_changelog, etc.) have no pagination, size limit, or truncation guidance. A 10KB markdown file is manageable, but no description warns about context window impact or advises chunking for large docs.
theme_from_tokens accepts a bare 'tokens' object parameter with no schema documentation of the expected object structure (properties, types, constraints). An LLM cannot construct valid input without seeing examples or a formal schema.
assemble_prompt 'args' parameter accepts an open object with no documentation of allowed keys or expected structure. This invites hallucinated arg names.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) visible. All tools are READ_ONLY but no explicit annotation metadata, forces LLMs to infer safety from tool names alone.