MCP server for Hareru UI design system — exposes tokens, schema, and component registry to AI agents
Three tools with clear verb-noun naming (get_*) and basic descriptions. However, all tools lack documented output schemas, critical for LLM planning. Parameter descriptions are minimal (1-2 sentences). No error handling guidance, no pagination support, and no indication of what fields are returned. Descriptions are adequate (60-90 chars) but lack WHEN/WHY context. Tools are read-only and simple, but schema documentation is entirely absent, which violates pattern:tool and pattern:response-shaper.
Get usage documentation for a Hareru UI task bundle — components, CSS imports, and token categories
Get usage documentation for a Hareru UI component — import, structure, variants, props, states, accessibility, slots, and examples
Get CSS mode recommendation for a component based on usage context
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields without knowing what get-component-usage, get-bundle-usage, and get-css-mode-recommendation return.
Parameter descriptions are minimal. 'Component name (e.g. "Button", "Card", "Alert")' lacks guidance on valid values, format constraints, or error cases. Should state: 'Component name as registered in Hareru UI (case-sensitive, e.g. Button, Card, Alert). Call list-components first if unsure.'
No error handling guidance. If a component name is invalid or not found, what does the tool return? An error message? An empty object? LLMs need recovery hints like 'If component not found, try search_components() with a partial name.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
No discovery tools. Agents cannot enumerate available components or bundles without calling get-component-usage with guessed names. Add list-components and list-bundles tools to enable exploration.
Tool descriptions lack WHEN/WHY context. 'Get usage documentation for a Hareru UI component' does not explain when to call this vs get-bundle-usage, or what 'usage documentation' includes (props, slots, examples, accessibility?). Descriptions should be 50-200 chars with clear intent.