MCP server exposing the frontendmaxxing snippet vault (800+ snippets) to AI agents (Claude Desktop, Cursor, Claude Code) — BM25 search, companion-aware bundling, skill docs, structured output.
22 tools with consistent naming (verb_noun pattern: get_, list_, search_, etc.) and descriptions present for all. However, input schemas lack critical detail: most parameters have type and description, but output schemas are entirely undocumented. No error handling guidance, no pagination metadata (limit/offset/cursor), no per-tool risk annotations. Descriptions average ~120 chars (within baseline 194), but lack actionable constraints (enums, ranges, format specs). Tools like 'compose_page' and 'coherence_check' accept complex nested structures (sections array, HTML/CSS strings) with minimal schema documentation. No evidence of idempotency markers, confirmation patterns for destructive ops, or recovery guidance.
Apply design system tokens and markdown-based design specifications to generate component CSS.
Check design coherence of a composed page against taste presets and design system rules.
Compose a full page layout by combining snippets, design tokens, and taste presets into a cohesive HTML/CSS/JS bundle.
Get the design system configuration including typography, spacing, colors, and component tokens.
Retrieve the AGENTS.md documentation file with agent integration guidance.
Retrieve the full content of a skill documentation file.
Get usage examples and code snippets for a given component or pattern.
Output schemas completely undocumented. No tool declares what fields it returns, data types, or structure. LLMs cannot plan downstream calls or extract required data without trial-and-error.
Complex nested input structures (compose_page.sections array, coherence_check HTML/CSS strings) lack schema validation, format specs, or constraints. No guidance on required vs optional fields, array length limits, or string format expectations.
No pagination support documented. Tools returning lists (list_components, search_components, list_palettes, list_skills) lack limit/offset/cursor parameters and total_count fields. Large result sets will blow context windows.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2025-06-18+ | v2 |
Retrieve a specific color palette with all color values and CSS variable definitions.
Get companion snippets and tag-similar neighbours for a given snippet.
Retrieve a skill documentation file by name.
Get a single snippet with full source code, companion CSS/JS pair, usage instructions, variants, and live-demo link.
Retrieve the raw source code of any file in the vault by path.
Retrieve a specific taste preset with all aesthetic, density, motion, and typography tokens.
List all snippet categories (folders) with descriptions and snippet counts.
List all snippets in a given category (folder), with file names, descriptions, and tags.
List all available skill documentation files (*.skill.md).
List all available color palettes with names and descriptions.
List all available skill documentation files with metadata.
List all available taste/composition presets (aesthetic, density, motion, font-pair combinations).
Get a high-level overview of the frontendmaxxing vault: folder count, snippet count, featured snippets, and quick-start guidance.
Get snippet recommendations based on a design brief or use-case description.
Search snippets using BM25 full-text search with synonym expansion, fuzzy matching, and typo tolerance.
No error handling guidance. Tools provide no recovery hints, error classification, or actionable messages. If search_components returns empty or get_snippet fails, LLM has no guidance on next steps.
Parameter descriptions lack actionable constraints. 'folder' param accepts any string with no enum of valid categories. 'limit' param has no min/max bounds. 'query' param has no length or format spec. LLMs will pass invalid values.