ux-kb
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
UX-KB — UI/UX Designer Agent Knowledge Base
Cloud MCP knowledge base + UI/UX design agent. 73 cited topic docs, 6 workflow stage packs, session-scoped retrieval, citation verification, API keys, rate limits, and usage/gap logging. Built with TypeScript, Prisma, and Postgres.
Live page: https://ux-kb-site.vercel.app
Why UX-KB
Generic AI output looks like a template: default gradients, five-card grids, weak hierarchy, no accessibility, and rules invented on the fly. UX-KB turns UX guidance into a queryable, versioned, citable knowledge base that an agent must read before proposing a design.
Rules are fetched, not memorized. Every proposal cites doc IDs that were actually retrieved in the session.
Stage packs load only the rules relevant to the current workflow stage, with token budgets, instead of dumping the whole catalogue.
Feature routing pulls in extra docs for the specific thing being designed.
Citation verification proves a cited ID was fetched — and flags unfetched, unknown, and deprecated IDs before submission.
Gap reporting records missing topics instead of letting the agent invent rules.
Related MCP server: open-design-system-mcp-starter
What's inside
Surface | Count |
Topic documents | 73 |
Workflow stage packs | 6 ( |
Feature routes | 10 |
MCP tools | 7 |
MCP resources | 3 |
Core unit tests | 23 |
Content release candidate: 1.0.0-rc.1 (content/release.json).
Architecture
flowchart LR
A[AI Agent] -->|MCP stdio/HTTP| B[MCP Server]
B --> C[Core Services]
C --> D[Content Repository]
D --> E[Markdown content/]
C --> F[KbStore]
F --> G[MemoryStore dev/tests]
F --> H[PrismaStore Postgres]
C --> I[Auth, rate limit, sessions, citations, gaps]MCP is the delivery layer; core owns the logic. REST and admin (Phase 4) reuse the same services.
Agents read only published, immutable releases. Each session pins one KB version.
Project design-system files override the KB on tokens, brand, components, and voice.
Quick start (no database)
cd ux-kb
pnpm install
pnpm lint:kb:strict # 0 errors, 0 warnings
pnpm test # 23 unit tests
pnpm smoke # 7 tools + 3 resources over MCP stdio
pnpm dev:mcp # stdio MCP serverNode.js ≥ 20 and pnpm 10 are required. Postgres is optional for local dev.
Connect an agent
Claude Code (stdio)
claude mcp add ux-kb -- node --import tsx \
/absolute/path/to/ux-kb/apps/mcp-server/src/index.tsOr with the built server (pnpm build first):
claude mcp add ux-kb -- node /absolute/path/to/ux-kb/apps/mcp-server/dist/index.jsCursor / Claude Desktop
{
"mcpServers": {
"ux-kb": {
"command": "node",
"args": ["--import", "tsx", "/absolute/path/to/ux-kb/apps/mcp-server/src/index.ts"]
}
}
}Streamable HTTP (with API key)
MCP_DEV_KEY=dev-local-key pnpm dev:mcp:http # http://127.0.0.1:3333/mcpclaude mcp add --transport http ux-kb http://127.0.0.1:3333/mcp \
--header "Authorization: Bearer dev-local-key"Tool reference
Tool | Input | Output | Side effect |
|
|
| creates session |
|
| stage docs + routed docs | records fetched IDs |
|
| one published doc | records fetched ID |
|
| IDs, titles, summaries | none |
|
| CHECK items only | none |
|
| unfetched, unknown, deprecated | stores result |
|
| acknowledgement | upserts gap |
Resources: kb://doc/{id}, kb://pack/{stage}, kb://core.
Stages: need_check, research, audit, proposal, critique, implement.
Session workflow
Call
start_sessiononce per task.Call
get_stage_packbefore each stage;get_docfor extra topics.Call
verify_citationsbefore submitting — it compares cited IDs against the session's fetch history.Call
report_gapwhen the KB lacks a topic instead of inventing a rule.
get_stage_pack reports an estimated token count and marks over-budget packs
(characters / 4, not a model-specific tokenizer).
Database (optional, for persisted auth/usage/gaps)
cp .env.example .env # set DATABASE_URL and KEY_HASH_SECRET
pnpm db:generate
pnpm db:push
pnpm db:seed
pnpm kb:keys create --name laptop --rate-limit 120KB_STORE=db (or a non-empty DATABASE_URL) selects PrismaStore;
KB_STORE=memory forces the in-memory store used by tests and smoke:http.
The seed is idempotent.
Testing
pnpm lint:kb:strict # 0 errors, 0 warnings across 73 docs
pnpm typecheck # tsc, both packages
pnpm test # 23 core unit tests
pnpm build # tsup bundle
pnpm smoke # stdio end-to-end
pnpm smoke:http # HTTP auth, pinning, revocation, 429See docs/testing.md for the full manual test guide.
Project structure
ux-kb/
content/ Markdown knowledge base (source of truth)
prisma/schema.prisma DB schema (docs, versions, releases, keys, usage, gaps)
prisma/seed.ts content/ -> Postgres
packages/core/src/
schemas/ zod front matter, packs, routes, releases
content/ path resolution, parser, repository, token estimate
services/ docs, packs + routing, search, release, auth,
rate limit, sessions/citations, gaps
store/ KbStore boundary: memory + Prisma implementations
lint/ doc + catalog linter
cli/ lint, info, key/gap commands
apps/mcp-server/src/ MCP server (stdio + stateless HTTP)
apps/mcp-server/scripts/ smoke.ts (stdio), http-smoke.ts (auth/429)
apps/site/ Public landing page (Vercel)Security and limitations
The server trusts reviewed Markdown. A bad doc becomes an instruction the agent follows, so review is the security boundary.
Citation verification proves fetch history, not that a source semantically supports a claim.
Rate limiting is in-process; horizontal scaling needs a shared limiter.
Usage logs store tool arguments — avoid sending secrets in
feature,context, or query text.Token estimates are approximate (±15% for prose); pack budgets are advisory.
Roadmap
Phase 4: admin docs, packs, releases (draft → review → publish)
Phase 5: usage, compliance, and gap observability
Phase 6: agent files, critic, evals, Playwright/axe
Phase 7: CI regression and content expansion from ranked gaps
Contributing
Issues and PRs welcome. Before submitting:
Keep doc changes minimal and justified.
Write docs in your own words — never paste copyrighted source text.
Run
pnpm lint:kb:strict,pnpm typecheck, andpnpm test.
License
Released under the MIT License. Content is a release candidate and may change between versions.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Team docs served to AI agents over MCP - search, Markdown reads, version pinning, read audit.
Read-only canon of design and copy rules for AI agents to audit generated UI, served as resources.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Serves your design system and coding standards to coding agents, so they stop guessing.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to score live URLs against a deterministic design contract, validate DTCG tokens and Lottie animations, audit accessibility, and retrieve design-system contracts, catalogs, and review rubrics.174 npmMIT
- AlicenseNot gradedqualityBmaintenanceProvides a real API for coding agents to look up design system components, props, and tokens, preventing guessed answers.9MIT
- AlicenseNot gradedqualityCmaintenanceEnables coding agents to retrieve accurate design system information, component APIs, design tokens, and coding standards, so they build with real specs rather than guessing.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI tools to browse, search and fetch design checklists, turn a plain-English brief into a merged project checklist or build-ready design brief, and review a screen against a structured PASS/FAIL/N/A rubric. Also exposes checklist resources and design-review prompts so agents can ground accessibility and UX guidance in real data.MIT