Expose your company's full design system to AI tools via the Model Context Protocol
BrandKit MCP demonstrates solid tool definition quality across 19 well-structured read-only tools. All tools have clear, descriptive names following verb_noun conventions (get_*, search_*, validate_*). Descriptions are generally comprehensive (50-150 chars typical), explaining both the action and when to use each tool. Most tools with parameters include proper enum constraints (context: [base, web, product]). However, several tools lack visible output schema documentation in the source, and the write-capable sync_brand_docs tool has minimal error handling documentation. Parameter descriptions are consistently present and informative. The tool set exhibits good composition, each tool has a single responsibility, and related tools are clearly distinguished (e.g., get_colors_and_type vs get_fonts vs get_css). Token baselines from rubric show avg tool name length 18 chars (BrandKit range 13-21 chars, within p10-p90); 100% of tools start with action verbs; avg param description 72 chars (BrandKit ~60-80 chars, appropriate). This server would benefit from documented output schemas and more explicit error recovery guidance.
Retrieve logos, icons, textures, and other binary assets with metadata for a specified context
Retrieve audience definition and segmentation data from the brand YAML configuration
Get a high-level overview of the brand system including purpose, personality, and key design principles
Get the color palette and typography system with CSS custom properties for a specified context
Retrieve reusable UI component definitions and specifications for a specified context
Get the creative concepts document describing the brand's conceptual foundation and creative approaches
Compare design system differences between two contexts (e.g. base vs web, base vs product)
Output schemas not documented in visible source code. Tools like get_brand_overview, get_positioning, get_audience, etc. lack explicit response schema definitions. LLMs cannot reliably plan downstream operations without knowing what fields are returned.
sync_brand_docs (write-capable tool) has minimal error recovery guidance. Description states 'Write-capable tool available only on stdio transport or when explicitly enabled' but does not explain what errors can occur, how to retry, or what side effects are possible. This is critical for a destructive operation.
No confirmation-request or dry-run pattern for sync_brand_docs. A write operation that regenerates documentation files should support a preview or confirmation step to prevent unintended overwrites, per pattern:confirmation-request.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | 2026-07-28+ | v2 |
Get raw CSS content for colors, typography, and motion for a specified context
Retrieve the differentiation document explaining how the brand stands apart from competitors
Get font definitions and @font-face declarations for a specified context
Retrieve the magic_trick.md file - a human-authored taste primer documenting the brand's unique visual and verbal characteristics
Get the brand messaging document containing key messages and communication guidelines
Retrieve motion system definitions (animations, transitions, timings) for a specified context
Get the brand positioning document describing market position and strategic direction
Get design token specimens (size, spacing, radius, shadow, etc.) for a specified context
Retrieve the brand voice document defining tone, language patterns, and verbal guidelines
Perform full-text search across the entire brand system including all documents, tokens, components, and assets
Regenerate DESIGN.md and PRODUCT.md documentation files from the current brand system state. Write-capable tool available only on stdio transport or when explicitly enabled.
Validate whether a color, font, component, or asset usage conforms to the brand system for a specified context
Parameter descriptions for context enum are present but could be more explicit about which contexts are appropriate for different use cases. E.g., 'base' is the default/comprehensive spec; 'web' and 'product' are context-specific overrides, this distinction would help LLMs choose correctly.