@zegazone_mcp/mcp 2.0.3 → 2.0.4
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 +7 -0
- package/dist/tool-schemas.js +372 -23
- package/package.json +37 -37
package/README.md
CHANGED
|
@@ -33,19 +33,26 @@ Set `ZEGA_API_BASE=https://api.zegaphone.com` in env if needed (defaults apply f
|
|
|
33
33
|
- Keeps API as source of truth.
|
|
34
34
|
- Applies safety defaults for destructive operations (`dry_run` when neither `confirm` nor `dry_run` is provided).
|
|
35
35
|
- Adds `idempotency_key` automatically to mutating operations when absent.
|
|
36
|
+
- **2.0.4+:** every MCP tool exposes a typed Zod input schema (field names, types, and descriptions) so weak models can call tools without guessing `args`.
|
|
36
37
|
|
|
37
38
|
## Tool mapping
|
|
38
39
|
|
|
39
40
|
Examples:
|
|
40
41
|
|
|
41
42
|
- `operations_list` -> `operations.list`
|
|
43
|
+
- `collections_get` -> `collections.get`
|
|
44
|
+
- `collections_get_by_slug` -> `collections.get_by_slug`
|
|
42
45
|
- `collections_delete` -> `collections.delete`
|
|
46
|
+
- `media_get` -> `media.get`
|
|
47
|
+
- `media_search` -> `media.search` (requires `query`)
|
|
43
48
|
- `media_delete` -> `media.delete`
|
|
44
49
|
- `media_move` -> `media.move`
|
|
45
50
|
- `media_reorder` -> `media.reorder`
|
|
46
51
|
|
|
47
52
|
Also includes generic `thirdparty_call` for forward compatibility.
|
|
48
53
|
|
|
54
|
+
**Lookup tip:** use `media_get` / `collections_get` when you know the id; use `media_search` when you only have a keyword.
|
|
55
|
+
|
|
49
56
|
## Configuration
|
|
50
57
|
|
|
51
58
|
Copy `.env.example` to `.env.local`. You need `ZEGA_API_BASE` plus **either** a one-time OAuth pairing **or** a static access token.
|
package/dist/tool-schemas.js
CHANGED
|
@@ -14,11 +14,22 @@ const viewerEnum = z.enum([
|
|
|
14
14
|
"html",
|
|
15
15
|
]);
|
|
16
16
|
const shareAccessLevelEnum = z.enum(["private", "restricted", "registered", "public"]);
|
|
17
|
+
const displayModeEnum = z.enum(["plain", "markdown", "code"]);
|
|
18
|
+
const collectionsBrowseFilterEnum = z.enum(["own", "shared", "public", "following", "liked"]);
|
|
19
|
+
const mediaIdSchema = z.number().int().positive().describe("Integer ID of the media item.");
|
|
20
|
+
const collectionIdSchema = z.number().int().positive().describe("Integer ID of the collection.");
|
|
21
|
+
const limitSchema = z.number().int().positive().optional();
|
|
22
|
+
const offsetSchema = z.number().int().min(0).optional();
|
|
17
23
|
const tagsSchema = z
|
|
18
24
|
.array(z.string().min(1))
|
|
19
25
|
.max(10)
|
|
20
26
|
.optional()
|
|
21
27
|
.describe("Highly encouraged for discovery and organization (max 10).");
|
|
28
|
+
const emptyToolSchema = z
|
|
29
|
+
.object({
|
|
30
|
+
args: z.record(z.unknown()).optional(),
|
|
31
|
+
})
|
|
32
|
+
.catchall(z.unknown());
|
|
22
33
|
export const collectionsCreateSchema = z
|
|
23
34
|
.object({
|
|
24
35
|
args: z.record(z.unknown()).optional(),
|
|
@@ -43,7 +54,7 @@ export const collectionsCreateSchema = z
|
|
|
43
54
|
.optional()
|
|
44
55
|
.describe("Profile alias UUID; sets created_with_username publish handle."),
|
|
45
56
|
playback_prefs: z.record(z.unknown()).optional().describe("JSON playback preferences."),
|
|
46
|
-
parent_collection_id:
|
|
57
|
+
parent_collection_id: collectionIdSchema.optional(),
|
|
47
58
|
link_position: z.number().int().min(0).optional(),
|
|
48
59
|
link_description: z.string().max(4000).optional(),
|
|
49
60
|
})
|
|
@@ -51,7 +62,7 @@ export const collectionsCreateSchema = z
|
|
|
51
62
|
export const collectionsUpdateSchema = z
|
|
52
63
|
.object({
|
|
53
64
|
args: z.record(z.unknown()).optional(),
|
|
54
|
-
collection_id:
|
|
65
|
+
collection_id: collectionIdSchema,
|
|
55
66
|
name: z.string().min(1).optional(),
|
|
56
67
|
description: z.string().max(4000).nullable().optional(),
|
|
57
68
|
tags: tagsSchema,
|
|
@@ -69,10 +80,125 @@ export const collectionsUpdateSchema = z
|
|
|
69
80
|
playback_prefs: z.record(z.unknown()).nullable().optional(),
|
|
70
81
|
})
|
|
71
82
|
.catchall(z.unknown());
|
|
83
|
+
export const collectionsListSchema = z
|
|
84
|
+
.object({
|
|
85
|
+
args: z.record(z.unknown()).optional(),
|
|
86
|
+
parent_collection_id: collectionIdSchema.optional(),
|
|
87
|
+
include_archived: z.boolean().optional(),
|
|
88
|
+
limit: limitSchema,
|
|
89
|
+
offset: offsetSchema,
|
|
90
|
+
})
|
|
91
|
+
.catchall(z.unknown());
|
|
92
|
+
export const collectionsBatchGetSchema = z
|
|
93
|
+
.object({
|
|
94
|
+
args: z.record(z.unknown()).optional(),
|
|
95
|
+
collection_ids: z.array(collectionIdSchema).min(1),
|
|
96
|
+
})
|
|
97
|
+
.catchall(z.unknown());
|
|
98
|
+
export const collectionsExportSchema = z
|
|
99
|
+
.object({
|
|
100
|
+
args: z.record(z.unknown()).optional(),
|
|
101
|
+
collection_id: collectionIdSchema,
|
|
102
|
+
})
|
|
103
|
+
.catchall(z.unknown());
|
|
104
|
+
export const collectionsStatsGetSchema = z
|
|
105
|
+
.object({
|
|
106
|
+
args: z.record(z.unknown()).optional(),
|
|
107
|
+
collection_id: collectionIdSchema,
|
|
108
|
+
})
|
|
109
|
+
.catchall(z.unknown());
|
|
110
|
+
export const collectionsShareUrlSchema = z
|
|
111
|
+
.object({
|
|
112
|
+
args: z.record(z.unknown()).optional(),
|
|
113
|
+
collection_id: collectionIdSchema,
|
|
114
|
+
})
|
|
115
|
+
.catchall(z.unknown());
|
|
116
|
+
export const collectionsDeleteSchema = z
|
|
117
|
+
.object({
|
|
118
|
+
args: z.record(z.unknown()).optional(),
|
|
119
|
+
collection_id: collectionIdSchema,
|
|
120
|
+
dry_run: z.boolean().optional(),
|
|
121
|
+
confirm: z.boolean().optional(),
|
|
122
|
+
})
|
|
123
|
+
.catchall(z.unknown());
|
|
124
|
+
export const collectionsRestoreSchema = z
|
|
125
|
+
.object({
|
|
126
|
+
args: z.record(z.unknown()).optional(),
|
|
127
|
+
collection_id: collectionIdSchema,
|
|
128
|
+
})
|
|
129
|
+
.catchall(z.unknown());
|
|
130
|
+
export const collectionsArchiveSchema = z
|
|
131
|
+
.object({
|
|
132
|
+
args: z.record(z.unknown()).optional(),
|
|
133
|
+
collection_id: collectionIdSchema,
|
|
134
|
+
})
|
|
135
|
+
.catchall(z.unknown());
|
|
136
|
+
export const collectionsUnarchiveSchema = z
|
|
137
|
+
.object({
|
|
138
|
+
args: z.record(z.unknown()).optional(),
|
|
139
|
+
collection_id: collectionIdSchema,
|
|
140
|
+
})
|
|
141
|
+
.catchall(z.unknown());
|
|
142
|
+
export const collectionsReorderSchema = z
|
|
143
|
+
.object({
|
|
144
|
+
args: z.record(z.unknown()).optional(),
|
|
145
|
+
collection_id: collectionIdSchema,
|
|
146
|
+
ordered_ids: z.array(z.number().int().positive()).min(1),
|
|
147
|
+
})
|
|
148
|
+
.catchall(z.unknown());
|
|
149
|
+
export const collectionsPublishSchema = z
|
|
150
|
+
.object({
|
|
151
|
+
args: z.record(z.unknown()).optional(),
|
|
152
|
+
collection_id: collectionIdSchema,
|
|
153
|
+
slug: z.string().min(1),
|
|
154
|
+
handle: z.string().min(1).optional(),
|
|
155
|
+
})
|
|
156
|
+
.catchall(z.unknown());
|
|
157
|
+
export const collectionsUnpublishSchema = z
|
|
158
|
+
.object({
|
|
159
|
+
args: z.record(z.unknown()).optional(),
|
|
160
|
+
collection_id: collectionIdSchema,
|
|
161
|
+
})
|
|
162
|
+
.catchall(z.unknown());
|
|
163
|
+
export const collectionsLikeSchema = z
|
|
164
|
+
.object({
|
|
165
|
+
args: z.record(z.unknown()).optional(),
|
|
166
|
+
collection_id: collectionIdSchema,
|
|
167
|
+
})
|
|
168
|
+
.catchall(z.unknown());
|
|
169
|
+
export const collectionsUnlikeSchema = z
|
|
170
|
+
.object({
|
|
171
|
+
args: z.record(z.unknown()).optional(),
|
|
172
|
+
collection_id: collectionIdSchema,
|
|
173
|
+
})
|
|
174
|
+
.catchall(z.unknown());
|
|
175
|
+
export const collectionsLikedListSchema = z
|
|
176
|
+
.object({
|
|
177
|
+
args: z.record(z.unknown()).optional(),
|
|
178
|
+
limit: limitSchema,
|
|
179
|
+
offset: offsetSchema,
|
|
180
|
+
})
|
|
181
|
+
.catchall(z.unknown());
|
|
182
|
+
export const collectionsSearchSchema = z
|
|
183
|
+
.object({
|
|
184
|
+
args: z.record(z.unknown()).optional(),
|
|
185
|
+
query: z.string().min(3),
|
|
186
|
+
limit: limitSchema,
|
|
187
|
+
offset: offsetSchema,
|
|
188
|
+
})
|
|
189
|
+
.catchall(z.unknown());
|
|
190
|
+
export const collectionsBrowseSchema = z
|
|
191
|
+
.object({
|
|
192
|
+
args: z.record(z.unknown()).optional(),
|
|
193
|
+
filter: collectionsBrowseFilterEnum,
|
|
194
|
+
limit: limitSchema,
|
|
195
|
+
offset: offsetSchema,
|
|
196
|
+
})
|
|
197
|
+
.catchall(z.unknown());
|
|
72
198
|
export const mediaCreateSchema = z
|
|
73
199
|
.object({
|
|
74
200
|
args: z.record(z.unknown()).optional(),
|
|
75
|
-
collection_id:
|
|
201
|
+
collection_id: collectionIdSchema,
|
|
76
202
|
source_url: z.string().url(),
|
|
77
203
|
viewer: viewerEnum.describe("Hint for which viewer to use (required)."),
|
|
78
204
|
name: z.string().max(180).optional(),
|
|
@@ -89,13 +215,13 @@ export const mediaCreateSchema = z
|
|
|
89
215
|
screenshot_url: z.string().url().optional(),
|
|
90
216
|
background_image_url: z.string().url().optional(),
|
|
91
217
|
locked_for_collaborators: z.boolean().optional(),
|
|
92
|
-
subcollection_collection_id:
|
|
218
|
+
subcollection_collection_id: collectionIdSchema.nullable().optional(),
|
|
93
219
|
})
|
|
94
220
|
.catchall(z.unknown());
|
|
95
221
|
export const mediaUpdateSchema = z
|
|
96
222
|
.object({
|
|
97
223
|
args: z.record(z.unknown()).optional(),
|
|
98
|
-
media_id:
|
|
224
|
+
media_id: mediaIdSchema,
|
|
99
225
|
name: z.string().max(180).optional(),
|
|
100
226
|
description: z.string().max(4000).nullable().optional(),
|
|
101
227
|
position: z.number().int().min(0).optional(),
|
|
@@ -110,18 +236,18 @@ export const mediaUpdateSchema = z
|
|
|
110
236
|
type: z.string().optional(),
|
|
111
237
|
tags: tagsSchema,
|
|
112
238
|
text_note: z.string().max(524288).optional(),
|
|
113
|
-
display_mode:
|
|
239
|
+
display_mode: displayModeEnum.optional(),
|
|
114
240
|
screenshot_url: z.string().url().nullable().optional(),
|
|
115
241
|
background_image_url: z.string().url().nullable().optional(),
|
|
116
242
|
locked_for_collaborators: z.boolean().optional(),
|
|
117
|
-
subcollection_collection_id:
|
|
243
|
+
subcollection_collection_id: collectionIdSchema.nullable().optional(),
|
|
118
244
|
})
|
|
119
245
|
.catchall(z.unknown());
|
|
120
246
|
export const uiStateSetSchema = z
|
|
121
247
|
.object({
|
|
122
248
|
args: z.record(z.unknown()).optional(),
|
|
123
|
-
collection_id:
|
|
124
|
-
media_id:
|
|
249
|
+
collection_id: collectionIdSchema.nullable().optional(),
|
|
250
|
+
media_id: mediaIdSchema.nullable().optional(),
|
|
125
251
|
source: z.enum(["agent", "user"]).optional(),
|
|
126
252
|
agent_id: z.string().nullable().optional(),
|
|
127
253
|
view_mode: z.enum(["carousel", "grid"]).nullable().optional(),
|
|
@@ -133,19 +259,19 @@ export const uiStateSetSchema = z
|
|
|
133
259
|
export const mediaDescribeSchema = z
|
|
134
260
|
.object({
|
|
135
261
|
args: z.record(z.unknown()).optional(),
|
|
136
|
-
media_id:
|
|
262
|
+
media_id: mediaIdSchema,
|
|
137
263
|
})
|
|
138
264
|
.catchall(z.unknown());
|
|
139
265
|
export const mediaGetSchema = z
|
|
140
266
|
.object({
|
|
141
267
|
args: z.record(z.unknown()).optional(),
|
|
142
|
-
media_id:
|
|
268
|
+
media_id: mediaIdSchema,
|
|
143
269
|
})
|
|
144
270
|
.catchall(z.unknown());
|
|
145
271
|
export const collectionsGetSchema = z
|
|
146
272
|
.object({
|
|
147
273
|
args: z.record(z.unknown()).optional(),
|
|
148
|
-
collection_id:
|
|
274
|
+
collection_id: collectionIdSchema,
|
|
149
275
|
})
|
|
150
276
|
.catchall(z.unknown());
|
|
151
277
|
export const collectionsGetBySlugSchema = z
|
|
@@ -159,16 +285,16 @@ export const mediaSearchSchema = z
|
|
|
159
285
|
.object({
|
|
160
286
|
args: z.record(z.unknown()).optional(),
|
|
161
287
|
query: z.string().min(1).describe("Search text matched against name, description, and tags."),
|
|
162
|
-
collection_id:
|
|
288
|
+
collection_id: collectionIdSchema.optional(),
|
|
163
289
|
include_archived: z.boolean().optional(),
|
|
164
|
-
limit:
|
|
165
|
-
offset:
|
|
290
|
+
limit: limitSchema,
|
|
291
|
+
offset: offsetSchema,
|
|
166
292
|
})
|
|
167
293
|
.catchall(z.unknown());
|
|
168
294
|
export const mediaListSchema = z
|
|
169
295
|
.object({
|
|
170
296
|
args: z.record(z.unknown()).optional(),
|
|
171
|
-
collection_id:
|
|
297
|
+
collection_id: collectionIdSchema.optional(),
|
|
172
298
|
tag: z.string().optional(),
|
|
173
299
|
tags: tagsSchema,
|
|
174
300
|
name_contains: z.string().optional(),
|
|
@@ -179,20 +305,243 @@ export const mediaListSchema = z
|
|
|
179
305
|
created_before: z.string().optional(),
|
|
180
306
|
is_nsfw: z.boolean().optional(),
|
|
181
307
|
include_archived: z.boolean().optional(),
|
|
182
|
-
limit:
|
|
183
|
-
offset:
|
|
308
|
+
limit: limitSchema,
|
|
309
|
+
offset: offsetSchema,
|
|
310
|
+
})
|
|
311
|
+
.catchall(z.unknown());
|
|
312
|
+
export const mediaBatchListSchema = z
|
|
313
|
+
.object({
|
|
314
|
+
args: z.record(z.unknown()).optional(),
|
|
315
|
+
media_ids: z.array(mediaIdSchema).min(1),
|
|
316
|
+
})
|
|
317
|
+
.catchall(z.unknown());
|
|
318
|
+
export const mediaDownloadSchema = z
|
|
319
|
+
.object({
|
|
320
|
+
args: z.record(z.unknown()).optional(),
|
|
321
|
+
media_id: mediaIdSchema,
|
|
322
|
+
})
|
|
323
|
+
.catchall(z.unknown());
|
|
324
|
+
export const mediaReplaceSchema = z
|
|
325
|
+
.object({
|
|
326
|
+
args: z.record(z.unknown()).optional(),
|
|
327
|
+
media_id: mediaIdSchema,
|
|
328
|
+
source_url: z.string().url(),
|
|
329
|
+
viewer: viewerEnum.optional(),
|
|
330
|
+
type: z.string().optional(),
|
|
331
|
+
})
|
|
332
|
+
.catchall(z.unknown());
|
|
333
|
+
export const mediaDeleteSchema = z
|
|
334
|
+
.object({
|
|
335
|
+
args: z.record(z.unknown()).optional(),
|
|
336
|
+
media_id: mediaIdSchema,
|
|
337
|
+
dry_run: z.boolean().optional(),
|
|
338
|
+
confirm: z.boolean().optional(),
|
|
339
|
+
})
|
|
340
|
+
.catchall(z.unknown());
|
|
341
|
+
export const mediaRestoreSchema = z
|
|
342
|
+
.object({
|
|
343
|
+
args: z.record(z.unknown()).optional(),
|
|
344
|
+
media_id: mediaIdSchema,
|
|
345
|
+
})
|
|
346
|
+
.catchall(z.unknown());
|
|
347
|
+
export const mediaMoveSchema = z
|
|
348
|
+
.object({
|
|
349
|
+
args: z.record(z.unknown()).optional(),
|
|
350
|
+
media_id: mediaIdSchema,
|
|
351
|
+
collection_id: collectionIdSchema,
|
|
352
|
+
position: z.number().int().min(0).optional(),
|
|
353
|
+
})
|
|
354
|
+
.catchall(z.unknown());
|
|
355
|
+
export const mediaCopySchema = z
|
|
356
|
+
.object({
|
|
357
|
+
args: z.record(z.unknown()).optional(),
|
|
358
|
+
media_id: mediaIdSchema,
|
|
359
|
+
collection_id: collectionIdSchema,
|
|
360
|
+
position: z.number().int().min(0).optional(),
|
|
361
|
+
})
|
|
362
|
+
.catchall(z.unknown());
|
|
363
|
+
export const mediaReorderSchema = z
|
|
364
|
+
.object({
|
|
365
|
+
args: z.record(z.unknown()).optional(),
|
|
366
|
+
collection_id: collectionIdSchema,
|
|
367
|
+
ordered_ids: z.array(mediaIdSchema).min(1),
|
|
368
|
+
})
|
|
369
|
+
.catchall(z.unknown());
|
|
370
|
+
export const mediaArchiveSchema = z
|
|
371
|
+
.object({
|
|
372
|
+
args: z.record(z.unknown()).optional(),
|
|
373
|
+
media_id: mediaIdSchema,
|
|
374
|
+
})
|
|
375
|
+
.catchall(z.unknown());
|
|
376
|
+
export const mediaUnarchiveSchema = z
|
|
377
|
+
.object({
|
|
378
|
+
args: z.record(z.unknown()).optional(),
|
|
379
|
+
media_id: mediaIdSchema,
|
|
380
|
+
})
|
|
381
|
+
.catchall(z.unknown());
|
|
382
|
+
export const mediaTextNoteAddSchema = z
|
|
383
|
+
.object({
|
|
384
|
+
args: z.record(z.unknown()).optional(),
|
|
385
|
+
collection_id: collectionIdSchema,
|
|
386
|
+
name: z.string().min(1),
|
|
387
|
+
body: z.string(),
|
|
388
|
+
display_mode: displayModeEnum.optional(),
|
|
389
|
+
position: z.number().int().min(0).optional(),
|
|
390
|
+
})
|
|
391
|
+
.catchall(z.unknown());
|
|
392
|
+
export const mediaTextNoteGetSchema = z
|
|
393
|
+
.object({
|
|
394
|
+
args: z.record(z.unknown()).optional(),
|
|
395
|
+
media_id: mediaIdSchema,
|
|
396
|
+
})
|
|
397
|
+
.catchall(z.unknown());
|
|
398
|
+
export const mediaTextNoteUpdateSchema = z
|
|
399
|
+
.object({
|
|
400
|
+
args: z.record(z.unknown()).optional(),
|
|
401
|
+
media_id: mediaIdSchema,
|
|
402
|
+
body: z.string().optional(),
|
|
403
|
+
name: z.string().min(1).optional(),
|
|
404
|
+
display_mode: displayModeEnum.optional(),
|
|
405
|
+
thumbnail_url: z.string().url().optional(),
|
|
406
|
+
})
|
|
407
|
+
.catchall(z.unknown());
|
|
408
|
+
export const mediaTextNoteDeleteSchema = z
|
|
409
|
+
.object({
|
|
410
|
+
args: z.record(z.unknown()).optional(),
|
|
411
|
+
media_id: mediaIdSchema,
|
|
412
|
+
dry_run: z.boolean().optional(),
|
|
413
|
+
confirm: z.boolean().optional(),
|
|
414
|
+
})
|
|
415
|
+
.catchall(z.unknown());
|
|
416
|
+
export const profileUpdateSchema = z
|
|
417
|
+
.object({
|
|
418
|
+
args: z.record(z.unknown()).optional(),
|
|
419
|
+
display_name: z.string().optional(),
|
|
420
|
+
bio: z.string().optional(),
|
|
421
|
+
})
|
|
422
|
+
.catchall(z.unknown());
|
|
423
|
+
export const aliasesFollowSchema = z
|
|
424
|
+
.object({
|
|
425
|
+
args: z.record(z.unknown()).optional(),
|
|
426
|
+
handle: z.string().min(1),
|
|
427
|
+
})
|
|
428
|
+
.catchall(z.unknown());
|
|
429
|
+
export const aliasesUnfollowSchema = z
|
|
430
|
+
.object({
|
|
431
|
+
args: z.record(z.unknown()).optional(),
|
|
432
|
+
handle: z.string().min(1),
|
|
433
|
+
})
|
|
434
|
+
.catchall(z.unknown());
|
|
435
|
+
export const aliasesFollowingListSchema = z
|
|
436
|
+
.object({
|
|
437
|
+
args: z.record(z.unknown()).optional(),
|
|
438
|
+
limit: limitSchema,
|
|
439
|
+
offset: offsetSchema,
|
|
440
|
+
})
|
|
441
|
+
.catchall(z.unknown());
|
|
442
|
+
export const collaboratorsListSchema = z
|
|
443
|
+
.object({
|
|
444
|
+
args: z.record(z.unknown()).optional(),
|
|
445
|
+
collection_id: collectionIdSchema,
|
|
446
|
+
})
|
|
447
|
+
.catchall(z.unknown());
|
|
448
|
+
export const collaboratorsInviteSchema = z
|
|
449
|
+
.object({
|
|
450
|
+
args: z.record(z.unknown()).optional(),
|
|
451
|
+
collection_id: collectionIdSchema,
|
|
452
|
+
username: z.string().min(1),
|
|
453
|
+
})
|
|
454
|
+
.catchall(z.unknown());
|
|
455
|
+
export const collaboratorsRevokeSchema = z
|
|
456
|
+
.object({
|
|
457
|
+
args: z.record(z.unknown()).optional(),
|
|
458
|
+
collection_id: collectionIdSchema,
|
|
459
|
+
username: z.string().min(1),
|
|
460
|
+
})
|
|
461
|
+
.catchall(z.unknown());
|
|
462
|
+
export const collaboratorsInvitesListSchema = z
|
|
463
|
+
.object({
|
|
464
|
+
args: z.record(z.unknown()).optional(),
|
|
465
|
+
collection_id: collectionIdSchema,
|
|
466
|
+
})
|
|
467
|
+
.catchall(z.unknown());
|
|
468
|
+
export const collaboratorsInviteAcceptSchema = z
|
|
469
|
+
.object({
|
|
470
|
+
args: z.record(z.unknown()).optional(),
|
|
471
|
+
invite_id: z.string().min(1),
|
|
472
|
+
})
|
|
473
|
+
.catchall(z.unknown());
|
|
474
|
+
export const collaboratorsInviteDeclineSchema = z
|
|
475
|
+
.object({
|
|
476
|
+
args: z.record(z.unknown()).optional(),
|
|
477
|
+
invite_id: z.string().min(1),
|
|
478
|
+
})
|
|
479
|
+
.catchall(z.unknown());
|
|
480
|
+
export const operationDescribeSchema = z
|
|
481
|
+
.object({
|
|
482
|
+
args: z.record(z.unknown()).optional(),
|
|
483
|
+
name: z.string().min(1).describe("Operation name from operations_list, e.g. collections.list."),
|
|
184
484
|
})
|
|
185
485
|
.catchall(z.unknown());
|
|
186
486
|
export const TYPED_TOOL_SCHEMAS = {
|
|
187
|
-
|
|
188
|
-
|
|
487
|
+
ping: emptyToolSchema,
|
|
488
|
+
schema_get: emptyToolSchema,
|
|
489
|
+
operations_list: emptyToolSchema,
|
|
490
|
+
operation_describe: operationDescribeSchema,
|
|
491
|
+
ui_state_get: emptyToolSchema,
|
|
492
|
+
ui_state_set: uiStateSetSchema,
|
|
493
|
+
collections_list: collectionsListSchema,
|
|
189
494
|
collections_get: collectionsGetSchema,
|
|
190
495
|
collections_get_by_slug: collectionsGetBySlugSchema,
|
|
191
|
-
|
|
192
|
-
|
|
496
|
+
collections_batch_get: collectionsBatchGetSchema,
|
|
497
|
+
collections_export: collectionsExportSchema,
|
|
498
|
+
collections_create: collectionsCreateSchema,
|
|
499
|
+
collections_update: collectionsUpdateSchema,
|
|
500
|
+
collections_delete: collectionsDeleteSchema,
|
|
501
|
+
collections_restore: collectionsRestoreSchema,
|
|
502
|
+
collections_reorder: collectionsReorderSchema,
|
|
503
|
+
collections_archive: collectionsArchiveSchema,
|
|
504
|
+
collections_unarchive: collectionsUnarchiveSchema,
|
|
505
|
+
collections_like: collectionsLikeSchema,
|
|
506
|
+
collections_unlike: collectionsUnlikeSchema,
|
|
507
|
+
collections_liked_list: collectionsLikedListSchema,
|
|
508
|
+
collections_search: collectionsSearchSchema,
|
|
509
|
+
collections_browse: collectionsBrowseSchema,
|
|
510
|
+
collections_stats_get: collectionsStatsGetSchema,
|
|
511
|
+
collections_share_url: collectionsShareUrlSchema,
|
|
512
|
+
collections_publish: collectionsPublishSchema,
|
|
513
|
+
collections_unpublish: collectionsUnpublishSchema,
|
|
514
|
+
aliases_list: emptyToolSchema,
|
|
515
|
+
aliases_follow: aliasesFollowSchema,
|
|
516
|
+
aliases_unfollow: aliasesUnfollowSchema,
|
|
517
|
+
aliases_following_list: aliasesFollowingListSchema,
|
|
518
|
+
profile_get: emptyToolSchema,
|
|
519
|
+
profile_update: profileUpdateSchema,
|
|
520
|
+
collaborators_list: collaboratorsListSchema,
|
|
521
|
+
collaborators_invite: collaboratorsInviteSchema,
|
|
522
|
+
collaborators_revoke: collaboratorsRevokeSchema,
|
|
523
|
+
collaborators_invites_list: collaboratorsInvitesListSchema,
|
|
524
|
+
collaborators_invites_received: emptyToolSchema,
|
|
525
|
+
collaborators_invite_accept: collaboratorsInviteAcceptSchema,
|
|
526
|
+
collaborators_invite_decline: collaboratorsInviteDeclineSchema,
|
|
193
527
|
media_list: mediaListSchema,
|
|
194
528
|
media_get: mediaGetSchema,
|
|
195
529
|
media_search: mediaSearchSchema,
|
|
196
|
-
|
|
530
|
+
media_batch_list: mediaBatchListSchema,
|
|
531
|
+
media_download: mediaDownloadSchema,
|
|
532
|
+
media_create: mediaCreateSchema,
|
|
533
|
+
media_update: mediaUpdateSchema,
|
|
197
534
|
media_describe: mediaDescribeSchema,
|
|
535
|
+
media_replace: mediaReplaceSchema,
|
|
536
|
+
media_delete: mediaDeleteSchema,
|
|
537
|
+
media_restore: mediaRestoreSchema,
|
|
538
|
+
media_move: mediaMoveSchema,
|
|
539
|
+
media_copy: mediaCopySchema,
|
|
540
|
+
media_reorder: mediaReorderSchema,
|
|
541
|
+
media_archive: mediaArchiveSchema,
|
|
542
|
+
media_unarchive: mediaUnarchiveSchema,
|
|
543
|
+
media_text_note_add: mediaTextNoteAddSchema,
|
|
544
|
+
media_text_note_get: mediaTextNoteGetSchema,
|
|
545
|
+
media_text_note_update: mediaTextNoteUpdateSchema,
|
|
546
|
+
media_text_note_delete: mediaTextNoteDeleteSchema,
|
|
198
547
|
};
|
package/package.json
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@zegazone_mcp/mcp",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"description": "MCP server wrapper for Zegazone thirdparty-v1 API",
|
|
6
|
-
"publishConfig": {
|
|
7
|
-
"access": "public"
|
|
8
|
-
},
|
|
9
|
-
"bin": {
|
|
10
|
-
"zegazone-mcp": "dist/index.js"
|
|
11
|
-
},
|
|
12
|
-
"files": [
|
|
13
|
-
"dist/",
|
|
14
|
-
"README.md",
|
|
15
|
-
"scripts/oauth-pair.mjs"
|
|
16
|
-
],
|
|
17
|
-
"scripts": {
|
|
18
|
-
"build": "tsc -p tsconfig.json && node scripts/add-shebang.mjs",
|
|
19
|
-
"start": "node dist/index.js",
|
|
20
|
-
"dev": "tsx src/index.ts",
|
|
21
|
-
"oauth-pair": "node scripts/oauth-pair.mjs",
|
|
22
|
-
"smoke": "node tests/smoke.mjs",
|
|
23
|
-
"smoke:full": "node tests/smoke-thirdparty-v1.mjs",
|
|
24
|
-
"test:error-format": "npm run build && node tests/error-format.mjs",
|
|
25
|
-
"test:token-provider": "npm run build && node tests/token-provider-file-priority.mjs",
|
|
26
|
-
"test": "npm run build && node tests/error-format.mjs && node tests/token-provider-file-priority.mjs"
|
|
27
|
-
},
|
|
28
|
-
"dependencies": {
|
|
29
|
-
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
30
|
-
"zod": "^3.24.1"
|
|
31
|
-
},
|
|
32
|
-
"devDependencies": {
|
|
33
|
-
"@types/node": "^22.10.2",
|
|
34
|
-
"tsx": "^4.19.2",
|
|
35
|
-
"typescript": "^5.8.3"
|
|
36
|
-
}
|
|
37
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@zegazone_mcp/mcp",
|
|
3
|
+
"version": "2.0.4",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "MCP server wrapper for Zegazone thirdparty-v1 API",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"bin": {
|
|
10
|
+
"zegazone-mcp": "dist/index.js"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist/",
|
|
14
|
+
"README.md",
|
|
15
|
+
"scripts/oauth-pair.mjs"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc -p tsconfig.json && node scripts/add-shebang.mjs",
|
|
19
|
+
"start": "node dist/index.js",
|
|
20
|
+
"dev": "tsx src/index.ts",
|
|
21
|
+
"oauth-pair": "node scripts/oauth-pair.mjs",
|
|
22
|
+
"smoke": "node tests/smoke.mjs",
|
|
23
|
+
"smoke:full": "node tests/smoke-thirdparty-v1.mjs",
|
|
24
|
+
"test:error-format": "npm run build && node tests/error-format.mjs",
|
|
25
|
+
"test:token-provider": "npm run build && node tests/token-provider-file-priority.mjs",
|
|
26
|
+
"test": "npm run build && node tests/error-format.mjs && node tests/token-provider-file-priority.mjs"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
30
|
+
"zod": "^3.24.1"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@types/node": "^22.10.2",
|
|
34
|
+
"tsx": "^4.19.2",
|
|
35
|
+
"typescript": "^5.8.3"
|
|
36
|
+
}
|
|
37
|
+
}
|