UX toolkit: 28 knowledge resources, 23 analysis tools & 4 workflow prompts for any MCP client
Model Context Protocol (MCP) server that provides comprehensive UX best practices covering the complete UX ecosystem: accessibility guidelines (WCAG), usability heuristics (Nielsen), UI patterns, design systems, performance optimization, SEO, internationalization, animation, framework patterns (React/Vue/Angular), e-commerce, testing, PWA, ethical design, SaaS, analytics, voice UI, AR/VR, AI/ML patterns, healthcare, finance, neurodiversity, and web components.
Works with any MCP-compatible client including Claude Desktop, Cursor IDE, Continue.dev, Cline, and custom applications.
npm install -g @elsahafy/ux-mcp-server
npx @elsahafy/ux-mcp-server
git clone https://github.com/elsahafy/ux-mcp-server.git
cd ux-mcp-server
npm install
npm run build
Access comprehensive UX knowledge bases organized by category:
Foundation & Core (12 resources)
Critical Features (8 resources)
Advanced Features (8 resources)
Emerging Technologies (8 resources)
Powerful tools for UX analysis and generation:
Core Analysis (11 tools)
Design & Content (5 tools) 12. generate_color_palette - Create accessible color palettes from base colors 13. generate_typography_scale - Generate type scales with modular ratios 14. suggest_microcopy - Get UX writing recommendations for UI elements 15. recommend_form_pattern - Find optimal form layouts and validation patterns 16. suggest_data_visualization - Choose appropriate charts for data types
Testing & Validation (5 tools) 17. generate_accessibility_report - Comprehensive WCAG audit reports 18. suggest_ab_variant - Generate A/B test variant suggestions 19. analyze_information_architecture - Evaluate navigation and IA structure 20. detect_dark_patterns - Identify deceptive UI practices 21. calculate_ux_metrics - Calculate SUS, NPS, CSAT, task success rates
UI Generation (2 tools) 22. generate_wireframe - Create ASCII wireframes for pages/components 23. suggest_microinteraction - Recommend microinteractions with timing/easing
Comprehensive review workflows:
This MCP server works with any client that supports the Model Context Protocol:
| Client | Status | Configuration |
|---|---|---|
| Claude Desktop | β Fully Supported | See below |
| Claude Code (CLI) | β Fully Supported | See below |
| Cursor IDE | β Fully Supported | See below |
| Continue.dev | β Fully Supported | See below |
| Cline (VS Code) | β Fully Supported | See below |
| Zed Editor | β Fully Supported | See below |
| Custom MCP Clients | β Fully Supported | See below |
Config file location:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"ux-best-practices": {
"command": "ux-mcp-server"
}
}
}
From source:
{
"mcpServers": {
"ux-best-practices": {
"command": "node",
"args": ["/absolute/path/to/ux-mcp-server/dist/index.js"]
}
}
}
Restart Claude Desktop after configuration.
Add via the CLI (recommended):
claude mcp add ux -- npx -y @elsahafy/ux-mcp-server
Or manually in ~/.claude/settings.json:
{
"mcpServers": {
"ux": {
"command": "npx",
"args": ["-y", "@elsahafy/ux-mcp-server"]
}
}
}
Add to Cursor's MCP configuration (~/.cursor/mcp.json):
{
"mcpServers": {
"ux-best-practices": {
"command": "ux-mcp-server"
}
}
}
Or configure via Cursor Settings β MCP Servers β Add Server.
Add to Continue configuration (~/.continue/config.json):
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "ux-mcp-server"
}
}
]
}
}
In VS Code with Cline extension, add to MCP settings:
{
"mcpServers": {
"ux-best-practices": {
"command": "ux-mcp-server",
"args": []
}
}
}
Add to Zed's settings (~/.config/zed/settings.json):
{
"context_servers": {
"ux-best-practices": {
"command": {
"path": "ux-mcp-server"
}
}
}
}
For custom applications using the MCP SDK:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "ux-mcp-server",
args: []
});
const client = new Client({
name: "my-app",
version: "1.0.0"
}, {
capabilities: {}
});
await client.connect(transport);
// List available resources
const resources = await client.listResources();
// Read a resource
const wcag = await client.readResource({ uri: "ux://accessibility/wcag" });
// Call a tool
const result = await client.callTool({
name: "check_contrast",
arguments: { foreground: "#333333", background: "#ffffff" }
});
On Windows, use full paths with escaped backslashes:
{
"mcpServers": {
"ux-best-practices": {
"command": "node",
"args": ["C:\\Users\\YourName\\ux-mcp-server\\dist\\index.js"]
}
}
}
Once configured, you can ask your AI assistant to use these UX tools and resources. Here are some example prompts:
"Analyze this button for accessibility issues"
β Uses: analyze_accessibility tool
"Check if #3b82f6 on #ffffff meets WCAG AA contrast requirements"
β Uses: check_contrast tool
"Generate an accessibility audit report for my login page"
β Uses: generate_accessibility_report tool
"I need to display a list of items with filtering - what UI pattern should I use?"
β Uses: suggest_pattern tool
"Generate an accessible modal dialog example"
β Uses: generate_component_example tool
"Create a color palette based on #3b82f6"
β Uses: generate_color_palette tool
"Generate a wireframe for a dashboard page"
β Uses: generate_wireframe tool
"Analyze this React component for performance issues"
β Uses: analyze_performance tool (checks Core Web Vitals, bundle size, loading patterns)
"Review this HTML page for SEO best practices"
β Uses: check_seo tool (validates meta tags, Open Graph, structured data)
"Suggest better microcopy for this error message"
β Uses: suggest_microcopy tool
"What form pattern should I use for a multi-step checkout?"
β Uses: recommend_form_pattern tool
"What animation should I use for a button click?"
β Uses: suggest_animation tool
"Suggest microinteractions for a toggle switch"
β Uses: suggest_microinteraction tool
"Calculate the SUS score from these survey responses"
β Uses: calculate_ux_metrics tool
"Suggest A/B test variants for my pricing page"
β Uses: suggest_ab_variant tool
"Check this page for dark patterns"
β Uses: detect_dark_patterns tool
"What are Nielsen's usability heuristics?"
β Reads: ux://usability/nielsen-heuristics
"Show me WCAG accessibility guidelines"
β Reads: ux://accessibility/wcag
"What are best practices for e-commerce checkout?"
β Reads: ux://ecommerce/patterns
"How do I design for neurodiversity?"
β Reads: ux://neurodiversity/design
# Watch mode during development
npm run watch
# Build for production
npm run build
# Test the server
npm run dev
All examples and guidelines are framework-agnostic, focusing on:
Works with React, Vue, Svelte, Angular, or vanilla JavaScript.
maxLength constraints on markup-accepting parametersconsole.error startup message that broke MCP client connections on WindowsParameter renames for security compliance β see CHANGELOG.md for the full migration guide.
| Tool | Old Parameter | New Parameter |
|---|---|---|
analyze_accessibility | code | content |
review_usability | code | content |
check_responsive | code | content |
analyze_performance | code | content |
check_seo | url | page_url |
generate_accessibility_report | url | page_identifier |
detect_dark_patterns | screenshot_url | screenshot_reference |
See the full changelog for previous versions.
We welcome contributions! Please see our Contributing Guide for details on:
Quick Start:
For security vulnerabilities, please see our Security Policy.
See CHANGELOG.md for a detailed history of changes.
This project is licensed under the MIT License - see the LICENSE file for details.
If this project helps you build better user experiences, consider supporting its development:
Your support helps:
Enterprise users: For priority support, custom integrations, or consulting, contact us.
Built for AI-assisted development with complete UX ecosystem coverage: accessibility, usability, performance, SEO, design systems, e-commerce, testing, ethical design, emerging technologies (Voice/AR/VR/AI), healthcare, finance, neurodiversity, and moreβall as first-class citizens.
Source-derived launch command. Check the maintainerβs required arguments and credentials before running:
npx -y @elsahafy/ux-mcp-serverMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-elsahafy-ux-mcp-server": {
"command": "npx",
"args": [
"-y",
"@elsahafy/ux-mcp-server"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the clientβs tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@elsahafy/ux-mcp-servernpmio.github.elsahafy/ux-mcp-server works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.