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.
- package/INSTALLATION.md +232 -0
- package/README.md +262 -0
- package/SKILLS.md +411 -0
- package/bin/install-skills.js +171 -0
- package/data/mozaic.db +0 -0
- package/data/mozaic.db-shm +0 -0
- package/data/mozaic.db-wal +0 -0
- package/dist/__tests__/sanity-check.test.d.ts +2 -0
- package/dist/__tests__/sanity-check.test.d.ts.map +1 -0
- package/dist/__tests__/sanity-check.test.js +167 -0
- package/dist/__tests__/sanity-check.test.js.map +1 -0
- package/dist/__tests__/tools.integration.test.d.ts +2 -0
- package/dist/__tests__/tools.integration.test.d.ts.map +1 -0
- package/dist/__tests__/tools.integration.test.js +220 -0
- package/dist/__tests__/tools.integration.test.js.map +1 -0
- package/dist/db/queries.d.ts +144 -0
- package/dist/db/queries.d.ts.map +1 -0
- package/dist/db/queries.js +536 -0
- package/dist/db/queries.js.map +1 -0
- package/dist/db/schema.d.ts +4 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +253 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +416 -0
- package/dist/index.js.map +1 -0
- package/dist/parsers/__tests__/docs-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/docs-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/docs-parser.test.js +251 -0
- package/dist/parsers/__tests__/docs-parser.test.js.map +1 -0
- package/dist/parsers/__tests__/icons-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/icons-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/icons-parser.test.js +169 -0
- package/dist/parsers/__tests__/icons-parser.test.js.map +1 -0
- package/dist/parsers/__tests__/react-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/react-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/react-parser.test.js +274 -0
- package/dist/parsers/__tests__/react-parser.test.js.map +1 -0
- package/dist/parsers/__tests__/scss-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/scss-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/scss-parser.test.js +364 -0
- package/dist/parsers/__tests__/scss-parser.test.js.map +1 -0
- package/dist/parsers/__tests__/tokens-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/tokens-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/tokens-parser.test.js +172 -0
- package/dist/parsers/__tests__/tokens-parser.test.js.map +1 -0
- package/dist/parsers/__tests__/vue-parser.test.d.ts +2 -0
- package/dist/parsers/__tests__/vue-parser.test.d.ts.map +1 -0
- package/dist/parsers/__tests__/vue-parser.test.js +207 -0
- package/dist/parsers/__tests__/vue-parser.test.js.map +1 -0
- package/dist/parsers/docs-parser.d.ts +4 -0
- package/dist/parsers/docs-parser.d.ts.map +1 -0
- package/dist/parsers/docs-parser.js +237 -0
- package/dist/parsers/docs-parser.js.map +1 -0
- package/dist/parsers/icons-parser.d.ts +33 -0
- package/dist/parsers/icons-parser.d.ts.map +1 -0
- package/dist/parsers/icons-parser.js +125 -0
- package/dist/parsers/icons-parser.js.map +1 -0
- package/dist/parsers/react-parser.d.ts +3 -0
- package/dist/parsers/react-parser.d.ts.map +1 -0
- package/dist/parsers/react-parser.js +406 -0
- package/dist/parsers/react-parser.js.map +1 -0
- package/dist/parsers/scss-parser.d.ts +9 -0
- package/dist/parsers/scss-parser.d.ts.map +1 -0
- package/dist/parsers/scss-parser.js +351 -0
- package/dist/parsers/scss-parser.js.map +1 -0
- package/dist/parsers/tokens/border-parser.d.ts +3 -0
- package/dist/parsers/tokens/border-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/border-parser.js +83 -0
- package/dist/parsers/tokens/border-parser.js.map +1 -0
- package/dist/parsers/tokens/color-parser.d.ts +3 -0
- package/dist/parsers/tokens/color-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/color-parser.js +88 -0
- package/dist/parsers/tokens/color-parser.js.map +1 -0
- package/dist/parsers/tokens/grid-parser.d.ts +3 -0
- package/dist/parsers/tokens/grid-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/grid-parser.js +97 -0
- package/dist/parsers/tokens/grid-parser.js.map +1 -0
- package/dist/parsers/tokens/index.d.ts +9 -0
- package/dist/parsers/tokens/index.d.ts.map +1 -0
- package/dist/parsers/tokens/index.js +10 -0
- package/dist/parsers/tokens/index.js.map +1 -0
- package/dist/parsers/tokens/screen-parser.d.ts +3 -0
- package/dist/parsers/tokens/screen-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/screen-parser.js +54 -0
- package/dist/parsers/tokens/screen-parser.js.map +1 -0
- package/dist/parsers/tokens/shadow-parser.d.ts +3 -0
- package/dist/parsers/tokens/shadow-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/shadow-parser.js +62 -0
- package/dist/parsers/tokens/shadow-parser.js.map +1 -0
- package/dist/parsers/tokens/spacing-parser.d.ts +4 -0
- package/dist/parsers/tokens/spacing-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/spacing-parser.js +85 -0
- package/dist/parsers/tokens/spacing-parser.js.map +1 -0
- package/dist/parsers/tokens/types.d.ts +33 -0
- package/dist/parsers/tokens/types.d.ts.map +1 -0
- package/dist/parsers/tokens/types.js +42 -0
- package/dist/parsers/tokens/types.js.map +1 -0
- package/dist/parsers/tokens/typography-parser.d.ts +3 -0
- package/dist/parsers/tokens/typography-parser.d.ts.map +1 -0
- package/dist/parsers/tokens/typography-parser.js +76 -0
- package/dist/parsers/tokens/typography-parser.js.map +1 -0
- package/dist/parsers/tokens-parser.d.ts +18 -0
- package/dist/parsers/tokens-parser.d.ts.map +1 -0
- package/dist/parsers/tokens-parser.js +57 -0
- package/dist/parsers/tokens-parser.js.map +1 -0
- package/dist/parsers/vue-parser.d.ts +3 -0
- package/dist/parsers/vue-parser.d.ts.map +1 -0
- package/dist/parsers/vue-parser.js +343 -0
- package/dist/parsers/vue-parser.js.map +1 -0
- package/dist/tools/generate-react-component.d.ts +35 -0
- package/dist/tools/generate-react-component.d.ts.map +1 -0
- package/dist/tools/generate-react-component.js +81 -0
- package/dist/tools/generate-react-component.js.map +1 -0
- package/dist/tools/generate-vue-component.d.ts +35 -0
- package/dist/tools/generate-vue-component.d.ts.map +1 -0
- package/dist/tools/generate-vue-component.js +81 -0
- package/dist/tools/generate-vue-component.js.map +1 -0
- package/dist/tools/get-component-info.d.ts +52 -0
- package/dist/tools/get-component-info.d.ts.map +1 -0
- package/dist/tools/get-component-info.js +94 -0
- package/dist/tools/get-component-info.js.map +1 -0
- package/dist/tools/get-css-utility.d.ts +41 -0
- package/dist/tools/get-css-utility.d.ts.map +1 -0
- package/dist/tools/get-css-utility.js +57 -0
- package/dist/tools/get-css-utility.js.map +1 -0
- package/dist/tools/get-design-tokens.d.ts +44 -0
- package/dist/tools/get-design-tokens.d.ts.map +1 -0
- package/dist/tools/get-design-tokens.js +124 -0
- package/dist/tools/get-design-tokens.js.map +1 -0
- package/dist/tools/get-icon.d.ts +32 -0
- package/dist/tools/get-icon.d.ts.map +1 -0
- package/dist/tools/get-icon.js +108 -0
- package/dist/tools/get-icon.js.map +1 -0
- package/dist/tools/get-install-info.d.ts +39 -0
- package/dist/tools/get-install-info.d.ts.map +1 -0
- package/dist/tools/get-install-info.js +160 -0
- package/dist/tools/get-install-info.js.map +1 -0
- package/dist/tools/list-components.d.ts +32 -0
- package/dist/tools/list-components.d.ts.map +1 -0
- package/dist/tools/list-components.js +62 -0
- package/dist/tools/list-components.js.map +1 -0
- package/dist/tools/list-css-utilities.d.ts +27 -0
- package/dist/tools/list-css-utilities.d.ts.map +1 -0
- package/dist/tools/list-css-utilities.js +48 -0
- package/dist/tools/list-css-utilities.js.map +1 -0
- package/dist/tools/search-documentation.d.ts +37 -0
- package/dist/tools/search-documentation.d.ts.map +1 -0
- package/dist/tools/search-documentation.js +120 -0
- package/dist/tools/search-documentation.js.map +1 -0
- package/dist/tools/search-icons.d.ts +41 -0
- package/dist/tools/search-icons.d.ts.map +1 -0
- package/dist/tools/search-icons.js +134 -0
- package/dist/tools/search-icons.js.map +1 -0
- package/package.json +98 -0
- package/skills/mozaic-css-utilities/skill.md +633 -0
- package/skills/mozaic-design-tokens/skill.md +621 -0
- package/skills/mozaic-icons/skill.md +624 -0
- package/skills/mozaic-react-builder/skill.md +652 -0
- package/skills/mozaic-vue-builder/skill.md +491 -0
package/INSTALLATION.md
ADDED
|
@@ -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
|