@elsahafy/ux-mcp-server 4.0.0 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +153 -331
  3. package/package.json +10 -8
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 MCP Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,331 +1,153 @@
1
- # UX MCP Server
2
-
3
- [![npm version](https://badge.fury.io/js/@elsahafy%2Fux-mcp-server.svg)](https://www.npmjs.com/package/@elsahafy/ux-mcp-server)
4
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
-
6
- Model Context Protocol server that provides comprehensive UX best practices, accessibility guidelines (WCAG), usability heuristics (Nielsen), UI patterns, performance optimization, SEO, internationalization, animation, and React patterns to AI assistants.
7
-
8
- ## Installation
9
-
10
- ### npm (Recommended)
11
-
12
- ```bash
13
- npm install -g @elsahafy/ux-mcp-server
14
- ```
15
-
16
- ### npx (No Installation)
17
-
18
- ```bash
19
- npx @elsahafy/ux-mcp-server
20
- ```
21
-
22
- ### From Source
23
-
24
- ```bash
25
- git clone https://github.com/elsahafy/ux-mcp-server.git
26
- cd ux-mcp-server
27
- npm install
28
- npm run build
29
- ```
30
-
31
- ## Features
32
-
33
- ### 📚 Resources (12 Knowledge Bases)
34
-
35
- Access comprehensive UX knowledge bases:
36
-
37
- - **ux://accessibility/wcag** - WCAG 2.1 AA Guidelines with code checks
38
- - **ux://usability/nielsen-heuristics** - Nielsen's 10 Usability Heuristics
39
- - **ux://patterns/ui-patterns** - Common UI patterns library
40
- - **ux://design-systems/tokens** - Design system principles & tokens
41
- - **ux://responsive/design** - Responsive design & mobile-first principles
42
- - **ux://themes/dark-mode** - Dark mode implementation guide
43
- - **ux://content/error-messages** - User-friendly error message library
44
- - **ux://performance/optimization** - Core Web Vitals & performance best practices
45
- - **ux://seo/guidelines** - SEO best practices, meta tags, structured data
46
- - **ux://i18n/patterns** - Internationalization & localization patterns
47
- - **ux://animation/motion** - Motion design principles & accessibility
48
- - **ux://react/patterns** - Advanced React patterns & state management
49
-
50
- ### 🛠️ Tools (11 Dynamic Operations)
51
-
52
- Powerful tools for UX analysis and generation:
53
-
54
- 1. **analyze_accessibility** - Check code for WCAG violations
55
- 2. **review_usability** - Evaluate against Nielsen's heuristics
56
- 3. **suggest_pattern** - Find appropriate UI patterns for use cases
57
- 4. **generate_component_example** - Create accessible HTML/CSS examples
58
- 5. **audit_design_system** - Review design token structure
59
- 6. **check_contrast** - Verify WCAG color contrast ratios
60
- 7. **check_responsive** - Analyze mobile-first and responsive design
61
- 8. **suggest_error_message** - Get user-friendly error messages
62
- 9. **analyze_performance** - Check code for performance issues & Core Web Vitals
63
- 10. **check_seo** - Analyze HTML for SEO best practices
64
- 11. **suggest_animation** - Recommend animations for UI interactions
65
-
66
- ### 💬 Prompts (Pre-configured Reviews)
67
-
68
- Three comprehensive review workflows:
69
-
70
- 1. **accessibility_review** - Full WCAG accessibility audit
71
- 2. **usability_audit** - Complete Nielsen heuristics evaluation
72
- 3. **design_system_setup** - Guide for creating design systems
73
-
74
- ## Usage with Claude Desktop
75
-
76
- After installing via npm, add to your Claude Desktop config file.
77
-
78
- ### Configuration
79
-
80
- **Location of config file:**
81
- - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
82
- - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
83
-
84
- **If installed globally via npm:**
85
-
86
- ```json
87
- {
88
- "mcpServers": {
89
- "ux-best-practices": {
90
- "command": "ux-mcp-server"
91
- }
92
- }
93
- }
94
- ```
95
-
96
- **If installed from source:**
97
-
98
- ```json
99
- {
100
- "mcpServers": {
101
- "ux-best-practices": {
102
- "command": "node",
103
- "args": [
104
- "/absolute/path/to/ux-mcp-server/dist/index.js"
105
- ]
106
- }
107
- }
108
- }
109
- ```
110
-
111
- On Windows (source install), the path might look like:
112
- ```json
113
- "C:\\Users\\YourName\\ux-mcp-server\\dist\\index.js"
114
- ```
115
-
116
- After updating the config, restart Claude Desktop.
117
-
118
- ## Example Usage
119
-
120
- ### Analyze Accessibility
121
-
122
- ```typescript
123
- // In Claude Desktop, you can now ask:
124
- "Analyze this button for accessibility issues"
125
-
126
- // Claude will use the analyze_accessibility tool
127
- ```
128
-
129
- ### Get UI Pattern Suggestions
130
-
131
- ```typescript
132
- "I need to display a list of items with filtering - what UI pattern should I use?"
133
-
134
- // Claude will use suggest_pattern tool
135
- ```
136
-
137
- ### Generate Component Examples
138
-
139
- ```typescript
140
- "Generate an accessible modal dialog example"
141
-
142
- // Claude will use generate_component_example tool
143
- ```
144
-
145
- ### Check Color Contrast
146
-
147
- ```typescript
148
- "Check if #3b82f6 on #ffffff meets WCAG AA"
149
-
150
- // Claude will use check_contrast tool
151
- ```
152
-
153
- ### Analyze Performance
154
-
155
- ```typescript
156
- "Analyze this React component for performance issues"
157
-
158
- // Claude will use analyze_performance tool to check:
159
- // - Image optimization
160
- // - CSS performance
161
- // - JavaScript bundle size
162
- // - Loading patterns
163
- ```
164
-
165
- ### Check SEO
166
-
167
- ```typescript
168
- "Review this HTML page for SEO best practices"
169
-
170
- // Claude will use check_seo tool to validate:
171
- // - Meta tags (title, description)
172
- // - Open Graph tags
173
- // - Structured data (JSON-LD)
174
- // - Canonical URLs
175
- ```
176
-
177
- ### Suggest Animation
178
-
179
- ```typescript
180
- "What animation should I use for a button click?"
181
-
182
- // Claude will use suggest_animation tool to recommend:
183
- // - Animation type
184
- // - Duration and easing
185
- // - CSS/JS implementation
186
- // - Accessibility considerations
187
- ```
188
-
189
- ## Knowledge Base Contents
190
-
191
- ### WCAG Guidelines
192
- - Perceivable (alt text, contrast, semantic HTML)
193
- - Operable (keyboard access, focus management)
194
- - Understandable (error handling, clear labels)
195
- - Robust (ARIA, assistive technology support)
196
-
197
- ### Nielsen's Heuristics
198
- 1. Visibility of System Status
199
- 2. Match Between System and Real World
200
- 3. User Control and Freedom
201
- 4. Consistency and Standards
202
- 5. Error Prevention
203
- 6. Recognition Rather than Recall
204
- 7. Flexibility and Efficiency of Use
205
- 8. Aesthetic and Minimalist Design
206
- 9. Help Users Recognize, Diagnose, and Recover from Errors
207
- 10. Help and Documentation
208
-
209
- ### UI Patterns
210
- - **Navigation**: Headers, breadcrumbs, tabs
211
- - **Forms**: Single column, multi-step wizards, validation
212
- - **Feedback**: Toasts, modals, loading states
213
- - **Data Display**: Tables, cards, empty states
214
- - **Input Components**: Search, date pickers, file upload
215
-
216
- ### Design System Principles
217
- - Atomic Design methodology
218
- - Design token structure (primitive → semantic → component)
219
- - Typography scales
220
- - Spacing systems
221
- - Color theory
222
- - Component API design
223
-
224
- ### Performance Optimization
225
- - Core Web Vitals (LCP, INP, CLS)
226
- - Image optimization strategies
227
- - CSS performance
228
- - JavaScript bundle optimization
229
- - Lazy loading & code splitting
230
- - Caching strategies
231
- - Performance budgets
232
-
233
- ### SEO Best Practices
234
- - Meta tags (title, description, keywords)
235
- - Open Graph protocol
236
- - Twitter Cards
237
- - Structured data (JSON-LD, Schema.org)
238
- - Technical SEO (robots.txt, sitemap, canonical)
239
- - Local SEO & rich snippets
240
-
241
- ### Internationalization (i18n)
242
- - Text direction (LTR/RTL support)
243
- - Locale-aware formatting (dates, numbers, currencies)
244
- - Translation patterns
245
- - Cultural considerations
246
- - Font and character set handling
247
- - URL structures for multilingual sites
248
-
249
- ### Animation & Motion Design
250
- - Disney's 12 principles of animation
251
- - Timing and easing functions
252
- - Motion design principles
253
- - Performance (GPU acceleration)
254
- - Accessibility (prefers-reduced-motion)
255
- - Common UI animation patterns
256
-
257
- ### React Patterns
258
- - Compound components
259
- - Custom hooks
260
- - State management strategies
261
- - Performance optimization (memoization, code splitting)
262
- - Error boundaries
263
- - Accessibility patterns in React
264
- - Testing best practices
265
-
266
- ## Development
267
-
268
- ```bash
269
- # Watch mode during development
270
- npm run watch
271
-
272
- # Build for production
273
- npm run build
274
-
275
- # Test the server
276
- npm run dev
277
- ```
278
-
279
- ## Framework Agnostic
280
-
281
- All examples and guidelines are framework-agnostic, focusing on:
282
- - Semantic HTML
283
- - CSS best practices
284
- - ARIA attributes
285
- - Accessibility standards
286
- - Universal UX principles
287
-
288
- Works with React, Vue, Svelte, Angular, or vanilla JavaScript.
289
-
290
- ## What's New in v2.0.0
291
-
292
- - ✨ 5 new knowledge resources: Performance, SEO, i18n, Animation, React Patterns
293
- - 🛠️ 3 new tools: analyze_performance, check_seo, suggest_animation
294
- - 📦 Total: 12 resources, 11 tools, 3 prompts
295
- - 🚀 Published to npm for easy installation
296
-
297
- ## Contributing
298
-
299
- To add new patterns or guidelines:
300
-
301
- 1. Add content to appropriate file in `knowledge/` directory
302
- 2. Update tool implementations in `src/index.ts` if needed
303
- 3. Rebuild: `npm run build`
304
- 4. Test locally: `npm run dev`
305
- 5. Submit a pull request
306
-
307
- ## License
308
-
309
- MIT
310
-
311
- ## Credits
312
-
313
- - WCAG 2.1 Guidelines from W3C
314
- - Nielsen's Usability Heuristics by Jakob Nielsen
315
- - UI Patterns from established design systems and best practices
316
- - Design Token concepts from design system community
317
- - Core Web Vitals from Google Web.dev
318
- - SEO best practices from Google Search Central
319
- - Animation principles from Disney and Material Design
320
- - React patterns from React community and best practices
321
- - i18n standards from Unicode CLDR and W3C
322
-
323
- ## Links
324
-
325
- - **npm Package**: https://www.npmjs.com/package/@elsahafy/ux-mcp-server
326
- - **GitHub Repository**: https://github.com/elsahafy/ux-mcp-server
327
- - **Issues & Feedback**: https://github.com/elsahafy/ux-mcp-server/issues
328
-
329
- ---
330
-
331
- **Built for AI-assisted development with accessibility, usability, performance, and SEO as first-class citizens.**
1
+ # MCP Registry
2
+
3
+ The MCP registry provides MCP clients with a list of MCP servers, like an app store for MCP servers.
4
+
5
+ [**📤 Publish my MCP server**](docs/modelcontextprotocol-io/quickstart.mdx) | [**⚡️ Live API docs**](https://registry.modelcontextprotocol.io/docs) | [**👀 Ecosystem vision**](docs/design/ecosystem-vision.md) | 📖 **[Full documentation](./docs)**
6
+
7
+ ## Development Status
8
+
9
+ **2025-10-24 update**: The Registry API has entered an **API freeze (v0.1)** 🎉. For the next month or more, the API will remain stable with no breaking changes, allowing integrators to confidently implement support. This freeze applies to v0.1 while development continues on v0. We'll use this period to validate the API in real-world integrations and gather feedback to shape v1 for general availability. Thank you to everyone for your contributions and patience—your involvement has been key to getting us here!
10
+
11
+ **2025-09-08 update**: The registry has launched in preview 🎉 ([announcement blog post](https://blog.modelcontextprotocol.io/posts/2025-09-08-mcp-registry-preview/)). While the system is now more stable, this is still a preview release and breaking changes or data resets may occur. A general availability (GA) release will follow later. We'd love your feedback in [GitHub discussions](https://github.com/modelcontextprotocol/registry/discussions/new?category=ideas) or in the [#registry-dev Discord](https://discord.com/channels/1358869848138059966/1369487942862504016) ([joining details here](https://modelcontextprotocol.io/community/communication)).
12
+
13
+ Current key maintainers:
14
+ - **Adam Jones** (Anthropic) [@domdomegg](https://github.com/domdomegg)
15
+ - **Tadas Antanavicius** (PulseMCP) [@tadasant](https://github.com/tadasant)
16
+ - **Toby Padilla** (GitHub) [@toby](https://github.com/toby)
17
+ - **Radoslav (Rado) Dimitrov** (Stacklok) [@rdimitrov](https://github.com/rdimitrov)
18
+
19
+ ## Contributing
20
+
21
+ We use multiple channels for collaboration - see [modelcontextprotocol.io/community/communication](https://modelcontextprotocol.io/community/communication).
22
+
23
+ Often (but not always) ideas flow through this pipeline:
24
+
25
+ - **[Discord](https://modelcontextprotocol.io/community/communication)** - Real-time community discussions
26
+ - **[Discussions](https://github.com/modelcontextprotocol/registry/discussions)** - Propose and discuss product/technical requirements
27
+ - **[Issues](https://github.com/modelcontextprotocol/registry/issues)** - Track well-scoped technical work
28
+ - **[Pull Requests](https://github.com/modelcontextprotocol/registry/pulls)** - Contribute work towards issues
29
+
30
+ ### Quick start:
31
+
32
+ #### Pre-requisites
33
+
34
+ - **Docker**
35
+ - **Go 1.24.x**
36
+ - **ko** - Container image builder for Go ([installation instructions](https://ko.build/install/))
37
+ - **golangci-lint v2.4.0**
38
+
39
+ #### Running the server
40
+
41
+ ```bash
42
+ # Start full development environment
43
+ make dev-compose
44
+ ```
45
+
46
+ This starts the registry at [`localhost:8080`](http://localhost:8080) with PostgreSQL. The database uses ephemeral storage and is reset each time you restart the containers, ensuring a clean state for development and testing.
47
+
48
+ **Note:** The registry uses [ko](https://ko.build) to build container images. The `make dev-compose` command automatically builds the registry image with ko and loads it into your local Docker daemon before starting the services.
49
+
50
+ By default, the registry seeds from the production API with a filtered subset of servers (to keep startup fast). This ensures your local environment mirrors production behavior and all seed data passes validation. For offline development you can seed from a file without validation with `MCP_REGISTRY_SEED_FROM=data/seed.json MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=false make dev-compose`.
51
+
52
+ The setup can be configured with environment variables in [docker-compose.yml](./docker-compose.yml) - see [.env.example](./.env.example) for a reference.
53
+
54
+ <details>
55
+ <summary>Alternative: Running a pre-built Docker image</summary>
56
+
57
+ Pre-built Docker images are automatically published to GitHub Container Registry:
58
+
59
+ ```bash
60
+ # Run latest stable release
61
+ docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:latest
62
+
63
+ # Run latest from main branch (continuous deployment)
64
+ docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main
65
+
66
+ # Run specific release version
67
+ docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0
68
+
69
+ # Run development build from main branch
70
+ docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250906-abc123d
71
+ ```
72
+
73
+ **Available tags:**
74
+ - **Releases**: `latest`, `v1.0.0`, `v1.1.0`, etc.
75
+ - **Continuous**: `main` (latest main branch build)
76
+ - **Development**: `main-<date>-<sha>` (specific commit builds)
77
+
78
+ </details>
79
+
80
+ #### Publishing a server
81
+
82
+ To publish a server, we've built a simple CLI. You can use it with:
83
+
84
+ ```bash
85
+ # Build the latest CLI
86
+ make publisher
87
+
88
+ # Use it!
89
+ ./bin/mcp-publisher --help
90
+ ```
91
+
92
+ See [the publisher guide](./docs/modelcontextprotocol-io/quickstart.mdx) for more details.
93
+
94
+ #### Other commands
95
+
96
+ ```bash
97
+ # Run lint, unit tests and integration tests
98
+ make check
99
+ ```
100
+
101
+ There are also a few more helpful commands for development. Run `make help` to learn more, or look in [Makefile](./Makefile).
102
+
103
+ <!--
104
+ For Claude and other AI tools: Always prefer make targets over custom commands where possible.
105
+ -->
106
+
107
+ ## Architecture
108
+
109
+ ### Project Structure
110
+
111
+ ```
112
+ ├── cmd/ # Application entry points
113
+ │ └── publisher/ # Server publishing tool
114
+ ├── data/ # Seed data
115
+ ├── deploy/ # Deployment configuration (Pulumi)
116
+ ├── docs/ # Documentation
117
+ ├── internal/ # Private application code
118
+ │ ├── api/ # HTTP handlers and routing
119
+ │ ├── auth/ # Authentication (GitHub OAuth, JWT, namespace blocking)
120
+ │ ├── config/ # Configuration management
121
+ │ ├── database/ # Data persistence (PostgreSQL)
122
+ │ ├── service/ # Business logic
123
+ │ ├── telemetry/ # Metrics and monitoring
124
+ │ └── validators/ # Input validation
125
+ ├── pkg/ # Public packages
126
+ │ ├── api/ # API types and structures
127
+ │ │ └── v0/ # Version 0 API types
128
+ │ └── model/ # Data models for server.json
129
+ ├── scripts/ # Development and testing scripts
130
+ ├── tests/ # Integration tests
131
+ └── tools/ # CLI tools and utilities
132
+ └── validate-*.sh # Schema validation tools
133
+ ```
134
+
135
+ ### Authentication
136
+
137
+ Publishing supports multiple authentication methods:
138
+ - **GitHub OAuth** - For publishing by logging into GitHub
139
+ - **GitHub OIDC** - For publishing from GitHub Actions
140
+ - **DNS verification** - For proving ownership of a domain and its subdomains
141
+ - **HTTP verification** - For proving ownership of a domain
142
+
143
+ The registry validates namespace ownership when publishing. E.g. to publish...:
144
+ - `io.github.domdomegg/my-cool-mcp` you must login to GitHub as `domdomegg`, or be in a GitHub Action on domdomegg's repos
145
+ - `me.adamjones/my-cool-mcp` you must prove ownership of `adamjones.me` via DNS or HTTP challenge
146
+
147
+ ## Community Projects
148
+
149
+ Check out [community projects](docs/community-projects.md) to explore notable registry-related work created by the community.
150
+
151
+ ## More documentation
152
+
153
+ See the [documentation](./docs) for more details if your question has not been answered here!
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@elsahafy/ux-mcp-server",
3
- "version": "4.0.0",
4
- "description": "Model Context Protocol server for UX best practices, accessibility guidelines (WCAG), usability heuristics (Nielsen), UI patterns, and design systems",
3
+ "version": "4.1.1",
4
+ "mcpName": "io.github.elsahafy/ux-mcp-server",
5
+ "description": "MCP server providing 28 UX knowledge resources, 23 analysis tools & 4 workflow prompts. Works with Claude, Cursor, Continue.dev, Cline, Zed & any MCP client. Complete UX ecosystem coverage.",
5
6
  "type": "module",
6
7
  "main": "dist/index.js",
7
8
  "bin": {
@@ -27,17 +28,18 @@
27
28
  "accessibility",
28
29
  "a11y",
29
30
  "wcag",
30
- "wcag-aa",
31
31
  "design-systems",
32
- "design-tokens",
33
32
  "usability",
34
33
  "nielsen-heuristics",
35
34
  "ui-patterns",
36
- "accessible",
37
- "frontend",
38
- "web-design",
35
+ "ai-tools",
39
36
  "claude",
40
- "ai-tools"
37
+ "cursor",
38
+ "continue-dev",
39
+ "cline",
40
+ "zed",
41
+ "llm-tools",
42
+ "ai-assistant"
41
43
  ],
42
44
  "repository": {
43
45
  "type": "git",