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
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-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
Metadata
Release files for web-ui-component-spec-mcp 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| web_ui_component_spec_mcp-1.0.3.tar.gz | 157.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| web_ui_component_spec_mcp-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 328.1 kB
Release files / web_ui_component_spec_mcp-1.0.3.tar.gz
| Download URL | web_ui_component_spec_mcp-1.0.3.tar.gz |
|---|---|
| Size | 157.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8fc2362670f8ac0da8bc7a6f6d8782d7897ec8c817bdb875e1dea831724b1ff1
|
|
BLAKE2b-256 checksum How to use checksums |
89c1bff5d32e3a8ebd62c7cf36bb35ee68f409d94e47abfc2d40cde1ed7386f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / web_ui_component_spec_mcp-1.0.3-py3-none-any.whl
| Download URL | web_ui_component_spec_mcp-1.0.3-py3-none-any.whl |
|---|---|
| Size | 170.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
301760bf966c8ce97549a3bccc9b56a753b977ddca964887ff0e5b0163bab666
|
|
BLAKE2b-256 checksum How to use checksums |
aadd3e08b2f046da088e8d5e5586c1b94f2d71db64371719e61a435a55f9292d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for web-ui-component-spec-mcp 1.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.