Skip to main content
Glama

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

uvx web-ui-component-spec-mcp

Option 2 — pip

pip install web-ui-component-spec-mcp
web-ui-component-spec-mcp

Option 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.txt

Then execute server.py.

python server.py

MCP 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

source/Core_Principles.md

Component philosophy, design tokens, interaction principles

source/Component_Catalog.md

Full catalog of all components with specs and tests

source/Step_By_Step_Guide.md

Step-by-step build guide


Available tools

Tool

Description

list_components

Full component index with optional category/tier filtering

get_component_spec

Full spec for one component

get_component_tests

Test scenarios only for one or more components

get_component_summary

Lightweight summary (description + main features)

get_components_by_scenario

Curated component list for a project type

get_core_principles

Core Principles by section

get_step_by_step

Step-by-step guide by step number

get_related_components

Dependencies, dependents, and alternatives

search_components

Fuzzy search by behavior or description

validate_component_checklist

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 prompts

Spec 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 mcp[cli] to <2 — the mcp 2.0.0 release removed the low-level Server.list_tools()/call_tool() decorators this server relies on, which broke fresh uvx/pip installs once mcp 2.x was published.

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 tools
get_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.

Inputs: scenario (required).

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.

Inputs: component (required).

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.

Inputs: components (required).

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.

Inputs: components (required).

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.

Inputs: section.

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.

Inputs: steps (required).

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.

Inputs: category, tier.

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'

Inputs: query (required), limit.

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.

Inputs: component (required), implemented_features (required), check_tests.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 10 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness5/5

    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

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers