mozaic-mcp-server 2.5.1 → 2.5.2
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/README.md +30 -5
- package/data/mozaic.db +0 -0
- package/dist/mcp/mcp.service.d.ts +1 -0
- package/dist/mcp/mcp.service.d.ts.map +1 -1
- package/dist/mcp/mcp.service.js +39 -8
- package/dist/mcp/mcp.service.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
Self-contained Claude Code skills and MCP server for the [Mozaic Design System](https://mozaic.adeo.cloud/) by ADEO.
|
|
9
9
|
|
|
10
|
-
**📚 [Documentation](https://merzoukemansouri.github.io/adeo-mozaic-mcp/) • 🎮 [MCP Playground](https://merzoukemansouri.github.io/adeo-mozaic-mcp/#/playground)**
|
|
10
|
+
**📚 [Documentation](https://merzoukemansouri.github.io/adeo-mozaic-mcp/) • 🎮 [MCP Playground](https://merzoukemansouri.github.io/adeo-mozaic-mcp/#/playground) • 🌐 [Website](https://merzoukemansouri.github.io/adeo-mozaic-mcp/)**
|
|
11
11
|
|
|
12
12
|
## Overview
|
|
13
13
|
|
|
@@ -103,7 +103,7 @@ Claude Code will automatically activate the appropriate skill (Vue or React buil
|
|
|
103
103
|
|
|
104
104
|
## MCP Server Tools
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
17 programmatic tools for accessing Mozaic resources via the Model Context Protocol.
|
|
107
107
|
|
|
108
108
|
### Available Tools
|
|
109
109
|
|
|
@@ -127,6 +127,28 @@ Claude Code will automatically activate the appropriate skill (Vue or React buil
|
|
|
127
127
|
| `get_icon` | Icons | Get icon SVG and framework code |
|
|
128
128
|
| `get_install_info` | Install | Get npm/yarn/pnpm installation commands |
|
|
129
129
|
|
|
130
|
+
### v0.dev Integration (HTTP API)
|
|
131
|
+
|
|
132
|
+
The MCP server can be deployed as an HTTP API for v0.dev integration:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Run locally
|
|
136
|
+
DATABASE_PATH=./data/mozaic.db MCP_SERVER_PATH=./dist/index.js AUTH_TOKEN=your-secret-token node dist/main.js
|
|
137
|
+
|
|
138
|
+
# Or deploy with Docker
|
|
139
|
+
docker build -t mozaic-mcp-server .
|
|
140
|
+
docker run -p 3000:3000 -e AUTH_TOKEN=your-secret-token mozaic-mcp-server
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Endpoints:**
|
|
144
|
+
- `GET /health` - Health check
|
|
145
|
+
- `POST /mcp` - JSON-RPC endpoint for MCP protocol
|
|
146
|
+
- `POST /mcp/list-tools` - List available tools
|
|
147
|
+
- `POST /mcp/call-tool` - Call a specific tool
|
|
148
|
+
- `GET /api` - Swagger documentation
|
|
149
|
+
|
|
150
|
+
All endpoints require bearer token authentication. See deployment documentation for Dokploy integration.
|
|
151
|
+
|
|
130
152
|
### Configuration
|
|
131
153
|
|
|
132
154
|
Add to your Claude Code or Claude Desktop settings:
|
|
@@ -361,8 +383,10 @@ We use semantic versioning with conventional commits:
|
|
|
361
383
|
## Resources
|
|
362
384
|
|
|
363
385
|
### Documentation & Tools
|
|
364
|
-
-
|
|
386
|
+
- **🌐 Website**: https://merzoukemansouri.github.io/adeo-mozaic-mcp/
|
|
387
|
+
- **📚 Documentation**: https://merzoukemansouri.github.io/adeo-mozaic-mcp/#/docs
|
|
365
388
|
- **🎮 MCP Playground**: https://merzoukemansouri.github.io/adeo-mozaic-mcp/#/playground
|
|
389
|
+
- **🎨 Skills Guide**: https://merzoukemansouri.github.io/adeo-mozaic-mcp/#/skills
|
|
366
390
|
- **GitHub**: https://github.com/MerzoukeMansouri/adeo-mozaic-mcp
|
|
367
391
|
- **npm**: https://www.npmjs.com/package/mozaic-mcp-server
|
|
368
392
|
|
|
@@ -378,10 +402,11 @@ MIT License - see [LICENSE](LICENSE) file for details.
|
|
|
378
402
|
## Support
|
|
379
403
|
|
|
380
404
|
For issues or questions:
|
|
381
|
-
-
|
|
405
|
+
- 🌐 Visit the [website](https://merzoukemansouri.github.io/adeo-mozaic-mcp/)
|
|
406
|
+
- 📚 Read the [documentation](https://merzoukemansouri.github.io/adeo-mozaic-mcp/#/docs)
|
|
382
407
|
- 🎮 Try the [MCP playground](https://merzoukemansouri.github.io/adeo-mozaic-mcp/#/playground)
|
|
383
408
|
- 🐛 Open an issue on [GitHub](https://github.com/MerzoukeMansouri/adeo-mozaic-mcp/issues)
|
|
384
|
-
- 📖 Check the [Skills
|
|
409
|
+
- 📖 Check the [Skills guide](https://merzoukemansouri.github.io/adeo-mozaic-mcp/#/skills)
|
|
385
410
|
- 🎨 Review [Mozaic Design System docs](https://mozaic.adeo.cloud/)
|
|
386
411
|
|
|
387
412
|
---
|
package/data/mozaic.db
CHANGED
|
Binary file
|
|
@@ -20,6 +20,7 @@ export declare class McpService implements OnModuleInit, OnModuleDestroy {
|
|
|
20
20
|
onModuleInit(): Promise<void>;
|
|
21
21
|
onModuleDestroy(): Promise<void>;
|
|
22
22
|
private startMcpServer;
|
|
23
|
+
private sendInitialize;
|
|
23
24
|
private stopMcpServer;
|
|
24
25
|
private handleMcpMessage;
|
|
25
26
|
private handleNotification;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.service.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,eAAe,EAAU,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA4B/C,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBACa,UAAW,YAAW,YAAY,EAAE,eAAe;IASlD,OAAO,CAAC,aAAa;IARjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,KAAK,CAAiB;gBAEV,aAAa,EAAE,aAAa;IAE1C,YAAY;IAKZ,eAAe;YAIP,cAAc;
|
|
1
|
+
{"version":3,"file":"mcp.service.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,eAAe,EAAU,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA4B/C,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBACa,UAAW,YAAW,YAAY,EAAE,eAAe;IASlD,OAAO,CAAC,aAAa;IARjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,KAAK,CAAiB;gBAEV,aAAa,EAAE,aAAa;IAE1C,YAAY;IAKZ,eAAe;YAIP,cAAc;IAuE5B,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,kBAAkB;YAKZ,WAAW;YA+BX,oBAAoB;IAwB5B,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB3D,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvD,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAYjC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAM7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAiB/E"}
|
package/dist/mcp/mcp.service.js
CHANGED
|
@@ -47,21 +47,23 @@ let McpService = McpService_1 = class McpService {
|
|
|
47
47
|
// Handle stdout (MCP responses)
|
|
48
48
|
this.mcpProcess.stdout?.on("data", (data) => {
|
|
49
49
|
try {
|
|
50
|
-
const
|
|
50
|
+
const rawData = data.toString();
|
|
51
|
+
this.logger.debug(`MCP stdout raw: ${rawData.substring(0, 200)}`);
|
|
52
|
+
const lines = rawData.split("\n").filter(Boolean);
|
|
51
53
|
for (const line of lines) {
|
|
54
|
+
this.logger.debug(`Parsing line: ${line.substring(0, 100)}`);
|
|
52
55
|
const message = JSON.parse(line);
|
|
53
56
|
this.handleMcpMessage(message);
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
catch (error) {
|
|
57
60
|
this.logger.error("Failed to parse MCP message:", error);
|
|
61
|
+
this.logger.error(`Raw data was: ${data.toString().substring(0, 200)}`);
|
|
58
62
|
}
|
|
59
63
|
});
|
|
60
64
|
// Handle stderr (logging)
|
|
61
65
|
this.mcpProcess.stderr?.on("data", (data) => {
|
|
62
|
-
|
|
63
|
-
this.logger.debug(`MCP Server: ${data.toString()}`);
|
|
64
|
-
}
|
|
66
|
+
this.logger.debug(`MCP stderr: ${data.toString()}`);
|
|
65
67
|
});
|
|
66
68
|
// Handle process exit
|
|
67
69
|
this.mcpProcess.on("exit", (code) => {
|
|
@@ -73,6 +75,10 @@ let McpService = McpService_1 = class McpService {
|
|
|
73
75
|
}
|
|
74
76
|
this.pendingRequests.clear();
|
|
75
77
|
});
|
|
78
|
+
// Wait a bit for process to start
|
|
79
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
80
|
+
// Send initialize immediately to trigger ready event
|
|
81
|
+
this.sendInitialize();
|
|
76
82
|
// Wait for server to be ready
|
|
77
83
|
await new Promise((resolve) => {
|
|
78
84
|
const timeout = setTimeout(() => {
|
|
@@ -86,6 +92,35 @@ let McpService = McpService_1 = class McpService {
|
|
|
86
92
|
});
|
|
87
93
|
});
|
|
88
94
|
}
|
|
95
|
+
sendInitialize() {
|
|
96
|
+
if (!this.mcpProcess?.stdin)
|
|
97
|
+
return;
|
|
98
|
+
const request = {
|
|
99
|
+
jsonrpc: "2.0",
|
|
100
|
+
id: 1,
|
|
101
|
+
method: "initialize",
|
|
102
|
+
params: {
|
|
103
|
+
protocolVersion: "2024-11-05",
|
|
104
|
+
capabilities: {},
|
|
105
|
+
clientInfo: {
|
|
106
|
+
name: "mozaic-mcp-nestjs",
|
|
107
|
+
version: "2.4.0",
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
// Track this as a pending request
|
|
112
|
+
this.pendingRequests.set(1, {
|
|
113
|
+
resolve: (_value) => {
|
|
114
|
+
this.logger.debug("Initialize response received");
|
|
115
|
+
this.eventEmitter.emit("ready");
|
|
116
|
+
},
|
|
117
|
+
reject: (reason) => {
|
|
118
|
+
this.logger.error("Initialize failed:", reason);
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
this.logger.debug("Sending initialize request");
|
|
122
|
+
this.mcpProcess.stdin.write(JSON.stringify(request) + "\n");
|
|
123
|
+
}
|
|
89
124
|
stopMcpServer() {
|
|
90
125
|
if (this.mcpProcess) {
|
|
91
126
|
this.mcpProcess.kill();
|
|
@@ -108,10 +143,6 @@ let McpService = McpService_1 = class McpService {
|
|
|
108
143
|
this.handleNotification(message);
|
|
109
144
|
return;
|
|
110
145
|
}
|
|
111
|
-
// Handle other message types
|
|
112
|
-
if (message.method === "initialize" && message.result) {
|
|
113
|
-
this.eventEmitter.emit("ready");
|
|
114
|
-
}
|
|
115
146
|
}
|
|
116
147
|
handleNotification(message) {
|
|
117
148
|
this.logger.debug(`Received notification: ${message.method}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../src/mcp/mcp.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAiC,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAmC/B,IAAM,UAAU,kBAAhB,MAAM,UAAU;IASD;IARH,MAAM,GAAG,IAAI,MAAM,CAAC,YAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,UAAU,GAAwB,IAAI,CAAC;IACvC,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC7D,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,UAAU,GAAyB,IAAI,CAAC;IACxC,KAAK,GAAc,EAAE,CAAC;IAE9B,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAEpD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,eAAe,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;QAE1D,+BAA+B;QAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;YAC5C,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,aAAa,EAAE,YAAY;gBAC3B,QAAQ,EAAE,OAAO;aAClB;YACD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,gCAAgC;QAChC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1C,IAAI,CAAC;gBACH,MAAM,
|
|
1
|
+
{"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../src/mcp/mcp.service.ts"],"names":[],"mappings":"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"}
|