@elsahafy/ux-mcp-server 2.0.0 → 4.0.0

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.
@@ -0,0 +1,499 @@
1
+ {
2
+ "name": "Color Theory & Palettes",
3
+ "description": "Comprehensive guide to color theory, palette generation, accessibility, and color usage in UI/UX design",
4
+ "color_fundamentals": {
5
+ "color_models": {
6
+ "rgb": {
7
+ "description": "Red, Green, Blue - additive color (screens)",
8
+ "range": "0-255 per channel",
9
+ "format": "rgb(255, 100, 50)",
10
+ "use": "Digital displays, web, mobile"
11
+ },
12
+ "hex": {
13
+ "description": "Hexadecimal RGB representation",
14
+ "format": "#FF6432 (RRGGBB)",
15
+ "short": "#F64 (same as #FF6644)",
16
+ "use": "Web, CSS, most common"
17
+ },
18
+ "hsl": {
19
+ "description": "Hue, Saturation, Lightness",
20
+ "hue": "0-360 degrees (color wheel position)",
21
+ "saturation": "0-100% (color intensity)",
22
+ "lightness": "0-100% (brightness)",
23
+ "format": "hsl(210, 80%, 50%)",
24
+ "benefits": "Easier to create color variations",
25
+ "use": "CSS, design tools, palette generation"
26
+ },
27
+ "hsb_hsv": {
28
+ "description": "Hue, Saturation, Brightness/Value",
29
+ "use": "Photoshop, some design tools",
30
+ "similar_to": "HSL but different lightness calculation"
31
+ }
32
+ },
33
+ "color_properties": {
34
+ "hue": {
35
+ "description": "The color itself (red, blue, yellow)",
36
+ "measurement": "0-360 degrees on color wheel",
37
+ "examples": {
38
+ "red": "0°",
39
+ "yellow": "60°",
40
+ "green": "120°",
41
+ "cyan": "180°",
42
+ "blue": "240°",
43
+ "magenta": "300°"
44
+ }
45
+ },
46
+ "saturation": {
47
+ "description": "Color intensity (vivid vs gray)",
48
+ "range": "0% (gray) to 100% (full color)",
49
+ "high": "Vibrant, energetic, attention-grabbing",
50
+ "low": "Muted, subtle, sophisticated"
51
+ },
52
+ "lightness_brightness": {
53
+ "description": "How light or dark a color is",
54
+ "range": "0% (black) to 100% (white)",
55
+ "mid": "50% is pure hue in HSL"
56
+ }
57
+ }
58
+ },
59
+ "color_harmony": {
60
+ "description": "Combinations that work well together",
61
+ "schemes": {
62
+ "monochromatic": {
63
+ "description": "Variations of a single hue",
64
+ "method": "Same hue, different saturation/lightness",
65
+ "example": "Navy, blue, light blue, sky blue",
66
+ "pros": ["Harmonious", "Easy to create", "Clean look"],
67
+ "cons": ["Can be boring", "Lacks contrast"],
68
+ "use_when": "Professional, minimalist designs"
69
+ },
70
+ "analogous": {
71
+ "description": "Adjacent colors on color wheel",
72
+ "method": "Base color ± 30-60 degrees",
73
+ "example": "Blue, blue-green, green",
74
+ "pros": ["Harmonious", "Natural feel", "Versatile"],
75
+ "cons": ["Low contrast", "Can blend too much"],
76
+ "use_when": "Nature themes, calming interfaces"
77
+ },
78
+ "complementary": {
79
+ "description": "Opposite colors on color wheel",
80
+ "method": "Base color + 180 degrees",
81
+ "example": "Blue and orange, red and green",
82
+ "pros": ["High contrast", "Vibrant", "Energetic"],
83
+ "cons": ["Can be harsh", "Difficult to balance"],
84
+ "use_when": "Need strong contrast, CTAs, emphasis",
85
+ "tip": "Use one color dominant, other as accent (70-30 rule)"
86
+ },
87
+ "split_complementary": {
88
+ "description": "Base + two colors adjacent to complement",
89
+ "method": "Base color + (complement ± 30°)",
90
+ "example": "Blue, yellow-orange, red-orange",
91
+ "pros": ["High contrast", "More versatile than complementary", "Visually interesting"],
92
+ "use_when": "More options than complementary, still vibrant"
93
+ },
94
+ "triadic": {
95
+ "description": "Three colors equally spaced on wheel",
96
+ "method": "Base color + 120° + 240°",
97
+ "example": "Red, yellow, blue (primary colors)",
98
+ "pros": ["Vibrant", "Balanced", "Dynamic"],
99
+ "cons": ["Can be overwhelming", "Hard to balance"],
100
+ "use_when": "Playful brands, children's products",
101
+ "tip": "Let one color dominate, others as accents"
102
+ },
103
+ "tetradic": {
104
+ "description": "Four colors (two complementary pairs)",
105
+ "method": "Two sets of complements",
106
+ "example": "Blue, orange, yellow, purple",
107
+ "pros": ["Lots of variety"],
108
+ "cons": ["Very hard to balance", "Can look chaotic"],
109
+ "use_when": "Complex designs, need many colors",
110
+ "tip": "Let one color dominate strongly"
111
+ }
112
+ },
113
+ "60_30_10_rule": {
114
+ "description": "Color distribution formula",
115
+ "60_percent": "Dominant color (backgrounds, large areas)",
116
+ "30_percent": "Secondary color (supporting elements)",
117
+ "10_percent": "Accent color (CTAs, highlights, emphasis)",
118
+ "example": "60% white/light gray, 30% blue, 10% orange (CTA)",
119
+ "application": "Helps maintain balance and hierarchy"
120
+ }
121
+ },
122
+ "creating_palettes": {
123
+ "brand_colors": {
124
+ "primary": {
125
+ "description": "Main brand color",
126
+ "use": "Logo, main CTAs, headers, links",
127
+ "quantity": "1 color",
128
+ "considerations": ["Brand identity", "Industry norms", "Audience"]
129
+ },
130
+ "secondary": {
131
+ "description": "Supporting brand color(s)",
132
+ "use": "Accents, illustrations, secondary CTAs",
133
+ "quantity": "1-2 colors",
134
+ "relationship": "Complements primary"
135
+ },
136
+ "accent": {
137
+ "description": "Highlight and emphasis colors",
138
+ "use": "Buttons, badges, notifications, highlights",
139
+ "quantity": "1-3 colors",
140
+ "note": "Should stand out from primary/secondary"
141
+ }
142
+ },
143
+ "neutral_colors": {
144
+ "description": "Grays for text, backgrounds, borders",
145
+ "grayscale": {
146
+ "white": "#FFFFFF",
147
+ "gray_50": "#F9FAFB (lightest gray)",
148
+ "gray_100": "#F3F4F6",
149
+ "gray_200": "#E5E7EB",
150
+ "gray_300": "#D1D5DB",
151
+ "gray_400": "#9CA3AF",
152
+ "gray_500": "#6B7280 (mid gray)",
153
+ "gray_600": "#4B5563",
154
+ "gray_700": "#374151",
155
+ "gray_800": "#1F2937",
156
+ "gray_900": "#111827 (almost black)",
157
+ "black": "#000000"
158
+ },
159
+ "need": "7-10 shades for flexibility",
160
+ "warm_vs_cool": "Add slight color tint (warm: red/yellow, cool: blue)"
161
+ },
162
+ "semantic_colors": {
163
+ "description": "Colors with specific meanings",
164
+ "success": {
165
+ "color": "Green",
166
+ "use": "Success messages, confirmations, positive states",
167
+ "shades": "Light (backgrounds), Medium (borders), Dark (text/icons)"
168
+ },
169
+ "error": {
170
+ "color": "Red",
171
+ "use": "Error messages, warnings, destructive actions",
172
+ "accessibility": "Don't rely on color alone - use icons"
173
+ },
174
+ "warning": {
175
+ "color": "Yellow/Orange",
176
+ "use": "Warnings, alerts, caution",
177
+ "note": "Yellow can have contrast issues - use orange"
178
+ },
179
+ "info": {
180
+ "color": "Blue",
181
+ "use": "Informational messages, tips, neutral notifications"
182
+ }
183
+ },
184
+ "shades_and_tints": {
185
+ "tints": {
186
+ "description": "Adding white (lighter)",
187
+ "use": "Backgrounds, hover states, disabled states",
188
+ "method": "Increase lightness in HSL"
189
+ },
190
+ "shades": {
191
+ "description": "Adding black (darker)",
192
+ "use": "Text, emphasis, active states",
193
+ "method": "Decrease lightness in HSL"
194
+ },
195
+ "recommended_scale": {
196
+ "description": "Create 9-11 variations per color",
197
+ "50": "Lightest (backgrounds)",
198
+ "100_200_300_400": "Light variations",
199
+ "500": "Base color",
200
+ "600_700_800_900": "Dark variations",
201
+ "950": "Darkest"
202
+ },
203
+ "generation_method": {
204
+ "hsl_approach": "Adjust lightness: 95%, 90%, 80%, 70%, 50%, 40%, 30%, 20%, 10%",
205
+ "saturation_curve": "Reduce saturation slightly in very light/dark shades",
206
+ "tools": ["https://tailwindshades.com", "https://colorbox.io"]
207
+ }
208
+ }
209
+ },
210
+ "color_psychology": {
211
+ "description": "Emotions and associations evoked by colors",
212
+ "meanings": {
213
+ "red": {
214
+ "emotions": ["Passion", "Energy", "Urgency", "Danger", "Love", "Power"],
215
+ "use": "Sales, food, calls-to-action, warnings",
216
+ "industries": "Restaurants, retail, entertainment",
217
+ "negative": "Aggression, danger, debt",
218
+ "note": "Use sparingly - very attention-grabbing"
219
+ },
220
+ "orange": {
221
+ "emotions": ["Friendly", "Cheerful", "Confident", "Playful", "Affordable"],
222
+ "use": "CTAs, highlights, youth brands",
223
+ "industries": "Kids products, sports, technology",
224
+ "note": "Less aggressive than red, still energetic"
225
+ },
226
+ "yellow": {
227
+ "emotions": ["Optimistic", "Happy", "Warm", "Attention", "Caution"],
228
+ "use": "Highlights, warnings, happiness",
229
+ "industries": "Food, children, summer/travel",
230
+ "negative": "Anxiety, caution",
231
+ "accessibility": "Poor contrast - use sparingly for text"
232
+ },
233
+ "green": {
234
+ "emotions": ["Nature", "Growth", "Health", "Success", "Fresh", "Calm"],
235
+ "use": "Success states, health, eco-friendly, finance",
236
+ "industries": "Environment, health, finance, food",
237
+ "note": "Universally positive in most cultures"
238
+ },
239
+ "blue": {
240
+ "emotions": ["Trust", "Calm", "Professional", "Stable", "Secure"],
241
+ "use": "Corporate, finance, healthcare, technology",
242
+ "industries": "Most common - banks, tech, healthcare",
243
+ "note": "Most universally liked color",
244
+ "negative": "Can feel cold or unemotional"
245
+ },
246
+ "purple": {
247
+ "emotions": ["Luxury", "Creativity", "Wisdom", "Mystery", "Royalty"],
248
+ "use": "Premium products, beauty, creative fields",
249
+ "industries": "Beauty, luxury, creative, spiritual",
250
+ "note": "Rare in nature - feels special"
251
+ },
252
+ "pink": {
253
+ "emotions": ["Feminine", "Sweet", "Romantic", "Playful", "Youthful"],
254
+ "use": "Beauty, fashion, romance",
255
+ "industries": "Beauty, fashion, children (girls)",
256
+ "modern_use": "Millennial pink less gendered"
257
+ },
258
+ "brown": {
259
+ "emotions": ["Natural", "Earthy", "Reliable", "Rustic", "Warm"],
260
+ "use": "Organic products, coffee, chocolate",
261
+ "industries": "Food, outdoor, crafts",
262
+ "note": "Uncommon in digital UI"
263
+ },
264
+ "black": {
265
+ "emotions": ["Sophisticated", "Powerful", "Elegant", "Modern", "Formal"],
266
+ "use": "Luxury, fashion, text, minimalism",
267
+ "note": "Use dark gray (#1a1a1a) instead of pure black for less harshness"
268
+ },
269
+ "white": {
270
+ "emotions": ["Clean", "Simple", "Pure", "Modern", "Minimal"],
271
+ "use": "Backgrounds, spacing, minimalism",
272
+ "note": "Use off-white (#fafafa) for less eye strain"
273
+ },
274
+ "gray": {
275
+ "emotions": ["Neutral", "Professional", "Calm", "Balanced", "Formal"],
276
+ "use": "Text, backgrounds, borders, shadows",
277
+ "note": "Foundation of most UIs"
278
+ }
279
+ },
280
+ "cultural_differences": {
281
+ "note": "Color meanings vary by culture",
282
+ "examples": {
283
+ "red": "Luck (China), Danger (West), Mourning (South Africa)",
284
+ "white": "Purity (West), Mourning (East Asia)",
285
+ "yellow": "Happiness (West), Sacred (Buddhism)",
286
+ "green": "Nature (most), Sacred (Islam)"
287
+ },
288
+ "recommendation": "Research target audience's cultural context"
289
+ }
290
+ },
291
+ "accessibility": {
292
+ "contrast_ratios": {
293
+ "wcag_aa": {
294
+ "normal_text": "4.5:1 minimum (< 18px or < 14px bold)",
295
+ "large_text": "3:1 minimum (≥ 18px or ≥ 14px bold)"
296
+ },
297
+ "wcag_aaa": {
298
+ "normal_text": "7:1 minimum",
299
+ "large_text": "4.5:1 minimum"
300
+ },
301
+ "ui_components": {
302
+ "minimum": "3:1 for icons, borders, focus indicators",
303
+ "examples": "Buttons, form fields, graphical objects"
304
+ },
305
+ "tools": [
306
+ "WebAIM Contrast Checker",
307
+ "Stark plugin (Figma/Sketch)",
308
+ "Chrome DevTools Contrast Checker"
309
+ ]
310
+ },
311
+ "color_blindness": {
312
+ "types": {
313
+ "deuteranopia": "Red-green (most common, 5% of men)",
314
+ "protanopia": "Red-green variant",
315
+ "tritanopia": "Blue-yellow (rare)",
316
+ "achromatopsia": "Complete color blindness (very rare)"
317
+ },
318
+ "best_practices": [
319
+ "Don't rely on color alone to convey information",
320
+ "Use icons, labels, patterns in addition to color",
321
+ "Avoid red-green combinations for critical info",
322
+ "Test designs with color blindness simulators",
323
+ "Use high contrast",
324
+ "Provide alternative indicators (text, icons, underlines)"
325
+ ],
326
+ "tools": [
327
+ "Stark (color blindness simulator)",
328
+ "Color Oracle (free simulator)",
329
+ "Chrome DevTools vision simulator"
330
+ ]
331
+ },
332
+ "safe_combinations": {
333
+ "high_contrast": [
334
+ "Black on white",
335
+ "White on dark blue (#003366)",
336
+ "Dark gray (#333) on white",
337
+ "White on dark gray (#1a1a1a)"
338
+ ],
339
+ "avoid": [
340
+ "Red text on green background",
341
+ "Light gray on white",
342
+ "Yellow on white",
343
+ "Light blue on white"
344
+ ]
345
+ }
346
+ },
347
+ "ui_color_usage": {
348
+ "backgrounds": {
349
+ "primary": "White or very light gray (#fafafa, #f5f5f5)",
350
+ "secondary": "Light gray for sections (#f0f0f0, #e5e5e5)",
351
+ "tertiary": "Medium gray for cards (#e0e0e0)",
352
+ "dark_mode": "Dark gray (#121212), not pure black",
353
+ "avoid": "Bright colors for large background areas"
354
+ },
355
+ "text": {
356
+ "primary": "Dark gray (#1a1a1a, #333) on light backgrounds",
357
+ "secondary": "Medium gray (#666, #757575) for less important text",
358
+ "tertiary": "Light gray (#999, #aaa) for disabled or placeholder",
359
+ "on_dark": "White (#fff) or very light gray (#f5f5f5)",
360
+ "avoid": "Pure black (#000) - too harsh",
361
+ "links": "Blue (#0066cc) is convention, ensure 4.5:1 contrast"
362
+ },
363
+ "buttons": {
364
+ "primary_cta": {
365
+ "color": "Brand primary color",
366
+ "contrast": "High contrast with text",
367
+ "states": {
368
+ "default": "Base color",
369
+ "hover": "10-15% darker",
370
+ "active": "20% darker",
371
+ "disabled": "Low saturation, reduced opacity"
372
+ }
373
+ },
374
+ "secondary": {
375
+ "color": "Outline or ghost (transparent)",
376
+ "style": "Border with brand color"
377
+ },
378
+ "destructive": {
379
+ "color": "Red (#dc2626)",
380
+ "use": "Delete, remove, cancel subscriptions"
381
+ }
382
+ },
383
+ "borders": {
384
+ "subtle": "Light gray (#e0e0e0, #d0d0d0)",
385
+ "medium": "Medium gray (#c0c0c0)",
386
+ "strong": "Dark gray (#999)",
387
+ "avoid": "Black borders unless intentional"
388
+ },
389
+ "shadows": {
390
+ "color": "Black with low opacity (0.05-0.15)",
391
+ "approach": "Multiple layers for depth",
392
+ "example": "box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);"
393
+ },
394
+ "focus_indicators": {
395
+ "color": "High contrast outline (often blue #0066cc)",
396
+ "requirement": "Must meet 3:1 contrast ratio",
397
+ "style": "2-3px outline or ring"
398
+ }
399
+ },
400
+ "dark_mode": {
401
+ "principles": [
402
+ "Don't just invert colors",
403
+ "Use dark gray (#121212), not pure black",
404
+ "Reduce white intensity (use #e0e0e0 instead of #fff)",
405
+ "Lower saturation for colors",
406
+ "Maintain contrast ratios",
407
+ "Use elevation with lighter grays"
408
+ ],
409
+ "palette_adjustments": {
410
+ "backgrounds": "#121212, #1e1e1e, #2a2a2a (elevation levels)",
411
+ "text": "#e0e0e0 (primary), #a0a0a0 (secondary), #707070 (tertiary)",
412
+ "colors": "Reduce saturation by 10-20%, increase lightness slightly",
413
+ "borders": "Lighter grays (#3a3a3a, #4a4a4a)"
414
+ }
415
+ },
416
+ "tools": {
417
+ "palette_generators": [
418
+ "Coolors.co - Generate color palettes",
419
+ "Adobe Color - Color wheel and harmony rules",
420
+ "Paletton - Color scheme designer",
421
+ "Colorbox.io - Accessible color systems",
422
+ "Happy Hues - Palette inspiration with examples"
423
+ ],
424
+ "contrast_checkers": [
425
+ "WebAIM Contrast Checker",
426
+ "Contrast Ratio (Lea Verou)",
427
+ "Stark (Figma/Sketch plugin)"
428
+ ],
429
+ "shade_generators": [
430
+ "Tailwind Shades - Generate color scales",
431
+ "Colorbox.io - Perceptually uniform scales",
432
+ "0to255.com - Find lighter/darker shades"
433
+ ],
434
+ "accessibility": [
435
+ "Who Can Use - Preview contrast accessibility",
436
+ "Color Oracle - Color blindness simulator",
437
+ "Stark - Complete accessibility toolkit"
438
+ ]
439
+ },
440
+ "best_practices": [
441
+ "Start with grayscale design, add color intentionally",
442
+ "Limit to 1-2 primary colors + neutrals",
443
+ "Use color to guide attention to important elements",
444
+ "Create 9-11 shades of each color for flexibility",
445
+ "Maintain 4.5:1 contrast for text",
446
+ "Don't rely on color alone to convey information",
447
+ "Test with color blindness simulators",
448
+ "Use semantic colors consistently (green = success, red = error)",
449
+ "Apply 60-30-10 rule for balance",
450
+ "Use color psychology appropriate for brand/audience",
451
+ "Create distinct hover/active states (10-20% darker)",
452
+ "Use warm grays for friendly feel, cool for professional",
453
+ "Avoid pure black and pure white in UI",
454
+ "Test colors in context, not isolation",
455
+ "Document your palette (design system)",
456
+ "Use CSS custom properties for maintainability",
457
+ "Consider cultural color meanings for global audiences",
458
+ "Provide dark mode alternative",
459
+ "Use desaturated colors for large areas",
460
+ "Reserve vibrant colors for small accents"
461
+ ],
462
+ "anti_patterns": [
463
+ "Too many colors (> 5 brand colors)",
464
+ "Using color alone for critical information",
465
+ "Insufficient contrast (< 4.5:1 for text)",
466
+ "Pure black (#000) text or backgrounds",
467
+ "Overly saturated backgrounds",
468
+ "Neon colors for large areas",
469
+ "Red-green combinations without alternatives",
470
+ "No hover states on interactive elements",
471
+ "Using color without testing accessibility",
472
+ "Inconsistent use of semantic colors",
473
+ "Too many shades (> 15 per color)",
474
+ "Ignoring cultural color meanings",
475
+ "Not testing with color blindness simulators",
476
+ "Vibrant colors for body text",
477
+ "No visual hierarchy through color"
478
+ ],
479
+ "color_naming": {
480
+ "approaches": {
481
+ "descriptive": {
482
+ "example": "sky-blue, forest-green, sunset-orange",
483
+ "pros": "Intuitive",
484
+ "cons": "Ambiguous, hard to maintain"
485
+ },
486
+ "numeric": {
487
+ "example": "blue-500, gray-700, red-300",
488
+ "pros": "Scalable, clear hierarchy",
489
+ "cons": "Less intuitive"
490
+ },
491
+ "functional": {
492
+ "example": "primary, secondary, accent, text-primary, bg-surface",
493
+ "pros": "Clear usage",
494
+ "cons": "Less flexible"
495
+ }
496
+ },
497
+ "recommended": "Combine numeric for scales (gray-100 to gray-900) with functional for semantic colors (primary, success, error)"
498
+ }
499
+ }