web-ui-component-spec-mcp
This server provides an MCP-based interface to the Web UI Component Specification, letting AI assistants query component specs, test scenarios, build guides, and more on demand.
Discover components:
list_componentsreturns the full catalog with optional category/tier filtering.Fetch full specs:
get_component_specgives complete behavioral details (features, accessibility, keyboard nav, etc.) for one component.Get test scenarios:
get_component_testsretrieves only Test Scenarios for one or more components.Get lightweight summaries:
get_component_summaryreturns description + main features for planning.Get curated build lists:
get_components_by_scenariorecommends a component set and build order for project types (SaaS, ecommerce, etc.).Read core principles:
get_core_principlesretrieves sections like philosophy, design tokens, interaction principles.Access step-by-step guide:
get_step_by_stepfetches individual build steps (1–11) or all steps.Understand relationships:
get_related_componentsshows dependencies, dependents, and alternatives for a component.Search behaviorally:
search_componentsdoes fuzzy search across names, descriptions, and features (e.g., 'focus trap', 'date range').Validate implementations:
validate_component_checklistcompares implemented features against spec Main Features and Test Scenarios, producing a coverage report.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@web-ui-component-spec-mcpshow me the spec for the button component"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Web UI Component Specification — MCP Server
An MCP (Model Context Protocol) server that gives AI coding assistants direct access to the Web UI Component Specification — a comprehensive behavioral reference for web UI component libraries covering component specs, test scenarios, accessibility requirements, and a step-by-step build guide.
What this does
Instead of pasting spec content into prompts manually, this server lets your AI assistant query exactly what it needs, when it needs it:
Building a component? → Fetch its full spec on demand
Writing tests? → Get just the test scenarios
Starting a library? → Get a curated component list for your project type
Reviewing an implementation? → Validate it against the spec automatically
Related MCP server: mcpsystem.design MCP Server
Read the specification
Prefer the human-readable version? Download the full spec as a PDF:
Web UI Component Specification (v1.0) — PDF
All exported versions live under exports/.
Installation
Option 1 — uvx (recommended, no install required)
uvx web-ui-component-spec-mcpOption 2 — pip
pip install web-ui-component-spec-mcp
web-ui-component-spec-mcpOption 3 — Clone and run
git clone https://github.com/gcsebas99/web-ui-component-spec-mcp.git
cd web-ui-component-spec-mcp
pip install -r requirements.txtThen execute server.py.
python server.pyMCP Client Configuration
Add to your MCP client config (Claude Desktop, Cursor, etc.):
uvx:
{
"mcpServers": {
"ui-spec": {
"command": "uvx",
"args": ["web-ui-component-spec-mcp"]
}
}
}pip install:
{
"mcpServers": {
"ui-spec": {
"command": "web-ui-component-spec-mcp"
}
}
}Clone and run:
{
"mcpServers": {
"ui-spec": {
"command": "python",
"args": ["/absolute/path/to/web-ui-component-spec-mcp/server.py"]
}
}
}Source files
The spec content (Markdown files) are included in the source/ directory (latest version available):
File | Description |
| Component philosophy, design tokens, interaction principles |
| Full catalog of all components with specs and tests |
| Step-by-step build guide |
Available tools
Tool | Description |
| Full component index with optional category/tier filtering |
| Full spec for one component |
| Test scenarios only for one or more components |
| Lightweight summary (description + main features) |
| Curated component list for a project type |
| Core Principles by section |
| Step-by-step guide by step number |
| Dependencies, dependents, and alternatives |
| Fuzzy search by behavior or description |
| Coverage report against spec requirements |
Using the skill
For best results, load the skill file into your AI assistant's system prompt before starting a component build session.
Full skill (recommended for new sessions):
skill/skill-full.md
Compact skill (for mid-session use when context is limited):
skill/skill-compact.md
Example prompts
See examples/example-prompts.md for
ready-to-use prompts covering common scenarios:
building a component, starting a library, reviewing code, writing tests.
Project structure
web-ui-component-spec-mcp/
├── server.py # MCP server entry point
├── pyproject.toml # PyPI packaging (pip + uvx)
├── requirements.txt # Direct install dependencies
│
├── tools/ # One file per MCP tool
├── parsers/ # MD parsing logic
├── data/ # In-memory store (loaded at startup)
│
├── source/ # Spec MD files (bundled; VERSION.md pins the revision)
├── exports/ # Human-readable PDF exports of the spec
├── skill/ # Skill files for AI assistants
└── examples/ # Example promptsSpec version
This server is built for Web UI Component Specification v1.0.
Spec version | Server version |
v1.0 | 1.0.x |
Changelog
Version | Changes |
1.0.3 | Pin |
1.0.2 | Script name updated to match package name; documentation updates. |
1.0.1 | Documentation updates. |
1.0.0 | Initial release. |
License
MIT
Available Tools
10 toolsget_components_by_scenarioA
Return a curated component list and recommended build order for a project type. Use this when starting a library from scratch to get a sensible scope and sequence. Pass 'list' as scenario to see all available options.
| Name | Required | Description | Default |
|---|---|---|---|
| scenario | Yes | Project type. e.g. 'saas_dashboard', 'ecommerce', 'forms_heavy', 'content_site', 'mobile_web', 'minimal'. Pass 'list' to see all options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description discloses it returns a curated list and build order, but no further behavioral details (e.g., no side effects, no performance notes). Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second provides usage guidance and a special case. No redundancy, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should clarify return format. It mentions 'curated component list and recommended build order' but omits structure (e.g., component names, order details). Satisfactory for a simple tool but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'scenario' parameter. Description adds value by explaining the 'list' option and giving example values, going beyond the schema's generic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Return a curated component list and recommended build order for a project type', with a specific verb and resource. It distinguishes from siblings by focusing on scenario-based aggregation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use ('starting a library from scratch to get a sensible scope and sequence') and how to list options ('Pass 'list' as scenario'). No explicit when-not-to-use or direct alternates, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_specA
Return the full behavioral specification for a single component. Includes description, all main features, secondary features (accessibility, keyboard navigation, touch, responsive, i18n, etc.), and implementation notes. Use this when implementing a component from scratch.
| Name | Required | Description | Default |
|---|---|---|---|
| component | Yes | Component name (e.g. 'Modal', 'Text Input', 'Button') or numeric id (e.g. '46', '19', '16') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description lists included content but does not disclose behavioral traits like idempotency or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, then content list and usage. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description lists included sections but not structure or format, leaving agents to infer return type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, but description adds no extra meaning beyond the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the full behavioral specification for a single component, distinguishing it from siblings like summaries or tests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using this tool when implementing a component from scratch, though lacks explicit when-not-to-use or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_summaryA
Return a lightweight summary for one or more components — description and main features only, no secondary features or test scenarios. Use this for planning and surveying before deep implementation work.
| Name | Required | Description | Default |
|---|---|---|---|
| components | Yes | List of component names or ids. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the output includes only description and main features, omitting secondary features and test scenarios, which is good transparency for a read-only summary tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences efficiently convey the purpose and usage. No unnecessary words, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool’s simplicity (one parameter, no output schema), the description covers the essential aspects: what is returned and when to use it. It could mention handling of missing components, but overall it’s quite complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for 'components'. The description adds minimal additional context ('one or more'), so it meets the baseline but doesn’t significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a lightweight summary including description and main features, and explicitly excludes secondary features and test scenarios, distinguishing it from sibling tools that likely provide deeper details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool for planning and surveying before deep implementation work, implying it’s not for detailed tasks. It doesn’t explicitly name alternatives but the sibling list provides context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_testsA
Return only the Test Scenarios for one or more components. Use this when writing tests or reviewing an implementation against the spec. More token-efficient than get_component_spec when tests are all you need.
| Name | Required | Description | Default |
|---|---|---|---|
| components | Yes | List of component names or ids. e.g. ['Modal', 'Button'] or ['46', '16'] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It indicates the tool returns test scenarios (read-only behavior) but does not disclose any other traits like output format, pagination, or rate limits. Minimal additional context beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words, front-loading the core function and usage. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one param, no output schema), the description fully covers its purpose, usage context, and differentiation from siblings. No missing essential information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description covers 100% of the single parameter, which is well described. The description adds no extra meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool returns 'only the Test Scenarios for one or more components', providing a specific verb and resource. It distinguishes itself from siblings by noting token-efficiency over get_component_spec when tests are the focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly advises using this tool 'when writing tests or reviewing an implementation against the spec' and contrasts with get_component_spec for efficiency, providing both context and an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_core_principlesA
Return content from the Core Principles section of the spec. Fetch only the section you need to minimize context usage. Use 'philosophy' when starting any component work. Use 'design_tokens' when reviewing token definitions. Use 'all' sparingly.
| Name | Required | Description | Default |
|---|---|---|---|
| section | No | Section to retrieve. Options: 'philosophy', 'design_tokens', 'interaction_principles', 'consistency_patterns', 'all' | philosophy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It indicates a read operation (return content) with no side effects. While clear, it lacks details about possible error responses or behavior for invalid sections, but schema covers enum values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, followed by targeted usage advice. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single parameter and no output schema, the description provides all necessary information: what the tool does, how to use the parameter, and behavioral context (minimize usage). No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes each enumerator. The description adds semantic guidance on when to use each option, going beyond the schema's static listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns content from the Core Principles section. It specifies distinct usage for each section, and differentiates from sibling tools that focus on components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises when to use each section: 'philosophy' for starting component work, 'design_tokens' for reviewing tokens, and 'all' sparingly. It also recommends fetching only needed sections to minimize context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_step_by_stepA
Return one or more steps from the Step-by-Step Build Guide. Fetch only the steps relevant to the current phase of work. e.g. pass [1, 2, 3] when defining design tokens, [7, 8] when building components.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | Step number(s) to retrieve, or 'all'. Steps: 1=Color, 2=Typography, 3=Spacing, 4=Look&Feel, 5=DevEnv, 6=Tokens, 7=Foundational Components, 8=Compound Components, 9=Testing, 10=Documentation, 11=Iterate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not explicitly state that the operation is read-only or safe. The behavior is implied but not transparently disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, containing two sentences with an example, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description is sufficiently complete. It could mention the return format or error handling, but the given context is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the parameter semantics thoroughly (100% coverage), and the description adds value by providing usage examples tied to phases of work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns steps from a build guide, using a specific verb and resource. It is distinct from sibling tools which focus on components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides examples of when to pass specific step numbers (e.g., design tokens, building components), giving context on usage. However, it lacks explicit 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_componentsA
List all components in the Web UI Component Specification. Returns name, id, category, tier, and one-line summary for each. Always call this first in a new session to establish what exists. Optionally filter by category or tier.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by functional category (partial match, case-insensitive). Options: 'Content & Typography', 'Layout & Structure', 'Identity & Status Indicators', 'Actions & Navigation Primitives', 'Form Inputs & Controls', 'Feedback & Communication', 'Overlays & Floating Elements', 'Adaptive Elements', 'Navigation & Wayfinding', 'Data Display & Visualization' | |
| tier | No | Filter by complexity tier: 'Basic', 'Intermediate', or 'Advanced' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only describes return fields and filtering, but omits behavioral traits like read-only nature, performance implications, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no redundancy. Front-loaded with purpose and key usage instruction, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, return fields, usage order, and filtering. Lacks details on pagination or sorting, which would be useful for a listing tool, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the input schema (100% coverage). The description adds context for always calling first but does not enhance parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all components and returns specific fields (name, id, category, tier, summary). It differentiates from siblings like search_components by focusing on the full listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to call this first in a new session, providing strong when-to-use guidance. Does not explicitly mention when not to use or compare to alternatives like get_component_spec.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_componentsA
Fuzzy search across component names, descriptions, and features. Use this when you know what behavior you need but not which component provides it. e.g. 'focus trap', 'date range', 'file upload', 'keyboard navigation'
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search string describing the behavior or component you're looking for. | |
| limit | No | Maximum number of results to return (default 8). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the search as fuzzy and specifies the searched fields. Without annotations, the description provides sufficient behavioral context, though details like case sensitivity or result ordering are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with front-loaded purpose and embedded examples. Efficient and clear, though could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two well-documented parameters and no output schema, the description covers the search scope, usage context, and examples. It adequately supports the human agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the schema (100% coverage). The description adds no new meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Fuzzy search across component names, descriptions, and features' with clear verb and resource. It is distinct from siblings like list_components or get_components_by_scenario, as it focuses on approximate behavior-based lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this when you know what behavior you need but not which component provides it' and gives practical examples. This clearly differentiates from other component tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_component_checklistA
Compare an implementation against the spec's Main Features and Test Scenarios. Returns a coverage report showing what's covered, what's missing, and an overall status. Use this to QA a component before marking it done.
| Name | Required | Description | Default |
|---|---|---|---|
| component | Yes | Component name or id. | |
| implemented_features | Yes | List of strings describing what has been implemented. Be specific: e.g. ['closes on Escape key', 'traps focus within modal', 'has aria-modal attribute', 'backdrop click dismisses modal'] | |
| check_tests | No | Also check against Test Scenarios (default true). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral aspects. It states the tool returns a coverage report showing covered, missing, and status, but does not disclose potential side effects, error conditions (e.g., if component doesn't exist), or performance implications. This is adequate but lacks full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only two sentences. The first sentence states the action and output, the second gives usage guidance. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters (2 required), no nested objects, no enums, and no output schema, the description covers the essential aspects: purpose, usage, and basic behavior. It lacks details on output structure (e.g., report format) but is sufficient for an agent to understand the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the comparison targets ('Main Features and Test Scenarios'), which provides context for the 'implemented_features' and 'check_tests' parameters beyond their schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: comparing an implementation against spec's Main Features and Test Scenarios, returning a coverage report. It uses specific verbs and resources, distinguishing it from sibling tools like 'get_component_spec' or 'get_component_tests' which retrieve rather than compare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Use this to QA a component before marking it done.' This sets clear context for when the tool should be invoked. However, it does not mention when not to use it or suggest alternative tools, though the context is sufficiently clear given sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
10 tool updates
v1.0.2- First observed
get_component_spec - First observed
get_component_summary - First observed
get_component_tests - First observed
get_components_by_scenario - First observed
get_core_principles - First observed
get_related_components - First observed
get_step_by_step - First observed
list_components - First observed
search_components - First observed
validate_component_checklist
TDQS
Each tool has a uniquely scoped purpose with no overlap. For example, get_component_spec returns full specs while get_component_summary returns only top-level info. Search and list tools target different access patterns. Naming and descriptions clearly distinguish them.
All tools follow a consistent verb_noun pattern using snake_case (e.g., get_component_spec, list_components, validate_component_checklist). The naming is predictable and intuitive.
10 tools is well-scoped for a specification server. Each tool addresses a distinct need (listing, searching, retrieving specs, tests, principles, dependencies, build steps, validation) without redundancy or excess.
The tool set covers the full lifecycle of working with component specs: discovery (list, search), detailed retrieval (spec, summary, tests, principles, related components), guided implementation (step-by-step), and quality assurance (validate checklist). No obvious gaps for the stated domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Serves your design system and coding standards to coding agents, so they stop guessing.
Access and maintain design system docs, tokens, components, skills, and contexts across any project.
Live React design-system APIs, patterns, and code validation so AI agents build real UI, not slop.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides AI assistants with tools to grade, generate, and validate UI components against the components.build specification. Supports searching documentation, checking compliance, and generating framework-agnostic accessible components.1119Apache 2.0
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with access to a production-ready design system including Tailwind CSS component patterns, style guides (colors, typography, spacing), and Web Components specifications for consistent UI development.19MIT
- FlicenseNot gradedqualityFmaintenanceProvides AI assistants with access to WordPress Design System component information and design guidance.9-
- AlicenseNot gradedqualityCmaintenanceEnables AI-powered access to authoritative design systems knowledge, including W3C standards, WCAG guidelines, and best practices from 188+ curated entries via semantic vector search.15203MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gcsebas99/web-ui-component-spec-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server