Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
195 UX/UI principles with citations, 12 UX smells and 12 flow checklists for AI agents, EN and ES.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
UXUI_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"uxui-principles": {
"command": "npx",
"args": [
"-y",
"@uxuiprinciples/mcp-server"
],
"env": {
"UXUI_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add uxui-principles --env UXUI_API_KEY=your-value -- npx -y @uxuiprinciples/mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"uxui-principles": {
"command": "npx",
"args": [
"-y",
"@uxuiprinciples/mcp-server"
],
"env": {
"UXUI_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"uxui-principles": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@uxuiprinciples/mcp-server"
],
"env": {
"UXUI_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The publisher (joselhurtado) is not the repo owner (uxuiprinciples); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: UXUI_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.2.1) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Thalovant MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Connect MCP clients to Thalovant control-plane and hub runtime APIs over stdio or Streamable HTTP.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP server for UX/UI Principles: 195 research-backed principles with their citations, 12 UX smells with fix recipes and 12 user-flow checklists, in English and Spanish, inside Claude Code, Claude Desktop, Cursor, VS Code, Windsurf or any MCP client.
Free and offline by default: the dataset ships inside the package and the server makes no network call. A Principles Library API key turns on pro mode, which adds the full guide bodies, the AI prompts and an interface audit through the uxuiprinciples.com API.
Model Context Protocol (MCP) is an open protocol that lets an AI assistant call external tools. This server speaks MCP over stdio and registers 13 tools.
Requires Node.js 18 or newer. npx -y fetches the latest version on first run.
claude mcp add uxui-principles -- npx -y @uxuiprinciples/mcp-server
Add --scope user to make it available in every project. Confirm with claude mcp list.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop:
{
"mcpServers": { "uxui-principles": { "command": "npx", "args": ["-y", "@uxuiprinciples/mcp-server"] } } }
Add to .cursor/mcp.json in the project (or ~/.cursor/mcp.json for every project), then enable the server in Cursor Settings, MCP:
{
"mcpServers": { "uxui-principles": { "command": "npx", "args": ["-y", "@uxuiprinciples/mcp-server"] } } }
Add to .vscode/mcp.json in the workspace, then start the server from the MCP panel or let Copilot agent mode start it:
{
"servers": { "uxui-principles": { "type": "stdio", "command": "npx", "args": ["-y", "@uxuiprinciples/mcp-server"] } } }
Add to ~/.codeium/windsurf/mcp_config.json, then refresh the MCP list in Cascade:
{
"mcpServers": { "uxui-principles": { "command": "npx", "args": ["-y", "@uxuiprinciples/mcp-server"] } } }
npm install -g @uxuiprinciples/mcp-server
uxui-mcp
Point the client at the uxui-mcp binary instead of npx. Re-run the install to pick up new versions.
The Principles Library ($59/year) includes a REST API key. Give it to the server as the UXUI_API_KEY environment variable and four tools change:
| Tool | Free mode | Pro mode |
|---|---|---|
get_principle | Metadata, summary, citations, link | The same plus the full guide body in content |
get_principle_prompts | Link to the guide | The principle's AI prompts |
audit_interface | Refuses with the key hint | Findings mapped to principles and smells, score, priority fixes |
check_requirements | Refuses with the key hint | Pass or fail per required-state rule, each with its principle and citations |
Everything else keeps running offline. If the API is unreachable, get_principle and get_principle_prompts fall back to the free answer and report the failure in proError; audit_interface and check_requirements return the error code.
{
"mcpServers": { "uxui-principles": { "command": "npx", "args": ["-y", "@uxuiprinciples/mcp-server"], "env": { "UXUI_API_KEY": "uxui_live_..." } } } }
For Claude Code: claude mcp add uxui-principles -e UXUI_API_KEY=uxui_live_... -- npx -y @uxuiprinciples/mcp-server. The key is read from the environment only and is never logged. Get or rotate yours at uxuiprinciples.com/account. The server's startup line on stderr says pro mode or free mode, and the instructions it hands the client say the same.
| Tool | Description |
|---|---|
get_principle | One principle by slug: summary, citations (author, title, year, url) and the link to the full guide. Pro: the full guide body |
search_principles | Search by query, part, difficulty, or tags |
list_principles | List all principles or filter by part |
get_principle_prompts | The AI prompts for a principle. Pro: the prompt texts; free: the link to the guide |
| Tool | Description |
|---|---|
get_smell | Get a smell with symptoms and fix recipe |
list_smells | List all smells, optionally by category |
detect_smell | Detect smells from a UI description, written in English or Spanish |
suggest_fix | Get fix suggestions for a UX issue |
| Tool | Description |
|---|---|
get_flow | Get a flow with pre/post-flight checklists |
list_flows | List all available flows |
generate_checklist | Generate checklist for a flow phase |
get_flow_principles | Get key principles for a flow |
| Tool | Description |
|---|---|
audit_interface | Audit a described screen (20 to 5,000 characters): findings with severity, remediation and business impact, score, interface type, strengths and the three priority fixes. Needs UXUI_API_KEY |
check_requirements | Check a screen given as data (flow, components, actions with consequential and automated flags, states implemented) against eight required-state rules: confirmation before consequential actions, error, empty and loading states, undo or edit, sources on AI output, recovery after an AI error, consent before automation. Pass, fail or not_applicable per rule with the principle and its citations, plus a markdown summary. Needs UXUI_API_KEY |
You: What principle should I follow for form design?
Claude: Let me search for form-related principles... [Calls search_principles with query="form"]
Based on the UX/UI Principles database, here are the key principles for form design:
...
You: My login form has a 60% abandonment rate. Help me fix it.
Claude: Let me detect potential UX issues... [Calls detect_smell with description="login form high abandonment"]
I detected "Form Graveyard" smell with high confidence. Let me get the fix recipe... [Calls get_smell with id="form-graveyard"]
Here's my analysis and recommendations:
...
Let me also get the flow checklist for the form... [Calls generate_checklist with flow_id="forms" phase="postflight"]
With a key:
You: Audit this checkout: three steps, no order summary until the last one, the Pay button is disabled with no explanation until every field validates.
Claude: [Calls audit_interface with the description] Score 58, fair. Two warnings: Visibility of System Status (order summary hidden) and Silent Errors (disabled button without feedback). Priority fix: ...
After building a screen:
You: Build the settings page: profile form, an AI summary of recent activity, and a danger zone with "Delete account". Then check it.
Claude: [Builds the page, then calls check_requirements with flow "settings", the components, the actions (Delete account flagged consequential) and the states it implemented] 3 of 6 applicable rules fail: undo-or-edit (User Control and Freedom, Nielsen 1994), show-sources (AI Source Citations, Liu et al. 2023), ai-error-recovery (Efficient AI Correction, Amershi et al. 2019). Adding an undo toast, a sources line under the summary and a regenerate control...
All tools accept locale: "en" | "es". detect_smell and suggest_fix understand descriptions written in either language whatever the locale:
search_principles({ query: "navegación", locale: "es" })
detect_smell({ description: "el formulario es demasiado largo", locale: "es" })
get_principle (the guides cite 2,400+ academic citations in full)git clone https://github.com/joselhurtado/uxuiprinciples-web.git
cd uxuiprinciples-web npm install npm run build --workspace=@uxuiprinciples/principles-data npm run build --workspace=@uxuiprinciples/mcp-server node packages/mcp-server/dist/index.js
npm run smoke-test --workspace=@uxuiprinciples/mcp-server packs the build, installs it in a temp project and drives both modes over stdio (pro mode against a local fake of the API). server.json next to this README is the MCP Registry manifest; publish with mcp-publisher publish after the npm release.
MIT © UX/UI Principles