mozaic-mcp-server 1.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.
Files changed (161) hide show
  1. package/INSTALLATION.md +232 -0
  2. package/README.md +262 -0
  3. package/SKILLS.md +411 -0
  4. package/bin/install-skills.js +171 -0
  5. package/data/mozaic.db +0 -0
  6. package/data/mozaic.db-shm +0 -0
  7. package/data/mozaic.db-wal +0 -0
  8. package/dist/__tests__/sanity-check.test.d.ts +2 -0
  9. package/dist/__tests__/sanity-check.test.d.ts.map +1 -0
  10. package/dist/__tests__/sanity-check.test.js +167 -0
  11. package/dist/__tests__/sanity-check.test.js.map +1 -0
  12. package/dist/__tests__/tools.integration.test.d.ts +2 -0
  13. package/dist/__tests__/tools.integration.test.d.ts.map +1 -0
  14. package/dist/__tests__/tools.integration.test.js +220 -0
  15. package/dist/__tests__/tools.integration.test.js.map +1 -0
  16. package/dist/db/queries.d.ts +144 -0
  17. package/dist/db/queries.d.ts.map +1 -0
  18. package/dist/db/queries.js +536 -0
  19. package/dist/db/queries.js.map +1 -0
  20. package/dist/db/schema.d.ts +4 -0
  21. package/dist/db/schema.d.ts.map +1 -0
  22. package/dist/db/schema.js +253 -0
  23. package/dist/db/schema.js.map +1 -0
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +416 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/parsers/__tests__/docs-parser.test.d.ts +2 -0
  29. package/dist/parsers/__tests__/docs-parser.test.d.ts.map +1 -0
  30. package/dist/parsers/__tests__/docs-parser.test.js +251 -0
  31. package/dist/parsers/__tests__/docs-parser.test.js.map +1 -0
  32. package/dist/parsers/__tests__/icons-parser.test.d.ts +2 -0
  33. package/dist/parsers/__tests__/icons-parser.test.d.ts.map +1 -0
  34. package/dist/parsers/__tests__/icons-parser.test.js +169 -0
  35. package/dist/parsers/__tests__/icons-parser.test.js.map +1 -0
  36. package/dist/parsers/__tests__/react-parser.test.d.ts +2 -0
  37. package/dist/parsers/__tests__/react-parser.test.d.ts.map +1 -0
  38. package/dist/parsers/__tests__/react-parser.test.js +274 -0
  39. package/dist/parsers/__tests__/react-parser.test.js.map +1 -0
  40. package/dist/parsers/__tests__/scss-parser.test.d.ts +2 -0
  41. package/dist/parsers/__tests__/scss-parser.test.d.ts.map +1 -0
  42. package/dist/parsers/__tests__/scss-parser.test.js +364 -0
  43. package/dist/parsers/__tests__/scss-parser.test.js.map +1 -0
  44. package/dist/parsers/__tests__/tokens-parser.test.d.ts +2 -0
  45. package/dist/parsers/__tests__/tokens-parser.test.d.ts.map +1 -0
  46. package/dist/parsers/__tests__/tokens-parser.test.js +172 -0
  47. package/dist/parsers/__tests__/tokens-parser.test.js.map +1 -0
  48. package/dist/parsers/__tests__/vue-parser.test.d.ts +2 -0
  49. package/dist/parsers/__tests__/vue-parser.test.d.ts.map +1 -0
  50. package/dist/parsers/__tests__/vue-parser.test.js +207 -0
  51. package/dist/parsers/__tests__/vue-parser.test.js.map +1 -0
  52. package/dist/parsers/docs-parser.d.ts +4 -0
  53. package/dist/parsers/docs-parser.d.ts.map +1 -0
  54. package/dist/parsers/docs-parser.js +237 -0
  55. package/dist/parsers/docs-parser.js.map +1 -0
  56. package/dist/parsers/icons-parser.d.ts +33 -0
  57. package/dist/parsers/icons-parser.d.ts.map +1 -0
  58. package/dist/parsers/icons-parser.js +125 -0
  59. package/dist/parsers/icons-parser.js.map +1 -0
  60. package/dist/parsers/react-parser.d.ts +3 -0
  61. package/dist/parsers/react-parser.d.ts.map +1 -0
  62. package/dist/parsers/react-parser.js +406 -0
  63. package/dist/parsers/react-parser.js.map +1 -0
  64. package/dist/parsers/scss-parser.d.ts +9 -0
  65. package/dist/parsers/scss-parser.d.ts.map +1 -0
  66. package/dist/parsers/scss-parser.js +351 -0
  67. package/dist/parsers/scss-parser.js.map +1 -0
  68. package/dist/parsers/tokens/border-parser.d.ts +3 -0
  69. package/dist/parsers/tokens/border-parser.d.ts.map +1 -0
  70. package/dist/parsers/tokens/border-parser.js +83 -0
  71. package/dist/parsers/tokens/border-parser.js.map +1 -0
  72. package/dist/parsers/tokens/color-parser.d.ts +3 -0
  73. package/dist/parsers/tokens/color-parser.d.ts.map +1 -0
  74. package/dist/parsers/tokens/color-parser.js +88 -0
  75. package/dist/parsers/tokens/color-parser.js.map +1 -0
  76. package/dist/parsers/tokens/grid-parser.d.ts +3 -0
  77. package/dist/parsers/tokens/grid-parser.d.ts.map +1 -0
  78. package/dist/parsers/tokens/grid-parser.js +97 -0
  79. package/dist/parsers/tokens/grid-parser.js.map +1 -0
  80. package/dist/parsers/tokens/index.d.ts +9 -0
  81. package/dist/parsers/tokens/index.d.ts.map +1 -0
  82. package/dist/parsers/tokens/index.js +10 -0
  83. package/dist/parsers/tokens/index.js.map +1 -0
  84. package/dist/parsers/tokens/screen-parser.d.ts +3 -0
  85. package/dist/parsers/tokens/screen-parser.d.ts.map +1 -0
  86. package/dist/parsers/tokens/screen-parser.js +54 -0
  87. package/dist/parsers/tokens/screen-parser.js.map +1 -0
  88. package/dist/parsers/tokens/shadow-parser.d.ts +3 -0
  89. package/dist/parsers/tokens/shadow-parser.d.ts.map +1 -0
  90. package/dist/parsers/tokens/shadow-parser.js +62 -0
  91. package/dist/parsers/tokens/shadow-parser.js.map +1 -0
  92. package/dist/parsers/tokens/spacing-parser.d.ts +4 -0
  93. package/dist/parsers/tokens/spacing-parser.d.ts.map +1 -0
  94. package/dist/parsers/tokens/spacing-parser.js +85 -0
  95. package/dist/parsers/tokens/spacing-parser.js.map +1 -0
  96. package/dist/parsers/tokens/types.d.ts +33 -0
  97. package/dist/parsers/tokens/types.d.ts.map +1 -0
  98. package/dist/parsers/tokens/types.js +42 -0
  99. package/dist/parsers/tokens/types.js.map +1 -0
  100. package/dist/parsers/tokens/typography-parser.d.ts +3 -0
  101. package/dist/parsers/tokens/typography-parser.d.ts.map +1 -0
  102. package/dist/parsers/tokens/typography-parser.js +76 -0
  103. package/dist/parsers/tokens/typography-parser.js.map +1 -0
  104. package/dist/parsers/tokens-parser.d.ts +18 -0
  105. package/dist/parsers/tokens-parser.d.ts.map +1 -0
  106. package/dist/parsers/tokens-parser.js +57 -0
  107. package/dist/parsers/tokens-parser.js.map +1 -0
  108. package/dist/parsers/vue-parser.d.ts +3 -0
  109. package/dist/parsers/vue-parser.d.ts.map +1 -0
  110. package/dist/parsers/vue-parser.js +343 -0
  111. package/dist/parsers/vue-parser.js.map +1 -0
  112. package/dist/tools/generate-react-component.d.ts +35 -0
  113. package/dist/tools/generate-react-component.d.ts.map +1 -0
  114. package/dist/tools/generate-react-component.js +81 -0
  115. package/dist/tools/generate-react-component.js.map +1 -0
  116. package/dist/tools/generate-vue-component.d.ts +35 -0
  117. package/dist/tools/generate-vue-component.d.ts.map +1 -0
  118. package/dist/tools/generate-vue-component.js +81 -0
  119. package/dist/tools/generate-vue-component.js.map +1 -0
  120. package/dist/tools/get-component-info.d.ts +52 -0
  121. package/dist/tools/get-component-info.d.ts.map +1 -0
  122. package/dist/tools/get-component-info.js +94 -0
  123. package/dist/tools/get-component-info.js.map +1 -0
  124. package/dist/tools/get-css-utility.d.ts +41 -0
  125. package/dist/tools/get-css-utility.d.ts.map +1 -0
  126. package/dist/tools/get-css-utility.js +57 -0
  127. package/dist/tools/get-css-utility.js.map +1 -0
  128. package/dist/tools/get-design-tokens.d.ts +44 -0
  129. package/dist/tools/get-design-tokens.d.ts.map +1 -0
  130. package/dist/tools/get-design-tokens.js +124 -0
  131. package/dist/tools/get-design-tokens.js.map +1 -0
  132. package/dist/tools/get-icon.d.ts +32 -0
  133. package/dist/tools/get-icon.d.ts.map +1 -0
  134. package/dist/tools/get-icon.js +108 -0
  135. package/dist/tools/get-icon.js.map +1 -0
  136. package/dist/tools/get-install-info.d.ts +39 -0
  137. package/dist/tools/get-install-info.d.ts.map +1 -0
  138. package/dist/tools/get-install-info.js +160 -0
  139. package/dist/tools/get-install-info.js.map +1 -0
  140. package/dist/tools/list-components.d.ts +32 -0
  141. package/dist/tools/list-components.d.ts.map +1 -0
  142. package/dist/tools/list-components.js +62 -0
  143. package/dist/tools/list-components.js.map +1 -0
  144. package/dist/tools/list-css-utilities.d.ts +27 -0
  145. package/dist/tools/list-css-utilities.d.ts.map +1 -0
  146. package/dist/tools/list-css-utilities.js +48 -0
  147. package/dist/tools/list-css-utilities.js.map +1 -0
  148. package/dist/tools/search-documentation.d.ts +37 -0
  149. package/dist/tools/search-documentation.d.ts.map +1 -0
  150. package/dist/tools/search-documentation.js +120 -0
  151. package/dist/tools/search-documentation.js.map +1 -0
  152. package/dist/tools/search-icons.d.ts +41 -0
  153. package/dist/tools/search-icons.d.ts.map +1 -0
  154. package/dist/tools/search-icons.js +134 -0
  155. package/dist/tools/search-icons.js.map +1 -0
  156. package/package.json +98 -0
  157. package/skills/mozaic-css-utilities/skill.md +633 -0
  158. package/skills/mozaic-design-tokens/skill.md +621 -0
  159. package/skills/mozaic-icons/skill.md +624 -0
  160. package/skills/mozaic-react-builder/skill.md +652 -0
  161. package/skills/mozaic-vue-builder/skill.md +491 -0
