Material Color Utilities MCP Server with Streamable HTTP Transport
Single-tool server with Material Color Utilities. Tool has good naming (verb_noun pattern: 'generate_corepalette_colors'), complete input schema with regex validation, and clear description. However, output schema is not documented in source code, only inferred from test file. Parameter descriptions are present and reasonably clear. No error handling documentation, no resource composition patterns visible. This is a narrow, focused tool that does one thing well, but lacks the multi-tool design patterns and comprehensive documentation needed for higher scores.
Generate the six key colors from Material Color Utilities CorePalette
Output schema not documented. Test file shows results are parsed from JSON text within content[0].text, but the MCP server code does not explicitly declare the output structure (CorePalette fields: primary, secondary, tertiary, neutral, neutralVariant, error). LLMs cannot infer what fields to expect or plan downstream operations.
No error handling documentation. Tool description does not explain what happens if seedColor is invalid, API fails, or CorePalette generation fails. LLMs have no guidance on whether to retry, ask the user, or how to recover.
Tool description lacks context on WHEN to use it and WHAT it returns. Current: 'Generate the six key colors from Material Color Utilities CorePalette'. Missing: explanation of use cases (theming, design systems), what the output colors are (primary, secondary, tertiary, etc.), and when to call this vs other color tools (if any existed).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 62 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 47 | - | v1 |
seedColor parameter description includes an example ('#6200EE') but no enum or explicit set of valid formats beyond the regex pattern. While the regex is present, the description should state: 'Hex color code with 6 or 8 hex digits, with optional # prefix (e.g. FF0062 or #FF0062FF)'. Current phrasing 'Seed color hex code (e.g. #6200EE)' might tempt LLMs to treat the example as representative rather than understanding the full format space.