@wireweave/mcp-server 1.1.2 → 1.1.3

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 (2) hide show
  1. package/dist/index.js +419 -429
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -14,644 +14,640 @@ var tools = [
14
14
  name: "wireweave_parse",
15
15
  description: "Parse Wireweave DSL source code into an AST (Abstract Syntax Tree)",
16
16
  inputSchema: {
17
- type: "object",
18
- properties: {
19
- source: {
20
- type: "string",
21
- description: "The Wireweave DSL source code to parse"
17
+ "type": "object",
18
+ "properties": {
19
+ "source": {
20
+ "type": "string",
21
+ "description": "The Wireweave DSL source code to parse"
22
22
  }
23
23
  },
24
- required: ["source"]
24
+ "required": [
25
+ "source"
26
+ ]
25
27
  }
26
28
  },
27
29
  {
28
30
  name: "wireweave_validate",
29
31
  description: "Validate Wireweave DSL syntax without generating output",
30
32
  inputSchema: {
31
- type: "object",
32
- properties: {
33
- source: {
34
- type: "string",
35
- description: "The Wireweave DSL source code to validate"
33
+ "type": "object",
34
+ "properties": {
35
+ "source": {
36
+ "type": "string",
37
+ "description": "The Wireweave DSL source code to validate"
36
38
  }
37
39
  },
38
- required: ["source"]
40
+ "required": [
41
+ "source"
42
+ ]
39
43
  }
40
44
  },
41
45
  {
42
46
  name: "wireweave_grammar",
43
47
  description: "Get the Wireweave DSL grammar documentation and syntax reference",
44
48
  inputSchema: {
45
- type: "object",
46
- properties: {},
47
- required: []
49
+ "type": "object",
50
+ "properties": {},
51
+ "required": []
48
52
  }
49
53
  },
50
54
  {
51
55
  name: "wireweave_guide",
52
56
  description: "Get the comprehensive LLM guide for Wireweave DSL. This is the PRIMARY resource for learning the language - includes syntax, components, patterns, and best practices. Call this FIRST before generating wireframes.",
53
57
  inputSchema: {
54
- type: "object",
55
- properties: {},
56
- required: []
58
+ "type": "object",
59
+ "properties": {},
60
+ "required": []
57
61
  }
58
62
  },
59
63
  {
60
64
  name: "wireweave_patterns",
61
65
  description: "Get common layout patterns for wireframes including headers, sidebars, forms, cards, and more. Use these as building blocks.",
62
66
  inputSchema: {
63
- type: "object",
64
- properties: {},
65
- required: []
67
+ "type": "object",
68
+ "properties": {},
69
+ "required": []
66
70
  }
67
71
  },
68
72
  {
69
73
  name: "wireweave_examples",
70
74
  description: "Get Wireweave code examples. Use this to learn patterns and best practices for different UI types.",
71
75
  inputSchema: {
72
- type: "object",
73
- properties: {
74
- category: {
75
- type: "string",
76
- enum: ["all", "form", "dashboard", "mobile", "social", "commerce", "media"],
77
- description: 'Filter examples by category. Use "all" to get all examples.',
78
- default: "all"
79
- },
80
- limit: {
81
- type: "number",
82
- description: "Maximum number of examples to return",
83
- default: 5
76
+ "type": "object",
77
+ "properties": {
78
+ "category": {
79
+ "type": "string",
80
+ "enum": [
81
+ "all",
82
+ "form",
83
+ "dashboard",
84
+ "mobile",
85
+ "social",
86
+ "commerce",
87
+ "media"
88
+ ],
89
+ "description": 'Filter examples by category. Use "all" to get all examples.',
90
+ "default": "all"
91
+ },
92
+ "limit": {
93
+ "type": "number",
94
+ "description": "Maximum number of examples to return",
95
+ "default": 5
84
96
  }
85
97
  },
86
- required: []
98
+ "required": []
87
99
  }
88
100
  },
89
101
  {
90
102
  name: "wireweave_render_html",
91
103
  description: "Render Wireweave DSL to HTML and CSS",
92
104
  inputSchema: {
93
- type: "object",
94
- properties: {
95
- source: {
96
- type: "string",
97
- description: "The Wireweave DSL source code to render"
98
- },
99
- theme: {
100
- type: "string",
101
- enum: ["light", "dark"],
102
- description: "Color theme for rendering",
103
- default: "light"
104
- },
105
- fullDocument: {
106
- type: "boolean",
107
- description: "Return a complete HTML document instead of fragment",
108
- default: false
105
+ "type": "object",
106
+ "properties": {
107
+ "source": {
108
+ "type": "string",
109
+ "description": "The Wireweave DSL source code to render"
110
+ },
111
+ "theme": {
112
+ "type": "string",
113
+ "enum": [
114
+ "light",
115
+ "dark"
116
+ ],
117
+ "description": "Color theme for rendering",
118
+ "default": "light"
119
+ },
120
+ "fullDocument": {
121
+ "type": "boolean",
122
+ "description": "Return a complete HTML document instead of fragment",
123
+ "default": false
109
124
  }
110
125
  },
111
- required: ["source"]
112
- }
113
- },
114
- {
115
- name: "wireweave_render_svg",
116
- description: "Render Wireweave DSL to SVG format",
117
- inputSchema: {
118
- type: "object",
119
- properties: {
120
- source: {
121
- type: "string",
122
- description: "The Wireweave DSL source code to render"
123
- },
124
- width: {
125
- type: "number",
126
- description: "SVG width in pixels",
127
- default: 1200
128
- },
129
- padding: {
130
- type: "number",
131
- description: "Padding around content",
132
- default: 24
133
- },
134
- theme: {
135
- type: "string",
136
- enum: ["light", "dark"],
137
- description: "Color theme for rendering",
138
- default: "light"
139
- }
140
- },
141
- required: ["source"]
126
+ "required": [
127
+ "source"
128
+ ]
142
129
  }
143
130
  },
144
131
  {
145
132
  name: "wireweave_validate_ux",
146
133
  description: "Validate Wireweave DSL for UX best practices. Returns issues with severity levels and actionable recommendations.",
147
134
  inputSchema: {
148
- type: "object",
149
- properties: {
150
- source: {
151
- type: "string",
152
- description: "The Wireweave DSL source code to validate"
153
- },
154
- categories: {
155
- type: "array",
156
- items: {
157
- type: "string",
158
- enum: ["accessibility", "usability", "form", "touch-target", "consistency", "navigation"]
135
+ "type": "object",
136
+ "properties": {
137
+ "source": {
138
+ "type": "string",
139
+ "description": "The Wireweave DSL source code to validate"
140
+ },
141
+ "categories": {
142
+ "type": "array",
143
+ "items": {
144
+ "type": "string",
145
+ "enum": [
146
+ "accessibility",
147
+ "usability",
148
+ "form",
149
+ "touch-target",
150
+ "consistency",
151
+ "navigation"
152
+ ]
159
153
  },
160
- description: "UX rule categories to check. If not specified, all categories are checked."
161
- },
162
- minSeverity: {
163
- type: "string",
164
- enum: ["error", "warning", "info"],
165
- description: "Minimum severity level to report",
166
- default: "info"
167
- },
168
- maxIssues: {
169
- type: "number",
170
- description: "Maximum number of issues to return"
154
+ "description": "UX rule categories to check. If not specified, all categories are checked."
155
+ },
156
+ "minSeverity": {
157
+ "type": "string",
158
+ "enum": [
159
+ "error",
160
+ "warning",
161
+ "info"
162
+ ],
163
+ "description": "Minimum severity level to report",
164
+ "default": "info"
165
+ },
166
+ "maxIssues": {
167
+ "type": "number",
168
+ "description": "Maximum number of issues to return"
171
169
  }
172
170
  },
173
- required: ["source"]
171
+ "required": [
172
+ "source"
173
+ ]
174
174
  }
175
175
  },
176
176
  {
177
177
  name: "wireweave_ux_rules",
178
178
  description: "Get available UX rule categories and their descriptions",
179
179
  inputSchema: {
180
- type: "object",
181
- properties: {},
182
- required: []
180
+ "type": "object",
181
+ "properties": {},
182
+ "required": []
183
183
  }
184
184
  },
185
185
  {
186
186
  name: "wireweave_diff",
187
187
  description: "Compare two Wireweave DSL sources and return the differences between them",
188
188
  inputSchema: {
189
- type: "object",
190
- properties: {
191
- oldSource: {
192
- type: "string",
193
- description: "The original Wireweave DSL source code"
194
- },
195
- newSource: {
196
- type: "string",
197
- description: "The modified Wireweave DSL source code"
198
- },
199
- ignoreAttributes: {
200
- type: "boolean",
201
- description: "Ignore attribute changes, only compare structure",
202
- default: false
203
- },
204
- ignoreOrder: {
205
- type: "boolean",
206
- description: "Ignore the order of children when comparing",
207
- default: false
189
+ "type": "object",
190
+ "properties": {
191
+ "oldSource": {
192
+ "type": "string",
193
+ "description": "The original Wireweave DSL source code"
194
+ },
195
+ "newSource": {
196
+ "type": "string",
197
+ "description": "The modified Wireweave DSL source code"
198
+ },
199
+ "ignoreAttributes": {
200
+ "type": "boolean",
201
+ "description": "Ignore attribute changes, only compare structure",
202
+ "default": false
203
+ },
204
+ "ignoreOrder": {
205
+ "type": "boolean",
206
+ "description": "Ignore the order of children when comparing",
207
+ "default": false
208
208
  }
209
209
  },
210
- required: ["oldSource", "newSource"]
211
- }
212
- },
213
- {
214
- name: "wireweave_export_json",
215
- description: "Export Wireweave DSL to JSON format for integration with other tools",
216
- inputSchema: {
217
- type: "object",
218
- properties: {
219
- source: {
220
- type: "string",
221
- description: "The Wireweave DSL source code to export"
222
- },
223
- includeLocations: {
224
- type: "boolean",
225
- description: "Include source location information in output",
226
- default: false
227
- },
228
- prettyPrint: {
229
- type: "boolean",
230
- description: "Format JSON with indentation",
231
- default: true
232
- }
233
- },
234
- required: ["source"]
235
- }
236
- },
237
- {
238
- name: "wireweave_export_figma",
239
- description: "Export Wireweave DSL to Figma-compatible format",
240
- inputSchema: {
241
- type: "object",
242
- properties: {
243
- source: {
244
- type: "string",
245
- description: "The Wireweave DSL source code to export"
246
- }
247
- },
248
- required: ["source"]
210
+ "required": [
211
+ "oldSource",
212
+ "newSource"
213
+ ]
249
214
  }
250
215
  },
251
216
  {
252
217
  name: "wireweave_analyze",
253
218
  description: "Analyze Wireweave DSL for statistics and metrics including component usage, tree structure, accessibility score, and complexity",
254
219
  inputSchema: {
255
- type: "object",
256
- properties: {
257
- source: {
258
- type: "string",
259
- description: "The Wireweave DSL source code to analyze"
260
- },
261
- includeComponentBreakdown: {
262
- type: "boolean",
263
- description: "Include detailed component usage breakdown",
264
- default: true
265
- },
266
- includeAccessibility: {
267
- type: "boolean",
268
- description: "Include accessibility analysis",
269
- default: true
270
- },
271
- includeComplexity: {
272
- type: "boolean",
273
- description: "Include complexity metrics",
274
- default: true
275
- },
276
- includeLayout: {
277
- type: "boolean",
278
- description: "Include layout pattern analysis",
279
- default: true
280
- },
281
- includeContent: {
282
- type: "boolean",
283
- description: "Include content analysis",
284
- default: true
220
+ "type": "object",
221
+ "properties": {
222
+ "source": {
223
+ "type": "string",
224
+ "description": "The Wireweave DSL source code to analyze"
225
+ },
226
+ "includeComponentBreakdown": {
227
+ "type": "boolean",
228
+ "description": "Include detailed component usage breakdown",
229
+ "default": true
230
+ },
231
+ "includeAccessibility": {
232
+ "type": "boolean",
233
+ "description": "Include accessibility analysis",
234
+ "default": true
235
+ },
236
+ "includeComplexity": {
237
+ "type": "boolean",
238
+ "description": "Include complexity metrics",
239
+ "default": true
240
+ },
241
+ "includeLayout": {
242
+ "type": "boolean",
243
+ "description": "Include layout pattern analysis",
244
+ "default": true
245
+ },
246
+ "includeContent": {
247
+ "type": "boolean",
248
+ "description": "Include content analysis",
249
+ "default": true
285
250
  }
286
251
  },
287
- required: ["source"]
252
+ "required": [
253
+ "source"
254
+ ]
288
255
  }
289
256
  },
290
- // ============================================
291
- // Cloud Storage Tools
292
- // ============================================
293
257
  {
294
258
  name: "wireweave_cloud_list_projects",
295
259
  description: "List all your Wireweave projects. Projects help organize your wireframes.",
296
260
  inputSchema: {
297
- type: "object",
298
- properties: {
299
- includeArchived: {
300
- type: "boolean",
301
- description: "Include archived projects",
302
- default: false
261
+ "type": "object",
262
+ "properties": {
263
+ "includeArchived": {
264
+ "type": "boolean",
265
+ "description": "Include archived projects",
266
+ "default": false
303
267
  }
304
268
  },
305
- required: []
269
+ "required": []
306
270
  }
307
271
  },
308
272
  {
309
273
  name: "wireweave_cloud_create_project",
310
274
  description: "Create a new project to organize wireframes",
311
275
  inputSchema: {
312
- type: "object",
313
- properties: {
314
- name: {
315
- type: "string",
316
- description: "Project name"
317
- },
318
- description: {
319
- type: "string",
320
- description: "Project description"
321
- },
322
- color: {
323
- type: "string",
324
- description: "Project color (hex code, e.g., #6366f1)"
276
+ "type": "object",
277
+ "properties": {
278
+ "name": {
279
+ "type": "string",
280
+ "description": "Project name"
281
+ },
282
+ "description": {
283
+ "type": "string",
284
+ "description": "Project description"
285
+ },
286
+ "color": {
287
+ "type": "string",
288
+ "description": "Project color (hex code, e.g., #6366f1)"
325
289
  }
326
290
  },
327
- required: ["name"]
291
+ "required": [
292
+ "name"
293
+ ]
328
294
  }
329
295
  },
330
296
  {
331
297
  name: "wireweave_cloud_update_project",
332
298
  description: "Update an existing project",
333
299
  inputSchema: {
334
- type: "object",
335
- properties: {
336
- id: {
337
- type: "string",
338
- description: "Project ID to update"
339
- },
340
- name: {
341
- type: "string",
342
- description: "New project name"
343
- },
344
- description: {
345
- type: "string",
346
- description: "New project description"
347
- },
348
- color: {
349
- type: "string",
350
- description: "New project color (hex code)"
351
- },
352
- isArchived: {
353
- type: "boolean",
354
- description: "Archive or unarchive the project"
300
+ "type": "object",
301
+ "properties": {
302
+ "id": {
303
+ "type": "string",
304
+ "description": "Project ID to update"
305
+ },
306
+ "name": {
307
+ "type": "string",
308
+ "description": "New project name"
309
+ },
310
+ "description": {
311
+ "type": "string",
312
+ "description": "New project description"
313
+ },
314
+ "color": {
315
+ "type": "string",
316
+ "description": "New project color (hex code)"
317
+ },
318
+ "isArchived": {
319
+ "type": "boolean",
320
+ "description": "Archive or unarchive the project"
355
321
  }
356
322
  },
357
- required: ["id"]
323
+ "required": [
324
+ "id"
325
+ ]
358
326
  }
359
327
  },
360
328
  {
361
329
  name: "wireweave_cloud_delete_project",
362
330
  description: "Delete a project permanently. All wireframes in the project will be moved to the default project.",
363
331
  inputSchema: {
364
- type: "object",
365
- properties: {
366
- id: {
367
- type: "string",
368
- description: "Project ID to delete"
332
+ "type": "object",
333
+ "properties": {
334
+ "id": {
335
+ "type": "string",
336
+ "description": "Project ID to delete"
369
337
  }
370
338
  },
371
- required: ["id"]
339
+ "required": [
340
+ "id"
341
+ ]
372
342
  }
373
343
  },
374
344
  {
375
345
  name: "wireweave_cloud_list_wireframes",
376
346
  description: "List your saved wireframes. Optionally filter by project or tags.",
377
347
  inputSchema: {
378
- type: "object",
379
- properties: {
380
- projectId: {
381
- type: "string",
382
- description: "Filter by project ID"
383
- },
384
- tags: {
385
- type: "array",
386
- items: { type: "string" },
387
- description: "Filter by tags"
388
- },
389
- limit: {
390
- type: "number",
391
- description: "Maximum number of wireframes to return",
392
- default: 20
393
- },
394
- offset: {
395
- type: "number",
396
- description: "Offset for pagination",
397
- default: 0
348
+ "type": "object",
349
+ "properties": {
350
+ "projectId": {
351
+ "type": "string",
352
+ "description": "Filter by project ID"
353
+ },
354
+ "tags": {
355
+ "type": "array",
356
+ "items": {
357
+ "type": "string"
358
+ },
359
+ "description": "Filter by tags"
360
+ },
361
+ "limit": {
362
+ "type": "number",
363
+ "description": "Maximum number of wireframes to return",
364
+ "default": 20
365
+ },
366
+ "offset": {
367
+ "type": "number",
368
+ "description": "Offset for pagination",
369
+ "default": 0
398
370
  }
399
371
  },
400
- required: []
372
+ "required": []
401
373
  }
402
374
  },
403
375
  {
404
376
  name: "wireweave_cloud_get_wireframe",
405
377
  description: "Get a specific wireframe by ID, including its code and metadata",
406
378
  inputSchema: {
407
- type: "object",
408
- properties: {
409
- id: {
410
- type: "string",
411
- description: "Wireframe ID"
379
+ "type": "object",
380
+ "properties": {
381
+ "id": {
382
+ "type": "string",
383
+ "description": "Wireframe ID"
412
384
  }
413
385
  },
414
- required: ["id"]
386
+ "required": [
387
+ "id"
388
+ ]
415
389
  }
416
390
  },
417
391
  {
418
392
  name: "wireweave_cloud_save_wireframe",
419
393
  description: "Save a new wireframe to the cloud. Costs 1 credit.",
420
394
  inputSchema: {
421
- type: "object",
422
- properties: {
423
- name: {
424
- type: "string",
425
- description: "Wireframe name"
426
- },
427
- code: {
428
- type: "string",
429
- description: "Wireweave DSL code"
430
- },
431
- description: {
432
- type: "string",
433
- description: "Wireframe description"
434
- },
435
- projectId: {
436
- type: "string",
437
- description: "Project ID to save to (uses default project if not specified)"
438
- },
439
- tags: {
440
- type: "array",
441
- items: { type: "string" },
442
- description: "Tags for categorization"
443
- },
444
- isPublic: {
445
- type: "boolean",
446
- description: "Make wireframe publicly visible",
447
- default: false
395
+ "type": "object",
396
+ "properties": {
397
+ "name": {
398
+ "type": "string",
399
+ "description": "Wireframe name"
400
+ },
401
+ "code": {
402
+ "type": "string",
403
+ "description": "Wireweave DSL code"
404
+ },
405
+ "description": {
406
+ "type": "string",
407
+ "description": "Wireframe description"
408
+ },
409
+ "projectId": {
410
+ "type": "string",
411
+ "description": "Project ID to save to (uses default project if not specified)"
412
+ },
413
+ "tags": {
414
+ "type": "array",
415
+ "items": {
416
+ "type": "string"
417
+ },
418
+ "description": "Tags for categorization"
419
+ },
420
+ "isPublic": {
421
+ "type": "boolean",
422
+ "description": "Make wireframe publicly visible",
423
+ "default": false
448
424
  }
449
425
  },
450
- required: ["name", "code"]
426
+ "required": [
427
+ "name",
428
+ "code"
429
+ ]
451
430
  }
452
431
  },
453
432
  {
454
433
  name: "wireweave_cloud_update_wireframe",
455
434
  description: "Update an existing wireframe. Creates a new version automatically. Costs 1 credit.",
456
435
  inputSchema: {
457
- type: "object",
458
- properties: {
459
- id: {
460
- type: "string",
461
- description: "Wireframe ID to update"
462
- },
463
- name: {
464
- type: "string",
465
- description: "New name (optional)"
466
- },
467
- code: {
468
- type: "string",
469
- description: "New Wireweave DSL code (optional)"
470
- },
471
- description: {
472
- type: "string",
473
- description: "New description (optional)"
474
- },
475
- tags: {
476
- type: "array",
477
- items: { type: "string" },
478
- description: "New tags (optional)"
479
- },
480
- isPublic: {
481
- type: "boolean",
482
- description: "Update public visibility (optional)"
436
+ "type": "object",
437
+ "properties": {
438
+ "id": {
439
+ "type": "string",
440
+ "description": "Wireframe ID to update"
441
+ },
442
+ "name": {
443
+ "type": "string",
444
+ "description": "New name (optional)"
445
+ },
446
+ "code": {
447
+ "type": "string",
448
+ "description": "New Wireweave DSL code (optional)"
449
+ },
450
+ "description": {
451
+ "type": "string",
452
+ "description": "New description (optional)"
453
+ },
454
+ "tags": {
455
+ "type": "array",
456
+ "items": {
457
+ "type": "string"
458
+ },
459
+ "description": "New tags (optional)"
460
+ },
461
+ "isPublic": {
462
+ "type": "boolean",
463
+ "description": "Update public visibility (optional)"
483
464
  }
484
465
  },
485
- required: ["id"]
466
+ "required": [
467
+ "id"
468
+ ]
486
469
  }
487
470
  },
488
471
  {
489
472
  name: "wireweave_cloud_delete_wireframe",
490
473
  description: "Delete a wireframe permanently",
491
474
  inputSchema: {
492
- type: "object",
493
- properties: {
494
- id: {
495
- type: "string",
496
- description: "Wireframe ID to delete"
475
+ "type": "object",
476
+ "properties": {
477
+ "id": {
478
+ "type": "string",
479
+ "description": "Wireframe ID to delete"
497
480
  }
498
481
  },
499
- required: ["id"]
482
+ "required": [
483
+ "id"
484
+ ]
500
485
  }
501
486
  },
502
487
  {
503
488
  name: "wireweave_cloud_get_versions",
504
489
  description: "Get version history of a wireframe",
505
490
  inputSchema: {
506
- type: "object",
507
- properties: {
508
- wireframeId: {
509
- type: "string",
510
- description: "Wireframe ID"
491
+ "type": "object",
492
+ "properties": {
493
+ "wireframeId": {
494
+ "type": "string",
495
+ "description": "Wireframe ID"
511
496
  }
512
497
  },
513
- required: ["wireframeId"]
498
+ "required": [
499
+ "wireframeId"
500
+ ]
514
501
  }
515
502
  },
516
503
  {
517
504
  name: "wireweave_cloud_restore_version",
518
505
  description: "Restore a wireframe to a previous version. Costs 1 credit.",
519
506
  inputSchema: {
520
- type: "object",
521
- properties: {
522
- wireframeId: {
523
- type: "string",
524
- description: "Wireframe ID"
525
- },
526
- version: {
527
- type: "number",
528
- description: "Version number to restore"
507
+ "type": "object",
508
+ "properties": {
509
+ "wireframeId": {
510
+ "type": "string",
511
+ "description": "Wireframe ID"
512
+ },
513
+ "version": {
514
+ "type": "number",
515
+ "description": "Version number to restore"
529
516
  }
530
517
  },
531
- required: ["wireframeId", "version"]
518
+ "required": [
519
+ "wireframeId",
520
+ "version"
521
+ ]
532
522
  }
533
523
  },
534
524
  {
535
525
  name: "wireweave_cloud_create_share_link",
536
526
  description: "Create a shareable link for a wireframe. Costs 5 credits.",
537
527
  inputSchema: {
538
- type: "object",
539
- properties: {
540
- wireframeId: {
541
- type: "string",
542
- description: "Wireframe ID to share"
543
- },
544
- title: {
545
- type: "string",
546
- description: "Custom title for the shared view"
547
- },
548
- allowCopy: {
549
- type: "boolean",
550
- description: "Allow viewers to copy the code",
551
- default: false
552
- },
553
- password: {
554
- type: "string",
555
- description: "Password protection (optional)"
556
- },
557
- expiresInDays: {
558
- type: "number",
559
- description: "Link expiration in days (optional, null = never)"
528
+ "type": "object",
529
+ "properties": {
530
+ "wireframeId": {
531
+ "type": "string",
532
+ "description": "Wireframe ID to share"
533
+ },
534
+ "title": {
535
+ "type": "string",
536
+ "description": "Custom title for the shared view"
537
+ },
538
+ "allowCopy": {
539
+ "type": "boolean",
540
+ "description": "Allow viewers to copy the code",
541
+ "default": false
542
+ },
543
+ "password": {
544
+ "type": "string",
545
+ "description": "Password protection (optional)"
546
+ },
547
+ "expiresInDays": {
548
+ "type": "number",
549
+ "description": "Link expiration in days (optional, null = never)"
560
550
  }
561
551
  },
562
- required: ["wireframeId"]
552
+ "required": [
553
+ "wireframeId"
554
+ ]
563
555
  }
564
556
  },
565
557
  {
566
558
  name: "wireweave_cloud_list_shares",
567
559
  description: "List share links for a wireframe",
568
560
  inputSchema: {
569
- type: "object",
570
- properties: {
571
- wireframeId: {
572
- type: "string",
573
- description: "Wireframe ID"
561
+ "type": "object",
562
+ "properties": {
563
+ "wireframeId": {
564
+ "type": "string",
565
+ "description": "Wireframe ID"
574
566
  }
575
567
  },
576
- required: ["wireframeId"]
568
+ "required": [
569
+ "wireframeId"
570
+ ]
577
571
  }
578
572
  },
579
- // ============================================
580
- // Account & Billing Tools
581
- // ============================================
582
573
  {
583
574
  name: "wireweave_account_balance",
584
575
  description: "Check your current credit balance and subscription status",
585
576
  inputSchema: {
586
- type: "object",
587
- properties: {},
588
- required: []
577
+ "type": "object",
578
+ "properties": {},
579
+ "required": []
589
580
  }
590
581
  },
591
582
  {
592
583
  name: "wireweave_account_subscription",
593
584
  description: "Get detailed subscription information including plan features",
594
585
  inputSchema: {
595
- type: "object",
596
- properties: {},
597
- required: []
586
+ "type": "object",
587
+ "properties": {},
588
+ "required": []
598
589
  }
599
590
  },
600
591
  {
601
592
  name: "wireweave_account_transactions",
602
593
  description: "View your credit transaction history",
603
594
  inputSchema: {
604
- type: "object",
605
- properties: {
606
- limit: {
607
- type: "number",
608
- description: "Number of transactions to return",
609
- default: 20
610
- },
611
- type: {
612
- type: "string",
613
- enum: ["purchase", "subscription", "usage", "refund", "bonus", "admin"],
614
- description: "Filter by transaction type"
595
+ "type": "object",
596
+ "properties": {
597
+ "limit": {
598
+ "type": "number",
599
+ "description": "Number of transactions to return",
600
+ "default": 20
601
+ },
602
+ "type": {
603
+ "type": "string",
604
+ "enum": [
605
+ "purchase",
606
+ "subscription",
607
+ "usage",
608
+ "refund",
609
+ "bonus",
610
+ "admin"
611
+ ],
612
+ "description": "Filter by transaction type"
615
613
  }
616
614
  },
617
- required: []
615
+ "required": []
618
616
  }
619
617
  },
620
618
  {
621
619
  name: "wireweave_pricing",
622
620
  description: "Get current pricing information for plans, credit packs, and feature costs",
623
621
  inputSchema: {
624
- type: "object",
625
- properties: {},
626
- required: []
622
+ "type": "object",
623
+ "properties": {},
624
+ "required": []
627
625
  }
628
626
  },
629
- // ============================================
630
- // Public Gallery
631
- // ============================================
632
627
  {
633
628
  name: "wireweave_gallery",
634
629
  description: "Browse public wireframe gallery for inspiration",
635
630
  inputSchema: {
636
- type: "object",
637
- properties: {
638
- tags: {
639
- type: "array",
640
- items: { type: "string" },
641
- description: "Filter by tags"
642
- },
643
- limit: {
644
- type: "number",
645
- description: "Number of wireframes to return",
646
- default: 20
631
+ "type": "object",
632
+ "properties": {
633
+ "tags": {
634
+ "type": "array",
635
+ "items": {
636
+ "type": "string"
637
+ },
638
+ "description": "Filter by tags"
639
+ },
640
+ "limit": {
641
+ "type": "number",
642
+ "description": "Number of wireframes to return",
643
+ "default": 20
647
644
  }
648
645
  },
649
- required: []
646
+ "required": []
650
647
  }
651
648
  }
652
649
  ];
653
650
  var toolEndpoints = {
654
- // Core tools
655
651
  wireweave_parse: { method: "POST", path: "/tools/parse" },
656
652
  wireweave_validate: { method: "POST", path: "/tools/validate" },
657
653
  wireweave_grammar: { method: "GET", path: "/tools/grammar" },
@@ -659,14 +655,10 @@ var toolEndpoints = {
659
655
  wireweave_patterns: { method: "GET", path: "/tools/patterns" },
660
656
  wireweave_examples: { method: "GET", path: "/tools/examples" },
661
657
  wireweave_render_html: { method: "POST", path: "/tools/render/html" },
662
- wireweave_render_svg: { method: "POST", path: "/tools/render/svg" },
663
658
  wireweave_validate_ux: { method: "POST", path: "/tools/validate/ux" },
664
659
  wireweave_ux_rules: { method: "GET", path: "/tools/ux-rules" },
665
660
  wireweave_diff: { method: "POST", path: "/tools/diff" },
666
- wireweave_export_json: { method: "POST", path: "/tools/export/json" },
667
- wireweave_export_figma: { method: "POST", path: "/tools/export/figma" },
668
661
  wireweave_analyze: { method: "POST", path: "/tools/analyze" },
669
- // Cloud storage tools
670
662
  wireweave_cloud_list_projects: { method: "GET", path: "/cloud/projects" },
671
663
  wireweave_cloud_create_project: { method: "POST", path: "/cloud/projects" },
672
664
  wireweave_cloud_update_project: { method: "PATCH", path: "/cloud/projects/:id", pathParams: ["id"] },
@@ -680,12 +672,10 @@ var toolEndpoints = {
680
672
  wireweave_cloud_restore_version: { method: "POST", path: "/cloud/wireframes/:wireframeId/versions/:version/restore", pathParams: ["wireframeId", "version"] },
681
673
  wireweave_cloud_create_share_link: { method: "POST", path: "/cloud/wireframes/:wireframeId/shares", pathParams: ["wireframeId"] },
682
674
  wireweave_cloud_list_shares: { method: "GET", path: "/cloud/wireframes/:wireframeId/shares", pathParams: ["wireframeId"] },
683
- // Account & billing tools
684
675
  wireweave_account_balance: { method: "GET", path: "/billing/balance" },
685
676
  wireweave_account_subscription: { method: "GET", path: "/billing/subscription" },
686
677
  wireweave_account_transactions: { method: "GET", path: "/billing/transactions" },
687
678
  wireweave_pricing: { method: "GET", path: "/billing/pricing" },
688
- // Public gallery
689
679
  wireweave_gallery: { method: "GET", path: "/cloud/gallery" }
690
680
  };
691
681
 
@@ -799,7 +789,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
799
789
  type: "text",
800
790
  text: JSON.stringify({
801
791
  error: `Unknown tool: ${name}`,
802
- availableTools: Object.keys(toolEndpoints)
792
+ availableTools: tools.map((t) => t.name)
803
793
  }, null, 2)
804
794
  }
805
795
  ],
@@ -840,7 +830,7 @@ process.on("SIGINT", async () => {
840
830
  async function main() {
841
831
  const transport = new StdioServerTransport();
842
832
  await server.connect(transport);
843
- log("MCP server started");
833
+ log(`MCP server started with ${tools.length} tools`);
844
834
  if (!API_KEY) {
845
835
  log("API key not configured. Get one at https://dashboard.wireweave.org", "warn");
846
836
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wireweave/mcp-server",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "MCP server for Wireweave DSL - Thin client for API Server",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",