@@ -0,0 +1,232 @@
1
+ # Installation Guide
2
+
3
+ Complete setup guide for Mozaic Design System MCP Server and Skills.
4
+
5
+ ## Overview
6
+
7
+ The Mozaic ecosystem has two components:
8
+
9
+ 1. **MCP Server** - Provides database access and tools (required)
10
+ 2. **Skills** - Provides interactive workflows (optional, but recommended)
11
+
12
+ ## Complete Setup (Recommended)
13
+
14
+ ### Step 1: Install Skills
15
+
16
+ **Using npx** (fastest):
17
+ ```bash
18
+ npx mozaic-mcp-server install
19
+ ```
20
+
21
+ This installs 5 skills to `~/.claude/skills/`:
22
+ - `mozaic-vue-builder`
23
+ - `mozaic-react-builder`
24
+ - `mozaic-design-tokens`
25
+ - `mozaic-css-utilities`
26
+ - `mozaic-icons`
27
+
28
+ ### Step 2: Configure MCP Server
29
+
30
+ Add the MCP server to your Claude Code settings:
31
+
32
+ **Option A: Using npx** (no installation needed):
33
+ ```json
34
+ {
35
+ "mcpServers": {
36
+ "mozaic": {
37
+ "command": "npx",
38
+ "args": ["mozaic-mcp-server"]
39
+ }
40
+ }
41
+ }
42
+ ```
43
+
44
+ **Option B: Using local installation**:
45
+ ```bash
46
+ # Clone and build
47
+ git clone https://github.com/merzoukemansouri/adeo-mozaic-mcp.git
48
+ cd adeo-mozaic-mcp
49
+ pnpm install
50
+ pnpm build
51
+
52
+ # Configure in Claude Code settings
53
+ ```
54
+
55
+ ```json
56
+ {
57
+ "mcpServers": {
58
+ "mozaic": {
59
+ "command": "node",
60
+ "args": ["/absolute/path/to/adeo-mozaic-mcp/dist/index.js"]
61
+ }
62
+ }
63
+ }
64
+ ```
65
+
66
+ **Option C: Using global installation**:
67
+ ```bash
68
+ npm install -g mozaic-mcp-server
69
+
70
+ # Configure in Claude Code settings
71
+ ```
72
+
73
+ ```json
74
+ {
75
+ "mcpServers": {
76
+ "mozaic": {
77
+ "command": "mozaic-mcp-server"
78
+ }
79
+ }
80
+ }
81
+ ```
82
+
83
+ ### Step 3: Verify Installation
84
+
85
+ Restart Claude Code and verify:
86
+
87
+ 1. **MCP Server**: Check that tools are available (e.g., `mcp__mozaic__list_components`)
88
+ 2. **Skills**: Skills should appear in skills list and activate automatically
89
+
90
+ ## Skills Only (Lightweight)
91
+
92
+ If you only want the skills (without MCP server):
93
+
94
+ ```bash
95
+ npx mozaic-mcp-server install
96
+ ```
97
+
98
+ **Note**: Skills will reference MCP tools, but won't function without the MCP server configured.
99
+
100
+ ## MCP Server Only
101
+
102
+ If you only want the MCP server:
103
+
104
+ ```bash
105
+ # Using npx
106
+ npx mozaic-mcp-server
107
+
108
+ # Or install locally
109
+ git clone https://github.com/merzoukemansouri/adeo-mozaic-mcp.git
110
+ cd adeo-mozaic-mcp
111
+ pnpm install
112
+ pnpm build
113
+ pnpm start
114
+ ```
115
+
116
+ Then configure in Claude Code settings (see Step 2 above).
117
+
118
+ ## Uninstallation
119
+
120
+ ### Remove Skills
121
+ ```bash
122
+ npx mozaic-mcp-server uninstall
123
+ ```
124
+
125
+ ### Remove MCP Server Configuration
126
+ Remove the `mozaic` entry from your Claude Code settings.
127
+
128
+ ### Remove Local Installation
129
+ ```bash
130
+ # If installed globally
131
+ npm uninstall -g mozaic-mcp-server
132
+
133
+ # If cloned locally
134
+ rm -rf /path/to/adeo-mozaic-mcp
135
+ ```
136
+
137
+ ## Troubleshooting
138
+
139
+ ### Skills Not Appearing
140
+
141
+ 1. Verify installation:
142
+ ```bash
143
+ ls ~/.claude/skills/
144
+ ```
145
+ Should show: `mozaic-vue-builder`, `mozaic-react-builder`, etc.
146
+
147
+ 2. Restart Claude Code
148
+
149
+ 3. Check skill frontmatter in `.md` files
150
+
151
+ ### MCP Tools Not Working
152
+
153
+ 1. Verify MCP server configuration in Claude Code settings
154
+
155
+ 2. Test MCP server directly:
156
+ ```bash
157
+ npx mozaic-mcp-server
158
+ # Should start without errors
159
+ ```
160
+
161
+ 3. Check Claude Code logs for MCP connection errors
162
+
163
+ ### Database Errors
164
+
165
+ If using local installation:
166
+
167
+ ```bash
168
+ cd adeo-mozaic-mcp
169
+ pnpm build # Rebuilds database
170
+ ```
171
+
172
+ If using npx, the database is bundled with the package.
173
+
174
+ ## What Gets Installed
175
+
176
+ ### Skills (6.5 MB total)
177
+
178
+ ```
179
+ ~/.claude/skills/
180
+ ├── mozaic-vue-builder/ (~1.3 MB)
181
+ ├── mozaic-react-builder/ (~1.4 MB)
182
+ ├── mozaic-design-tokens/ (~1.2 MB)
183
+ ├── mozaic-css-utilities/ (~1.5 MB)
184
+ └── mozaic-icons/ (~1.1 MB)
185
+ ```
186
+
187
+ ### MCP Server (varies by method)
188
+
189
+ - **npx**: ~50 MB (downloaded on first run, cached)
190
+ - **Local**: ~150 MB (includes node_modules, source, database)
191
+ - **Global**: ~50 MB (npm global packages)
192
+
193
+ ## Requirements
194
+
195
+ - **Node.js**: ≥25.0.0
196
+ - **Claude Code**: Latest version
197
+ - **Disk Space**: ~60 MB for complete setup
198
+
199
+ ## Architecture
200
+
201
+ ```
202
+ ┌─────────────────────────────────────────┐
203
+ │ Claude Code │
204
+ ├─────────────────────────────────────────┤
205
+ │ Skills (Workflows) │
206
+ │ ├─ mozaic-vue-builder │
207
+ │ ├─ mozaic-react-builder │
208
+ │ ├─ mozaic-design-tokens │
209
+ │ ├─ mozaic-css-utilities │
210
+ │ └─ mozaic-icons │
211
+ │ │
212
+ │ Uses ↓ │
213
+ │ │
214
+ │ MCP Server (Data Access) │
215
+ │ ├─ 11 Tools │
216
+ │ └─ SQLite Database (586 tokens, │
217
+ │ 52 Vue components, 39 React │
218
+ │ components, 1473 icons, etc.) │
219
+ └─────────────────────────────────────────┘
220
+ ```
221
+
222
+ ## Next Steps
223
+
224
+ - Read [SKILLS.md](./SKILLS.md) for skill documentation
225
+ - Read [README.md](./README.md) for MCP server details
226
+ - Try the [Web Playground](https://merzoukemansouri.github.io/adeo-mozaic-mcp/#/playground)
227
+
228
+ ## Support
229
+
230
+ - **Issues**: https://github.com/merzoukemansouri/adeo-mozaic-mcp/issues
231
+ - **Documentation**: https://merzoukemansouri.github.io/adeo-mozaic-mcp/
232
+ - **Mozaic Design System**: https://mozaic.adeo.com/
package/README.md ADDED
@@ -0,0 +1,262 @@
1
+ # Mozaic MCP Server
2
+
3
+ An MCP (Model Context Protocol) server that exposes the **Mozaic Design System** by ADEO to Claude and other AI assistants.
4
+
5
+ **[View Documentation](https://merzoukemansouri.github.io/adeo-mozaic-mcp/)** | **[Try the Playground](https://merzoukemansouri.github.io/adeo-mozaic-mcp/#/playground)**
6
+
7
+ > **Note**: This project is under active development. Contributions and feedback are welcome!
8
+
9
+ ## What It Does
10
+
11
+ This server indexes the entire Mozaic Design System and makes it queryable through MCP tools. AI assistants can:
12
+
13
+ - Look up design tokens (colors, spacing, typography, etc.)
14
+ - Get component documentation with props, slots, events, and examples
15
+ - Search and retrieve icons with SVG/React/Vue code
16
+ - Search documentation pages
17
+ - Generate component code snippets
18
+
19
+ ## Claude Code Skills
20
+
21
+ In addition to the MCP server, this repository includes **5 Claude Code skills** that provide interactive, guided workflows for working with Mozaic:
22
+
23
+ - **`mozaic-vue-builder`** - Interactive Vue 3 component generator
24
+ - **`mozaic-react-builder`** - Interactive React/TSX component generator
25
+ - **`mozaic-design-tokens`** - Design tokens and styling expert
26
+ - **`mozaic-css-utilities`** - CSS utilities and layout systems expert
27
+ - **`mozaic-icons`** - Icon search and integration
28
+
29
+ **Quick Install:**
30
+ ```bash
31
+ npx mozaic-mcp-server install
32
+ ```
33
+
34
+ **Complete Setup:**
35
+ ```bash
36
+ # 1. Install skills
37
+ npx mozaic-mcp-server install
38
+
39
+ # 2. Configure MCP server in Claude Code settings:
40
+ # Command: npx mozaic-mcp-server
41
+ # (or point to local installation)
42
+ ```
43
+
44
+ **Learn more:** [SKILLS.md](./SKILLS.md)
45
+
46
+ ## Quick Start
47
+
48
+ ### MCP Server
49
+
50
+ ```bash
51
+ pnpm install
52
+ pnpm build # Compiles TypeScript & builds the database
53
+ pnpm start # Starts the MCP server
54
+ ```
55
+
56
+ ### Claude Code Skills (Optional)
57
+
58
+ **Install with npx** (recommended):
59
+ ```bash
60
+ npx mozaic-mcp-server install # Install all 5 skills
61
+ npx mozaic-mcp-server uninstall # Uninstall skills
62
+ ```
63
+
64
+ **Or use local scripts**:
65
+ ```bash
66
+ ./scripts/install-skills.sh # Install all 5 skills
67
+ ./scripts/uninstall-skills.sh # Uninstall skills
68
+ ```
69
+
70
+ See [SKILLS.md](./SKILLS.md) for detailed skill documentation.
71
+
72
+ ## What's Indexed
73
+
74
+ | Type | Count | Description |
75
+ | -------------------- | ----- | --------------------------------------------------------------- |
76
+ | **Design Tokens** | 586 | Colors, typography, spacing, shadows, borders, screens, grid |
77
+ | **Vue Components** | 52 | Props, slots, events, examples |
78
+ | **React Components** | 39 | Props, callbacks, examples |
79
+ | **Icons** | 1,473 | SVG icons in 15 categories (354 unique, 5 sizes each) |
80
+ | **CSS Utilities** | 6 | Flexy, Container, Margin, Padding, Ratio, Scroll (500+ classes) |
81
+ | **Documentation** | 281 | MDX pages with full-text search |
82
+
83
+ Documentation sources:
84
+ - Design System docs (220 pages)
85
+ - Vue Storybook docs (58 pages) - Getting Started, Usage guides
86
+ - React Storybook docs (3 pages) - Getting Started, Usage guides
87
+
88
+ ## MCP Tools
89
+
90
+ ### Component Tools
91
+
92
+ | Tool | Description |
93
+ | -------------------------- | ---------------------------------------------------------------- |
94
+ | `get_component_info` | Get Vue/React component details (props, slots, events, examples) |
95
+ | `list_components` | List framework components by category |
96
+ | `generate_vue_component` | Generate Vue component code |
97
+ | `generate_react_component` | Generate React component code |
98
+
99
+ ### CSS Utility Tools
100
+
101
+ | Tool | Description |
102
+ | -------------------- | ---------------------------------------------------------- |
103
+ | `get_css_utility` | Get CSS utility classes and examples (Flexy, Margin, etc.) |
104
+ | `list_css_utilities` | List available CSS utilities by category (layout, utility) |
105
+
106
+ ### Icon Tools
107
+
108
+ | Tool | Description |
109
+ | -------------- | --------------------------------------------------------------------------- |
110
+ | `search_icons` | Search icons by name, type (navigation, media, social), or size (16-64px) |
111
+ | `get_icon` | Get icon details with SVG markup and ready-to-use React/Vue code |
112
+
113
+ ### Installation Tools
114
+
115
+ | Tool | Description |
116
+ | ------------------ | ----------------------------------------------------------------------------------- |
117
+ | `get_install_info` | Get installation commands, imports, and quick start code for a component *(beta)* |
118
+
119
+ ### Other Tools
120
+
121
+ | Tool | Description |
122
+ | ---------------------- | ----------------------------------------------------------------------------------- |
123
+ | `get_design_tokens` | Query tokens by category (color, spacing, typography, shadow, border, screen, grid) |
124
+ | `search_documentation` | Full-text search across all docs |
125
+
126
+ ## Token Categories
127
+
128
+ | Category | Count | Examples |
129
+ | ---------- | ----- | -------------------------------------------------- |
130
+ | color | 482 | `--color-primary-01-100`, `--color-button-solid-*` |
131
+ | typography | 60 | `--font-size-*`, `--line-height-*` |
132
+ | spacing | 19 | `$mu025` to `$mu1000` (Magic Unit system) |
133
+ | screen | 12 | Breakpoints: `s`, `m`, `l`, `xl`, `xxl` |
134
+ | shadow | 3 | Box shadows with x, y, blur, spread, opacity |
135
+ | border | 3 | Border widths |
136
+ | radius | 3 | Border radius values |
137
+ | grid | 4 | Gutters, magic-unit, rem values |
138
+
139
+ ## CSS Utilities
140
+
141
+ CSS-only layout and utility classes (no Vue/React wrapper). Use `get_css_utility` tool to get full class lists and examples.
142
+
143
+ | Utility | Category | Description |
144
+ | ------------- | -------- | ---------------------------------------------- |
145
+ | **Flexy** | layout | Flexbox 12-column grid with responsive classes |
146
+ | **Container** | layout | Responsive container with max-width |
147
+ | **Margin** | utility | Margin utilities using Magic Unit scale |
148
+ | **Padding** | utility | Padding utilities using Magic Unit scale |
149
+ | **Ratio** | utility | Aspect ratio utilities (16:9, 4:3, 1:1, etc.) |
150
+ | **Scroll** | utility | Scroll prevention utility |
151
+
152
+ ## Architecture
153
+
154
+ ```
155
+ ┌─────────────────────────────────────────────────────────────┐
156
+ │ Claude Desktop │
157
+ └─────────────────────────┬───────────────────────────────────┘
158
+ │ stdio
159
+ ┌─────────────────────────▼───────────────────────────────────┐
160
+ │ MCP Server │
161
+ │ ┌─────────────────────────────────────────────────────┐ │
162
+ │ │ Tools: get_component_info, get_css_utility, ... │ │
163
+ │ └─────────────────────────┬───────────────────────────┘ │
164
+ │ │ │
165
+ │ ┌─────────────────────────▼───────────────────────────┐ │
166
+ │ │ SQLite Database │ │
167
+ │ │ tokens | components | icons | css_utilities | docs │ │
168
+ │ └─────────────────────────────────────────────────────┘ │
169
+ └─────────────────────────────────────────────────────────────┘
170
+
171
+ │ build
172
+ ┌─────────────────────────┴───────────────────────────────────┐
173
+ │ Source Repositories │
174
+ │ mozaic-design-system │ mozaic-vue │ mozaic-react │
175
+ └─────────────────────────────────────────────────────────────┘
176
+ ```
177
+
178
+ ## Scripts
179
+
180
+ | Script | Description |
181
+ | ----------------- | ------------------------------------- |
182
+ | `pnpm build` | Compile TypeScript and build database |
183
+ | `pnpm build:docs` | Generate documentation diagrams |
184
+ | `pnpm start` | Start the MCP server |
185
+ | `pnpm dev` | Development mode with watch |
186
+ | `pnpm clean` | Remove dist and database |
187
+ | `pnpm test` | Run unit tests |
188
+ | `pnpm database:sanity` | Validate database integrity |
189
+
190
+ ## Documentation
191
+
192
+ - [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) - Architecture diagrams and statistics
193
+ - [docs/TEST.md](./docs/TEST.md) - Testing guide
194
+
195
+ ## Next Steps
196
+
197
+ ### Benchmarking: MCP vs Claude Skills
198
+
199
+ Compare performance and effectiveness of MCP server approach vs native Claude skills:
200
+
201
+ - [ ] Define benchmark scenarios (component lookup, code generation, documentation search)
202
+ - [ ] Measure response accuracy and completeness
203
+ - [ ] Compare token usage and latency
204
+ - [ ] Evaluate context window efficiency
205
+ - [ ] Document trade-offs and recommendations
206
+
207
+ ### Release Process
208
+
209
+ Steps to publish the MCP server:
210
+
211
+ - [ ] **npm registry**: Publish to npm
212
+ - Supports [npm Trusted Publishers](./TRUSTED_PUBLISHERS_SETUP.md) for automated, secure publishing
213
+ - Manual: `npm publish` or automated via GitHub release
214
+ - See [PUBLISH.md](./PUBLISH.md) for complete guide
215
+ - [ ] **Smithery**: Submit to [smithery.ai](https://smithery.ai) MCP marketplace
216
+ - [ ] **GitHub release**: Create tagged release with changelog (auto-publishes to npm with Trusted Publishers)
217
+ - [ ] **Claude Desktop config**: Document installation in `claude_desktop_config.json`
218
+ - [ ] **Version strategy**: Define semver policy for database schema changes
219
+
220
+ **Publishing Features**:
221
+ - ✅ Automated publishing via GitHub Actions
222
+ - ✅ npm Trusted Publishers (OIDC) support
223
+ - ✅ Provenance attestation for supply chain security
224
+ - ✅ Skills automatically included in npm package
225
+
226
+ ### Future Improvements
227
+
228
+ - [ ] Incremental database updates (avoid full rebuild)
229
+ - [ ] Watch mode for local development
230
+ - [ ] Caching layer for frequently accessed data
231
+ - [ ] Support for custom/extended tokens
232
+ - [ ] Multi-language documentation support
233
+
234
+ ## Version History
235
+
236
+ Compatibility with Mozaic Design System versions:
237
+
238
+ | MCP Server | Mozaic Version | Date | Changes |
239
+ | ---------- | -------------- | ---------- | -------------------------------------------- |
240
+ | `1.0.0` | `2.x` | 2024-12 | Initial release with Vue 3, React, CSS utils |
241
+
242
+ ### Mozaic Repositories Indexed
243
+
244
+ | Repository | Branch | Description |
245
+ | ----------------------- | ------ | ------------------------ |
246
+ | `mozaic-design-system` | main | Tokens, docs, styles |
247
+ | `mozaic-vue` | main | Vue 3 components |
248
+ | `mozaic-react` | main | React components |
249
+
250
+ ### Updating for New Mozaic Versions
251
+
252
+ When a new Mozaic version is released:
253
+
254
+ 1. Pull latest changes: `pnpm build` (clones/updates repos automatically)
255
+ 2. Run sanity check: `pnpm database:sanity`
256
+ 3. Run tests: `pnpm test`
257
+ 4. Update version table above
258
+ 5. Tag release: `git tag vX.Y.Z`
259
+
260
+ ## License
261
+
262
+ MIT