@zavudev/sdk-mcp 0.23.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +3 -3
  2. package/code-tool.d.mts +4 -1
  3. package/code-tool.d.mts.map +1 -1
  4. package/code-tool.d.ts +4 -1
  5. package/code-tool.d.ts.map +1 -1
  6. package/code-tool.js +17 -4
  7. package/code-tool.js.map +1 -1
  8. package/code-tool.mjs +18 -5
  9. package/code-tool.mjs.map +1 -1
  10. package/headers.d.mts +1 -1
  11. package/headers.d.mts.map +1 -1
  12. package/headers.d.ts +1 -1
  13. package/headers.d.ts.map +1 -1
  14. package/headers.js +4 -1
  15. package/headers.js.map +1 -1
  16. package/headers.mjs +4 -1
  17. package/headers.mjs.map +1 -1
  18. package/http.d.mts +8 -3
  19. package/http.d.mts.map +1 -1
  20. package/http.d.ts +8 -3
  21. package/http.d.ts.map +1 -1
  22. package/http.js +27 -10
  23. package/http.js.map +1 -1
  24. package/http.mjs +27 -10
  25. package/http.mjs.map +1 -1
  26. package/index.js +6 -2
  27. package/index.js.map +1 -1
  28. package/index.mjs +6 -2
  29. package/index.mjs.map +1 -1
  30. package/methods.d.mts +10 -0
  31. package/methods.d.mts.map +1 -0
  32. package/methods.d.ts +10 -0
  33. package/methods.d.ts.map +1 -0
  34. package/methods.js +526 -0
  35. package/methods.js.map +1 -0
  36. package/methods.mjs +522 -0
  37. package/methods.mjs.map +1 -0
  38. package/options.d.mts +4 -0
  39. package/options.d.mts.map +1 -1
  40. package/options.d.ts +4 -0
  41. package/options.d.ts.map +1 -1
  42. package/options.js +31 -12
  43. package/options.js.map +1 -1
  44. package/options.mjs +31 -12
  45. package/options.mjs.map +1 -1
  46. package/package.json +15 -2
  47. package/server.d.mts +3 -3
  48. package/server.d.mts.map +1 -1
  49. package/server.d.ts +3 -3
  50. package/server.d.ts.map +1 -1
  51. package/server.js +47 -8
  52. package/server.js.map +1 -1
  53. package/server.mjs +45 -7
  54. package/server.mjs.map +1 -1
  55. package/src/code-tool.ts +28 -5
  56. package/src/headers.ts +3 -1
  57. package/src/http.ts +37 -13
  58. package/src/index.ts +6 -2
  59. package/src/methods.ts +546 -0
  60. package/src/options.ts +38 -12
  61. package/src/server.ts +56 -8
  62. package/src/stdio.ts +4 -3
  63. package/stdio.d.mts +2 -1
  64. package/stdio.d.mts.map +1 -1
  65. package/stdio.d.ts +2 -1
  66. package/stdio.d.ts.map +1 -1
  67. package/stdio.js +3 -3
  68. package/stdio.js.map +1 -1
  69. package/stdio.mjs +3 -3
  70. package/stdio.mjs.map +1 -1
package/methods.mjs ADDED
@@ -0,0 +1,522 @@
1
+ export const sdkMethods = [
2
+ {
3
+ clientCallName: 'client.messages.retrieve',
4
+ fullyQualifiedName: 'messages.retrieve',
5
+ httpMethod: 'get',
6
+ httpPath: '/v1/messages/{messageId}',
7
+ },
8
+ {
9
+ clientCallName: 'client.messages.list',
10
+ fullyQualifiedName: 'messages.list',
11
+ httpMethod: 'get',
12
+ httpPath: '/v1/messages',
13
+ },
14
+ {
15
+ clientCallName: 'client.messages.react',
16
+ fullyQualifiedName: 'messages.react',
17
+ httpMethod: 'post',
18
+ httpPath: '/v1/messages/{messageId}/reactions',
19
+ },
20
+ {
21
+ clientCallName: 'client.messages.send',
22
+ fullyQualifiedName: 'messages.send',
23
+ httpMethod: 'post',
24
+ httpPath: '/v1/messages',
25
+ },
26
+ {
27
+ clientCallName: 'client.templates.create',
28
+ fullyQualifiedName: 'templates.create',
29
+ httpMethod: 'post',
30
+ httpPath: '/v1/templates',
31
+ },
32
+ {
33
+ clientCallName: 'client.templates.retrieve',
34
+ fullyQualifiedName: 'templates.retrieve',
35
+ httpMethod: 'get',
36
+ httpPath: '/v1/templates/{templateId}',
37
+ },
38
+ {
39
+ clientCallName: 'client.templates.list',
40
+ fullyQualifiedName: 'templates.list',
41
+ httpMethod: 'get',
42
+ httpPath: '/v1/templates',
43
+ },
44
+ {
45
+ clientCallName: 'client.templates.delete',
46
+ fullyQualifiedName: 'templates.delete',
47
+ httpMethod: 'delete',
48
+ httpPath: '/v1/templates/{templateId}',
49
+ },
50
+ {
51
+ clientCallName: 'client.templates.submit',
52
+ fullyQualifiedName: 'templates.submit',
53
+ httpMethod: 'post',
54
+ httpPath: '/v1/templates/{templateId}/submit',
55
+ },
56
+ {
57
+ clientCallName: 'client.senders.create',
58
+ fullyQualifiedName: 'senders.create',
59
+ httpMethod: 'post',
60
+ httpPath: '/v1/senders',
61
+ },
62
+ {
63
+ clientCallName: 'client.senders.retrieve',
64
+ fullyQualifiedName: 'senders.retrieve',
65
+ httpMethod: 'get',
66
+ httpPath: '/v1/senders/{senderId}',
67
+ },
68
+ {
69
+ clientCallName: 'client.senders.update',
70
+ fullyQualifiedName: 'senders.update',
71
+ httpMethod: 'patch',
72
+ httpPath: '/v1/senders/{senderId}',
73
+ },
74
+ {
75
+ clientCallName: 'client.senders.list',
76
+ fullyQualifiedName: 'senders.list',
77
+ httpMethod: 'get',
78
+ httpPath: '/v1/senders',
79
+ },
80
+ {
81
+ clientCallName: 'client.senders.delete',
82
+ fullyQualifiedName: 'senders.delete',
83
+ httpMethod: 'delete',
84
+ httpPath: '/v1/senders/{senderId}',
85
+ },
86
+ {
87
+ clientCallName: 'client.senders.getProfile',
88
+ fullyQualifiedName: 'senders.getProfile',
89
+ httpMethod: 'get',
90
+ httpPath: '/v1/senders/{senderId}/profile',
91
+ },
92
+ {
93
+ clientCallName: 'client.senders.regenerateWebhookSecret',
94
+ fullyQualifiedName: 'senders.regenerateWebhookSecret',
95
+ httpMethod: 'post',
96
+ httpPath: '/v1/senders/{senderId}/webhook/secret',
97
+ },
98
+ {
99
+ clientCallName: 'client.senders.updateProfile',
100
+ fullyQualifiedName: 'senders.updateProfile',
101
+ httpMethod: 'patch',
102
+ httpPath: '/v1/senders/{senderId}/profile',
103
+ },
104
+ {
105
+ clientCallName: 'client.senders.uploadProfilePicture',
106
+ fullyQualifiedName: 'senders.uploadProfilePicture',
107
+ httpMethod: 'post',
108
+ httpPath: '/v1/senders/{senderId}/profile/picture',
109
+ },
110
+ {
111
+ clientCallName: 'client.senders.agent.create',
112
+ fullyQualifiedName: 'senders.agent.create',
113
+ httpMethod: 'post',
114
+ httpPath: '/v1/senders/{senderId}/agent',
115
+ },
116
+ {
117
+ clientCallName: 'client.senders.agent.retrieve',
118
+ fullyQualifiedName: 'senders.agent.retrieve',
119
+ httpMethod: 'get',
120
+ httpPath: '/v1/senders/{senderId}/agent',
121
+ },
122
+ {
123
+ clientCallName: 'client.senders.agent.update',
124
+ fullyQualifiedName: 'senders.agent.update',
125
+ httpMethod: 'patch',
126
+ httpPath: '/v1/senders/{senderId}/agent',
127
+ },
128
+ {
129
+ clientCallName: 'client.senders.agent.delete',
130
+ fullyQualifiedName: 'senders.agent.delete',
131
+ httpMethod: 'delete',
132
+ httpPath: '/v1/senders/{senderId}/agent',
133
+ },
134
+ {
135
+ clientCallName: 'client.senders.agent.stats',
136
+ fullyQualifiedName: 'senders.agent.stats',
137
+ httpMethod: 'get',
138
+ httpPath: '/v1/senders/{senderId}/agent/stats',
139
+ },
140
+ {
141
+ clientCallName: 'client.senders.agent.executions.list',
142
+ fullyQualifiedName: 'senders.agent.executions.list',
143
+ httpMethod: 'get',
144
+ httpPath: '/v1/senders/{senderId}/agent/executions',
145
+ },
146
+ {
147
+ clientCallName: 'client.senders.agent.flows.create',
148
+ fullyQualifiedName: 'senders.agent.flows.create',
149
+ httpMethod: 'post',
150
+ httpPath: '/v1/senders/{senderId}/agent/flows',
151
+ },
152
+ {
153
+ clientCallName: 'client.senders.agent.flows.retrieve',
154
+ fullyQualifiedName: 'senders.agent.flows.retrieve',
155
+ httpMethod: 'get',
156
+ httpPath: '/v1/senders/{senderId}/agent/flows/{flowId}',
157
+ },
158
+ {
159
+ clientCallName: 'client.senders.agent.flows.update',
160
+ fullyQualifiedName: 'senders.agent.flows.update',
161
+ httpMethod: 'patch',
162
+ httpPath: '/v1/senders/{senderId}/agent/flows/{flowId}',
163
+ },
164
+ {
165
+ clientCallName: 'client.senders.agent.flows.list',
166
+ fullyQualifiedName: 'senders.agent.flows.list',
167
+ httpMethod: 'get',
168
+ httpPath: '/v1/senders/{senderId}/agent/flows',
169
+ },
170
+ {
171
+ clientCallName: 'client.senders.agent.flows.delete',
172
+ fullyQualifiedName: 'senders.agent.flows.delete',
173
+ httpMethod: 'delete',
174
+ httpPath: '/v1/senders/{senderId}/agent/flows/{flowId}',
175
+ },
176
+ {
177
+ clientCallName: 'client.senders.agent.flows.duplicate',
178
+ fullyQualifiedName: 'senders.agent.flows.duplicate',
179
+ httpMethod: 'post',
180
+ httpPath: '/v1/senders/{senderId}/agent/flows/{flowId}/duplicate',
181
+ },
182
+ {
183
+ clientCallName: 'client.senders.agent.tools.create',
184
+ fullyQualifiedName: 'senders.agent.tools.create',
185
+ httpMethod: 'post',
186
+ httpPath: '/v1/senders/{senderId}/agent/tools',
187
+ },
188
+ {
189
+ clientCallName: 'client.senders.agent.tools.retrieve',
190
+ fullyQualifiedName: 'senders.agent.tools.retrieve',
191
+ httpMethod: 'get',
192
+ httpPath: '/v1/senders/{senderId}/agent/tools/{toolId}',
193
+ },
194
+ {
195
+ clientCallName: 'client.senders.agent.tools.update',
196
+ fullyQualifiedName: 'senders.agent.tools.update',
197
+ httpMethod: 'patch',
198
+ httpPath: '/v1/senders/{senderId}/agent/tools/{toolId}',
199
+ },
200
+ {
201
+ clientCallName: 'client.senders.agent.tools.list',
202
+ fullyQualifiedName: 'senders.agent.tools.list',
203
+ httpMethod: 'get',
204
+ httpPath: '/v1/senders/{senderId}/agent/tools',
205
+ },
206
+ {
207
+ clientCallName: 'client.senders.agent.tools.delete',
208
+ fullyQualifiedName: 'senders.agent.tools.delete',
209
+ httpMethod: 'delete',
210
+ httpPath: '/v1/senders/{senderId}/agent/tools/{toolId}',
211
+ },
212
+ {
213
+ clientCallName: 'client.senders.agent.tools.test',
214
+ fullyQualifiedName: 'senders.agent.tools.test',
215
+ httpMethod: 'post',
216
+ httpPath: '/v1/senders/{senderId}/agent/tools/{toolId}/test',
217
+ },
218
+ {
219
+ clientCallName: 'client.senders.agent.knowledgeBases.create',
220
+ fullyQualifiedName: 'senders.agent.knowledgeBases.create',
221
+ httpMethod: 'post',
222
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases',
223
+ },
224
+ {
225
+ clientCallName: 'client.senders.agent.knowledgeBases.retrieve',
226
+ fullyQualifiedName: 'senders.agent.knowledgeBases.retrieve',
227
+ httpMethod: 'get',
228
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}',
229
+ },
230
+ {
231
+ clientCallName: 'client.senders.agent.knowledgeBases.update',
232
+ fullyQualifiedName: 'senders.agent.knowledgeBases.update',
233
+ httpMethod: 'patch',
234
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}',
235
+ },
236
+ {
237
+ clientCallName: 'client.senders.agent.knowledgeBases.list',
238
+ fullyQualifiedName: 'senders.agent.knowledgeBases.list',
239
+ httpMethod: 'get',
240
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases',
241
+ },
242
+ {
243
+ clientCallName: 'client.senders.agent.knowledgeBases.delete',
244
+ fullyQualifiedName: 'senders.agent.knowledgeBases.delete',
245
+ httpMethod: 'delete',
246
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}',
247
+ },
248
+ {
249
+ clientCallName: 'client.senders.agent.knowledgeBases.documents.create',
250
+ fullyQualifiedName: 'senders.agent.knowledgeBases.documents.create',
251
+ httpMethod: 'post',
252
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}/documents',
253
+ },
254
+ {
255
+ clientCallName: 'client.senders.agent.knowledgeBases.documents.list',
256
+ fullyQualifiedName: 'senders.agent.knowledgeBases.documents.list',
257
+ httpMethod: 'get',
258
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}/documents',
259
+ },
260
+ {
261
+ clientCallName: 'client.senders.agent.knowledgeBases.documents.delete',
262
+ fullyQualifiedName: 'senders.agent.knowledgeBases.documents.delete',
263
+ httpMethod: 'delete',
264
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}/documents/{docId}',
265
+ },
266
+ {
267
+ clientCallName: 'client.contacts.retrieve',
268
+ fullyQualifiedName: 'contacts.retrieve',
269
+ httpMethod: 'get',
270
+ httpPath: '/v1/contacts/{contactId}',
271
+ },
272
+ {
273
+ clientCallName: 'client.contacts.update',
274
+ fullyQualifiedName: 'contacts.update',
275
+ httpMethod: 'patch',
276
+ httpPath: '/v1/contacts/{contactId}',
277
+ },
278
+ {
279
+ clientCallName: 'client.contacts.list',
280
+ fullyQualifiedName: 'contacts.list',
281
+ httpMethod: 'get',
282
+ httpPath: '/v1/contacts',
283
+ },
284
+ {
285
+ clientCallName: 'client.contacts.retrieveByPhone',
286
+ fullyQualifiedName: 'contacts.retrieveByPhone',
287
+ httpMethod: 'get',
288
+ httpPath: '/v1/contacts/phone/{phoneNumber}',
289
+ },
290
+ {
291
+ clientCallName: 'client.broadcasts.create',
292
+ fullyQualifiedName: 'broadcasts.create',
293
+ httpMethod: 'post',
294
+ httpPath: '/v1/broadcasts',
295
+ },
296
+ {
297
+ clientCallName: 'client.broadcasts.retrieve',
298
+ fullyQualifiedName: 'broadcasts.retrieve',
299
+ httpMethod: 'get',
300
+ httpPath: '/v1/broadcasts/{broadcastId}',
301
+ },
302
+ {
303
+ clientCallName: 'client.broadcasts.update',
304
+ fullyQualifiedName: 'broadcasts.update',
305
+ httpMethod: 'patch',
306
+ httpPath: '/v1/broadcasts/{broadcastId}',
307
+ },
308
+ {
309
+ clientCallName: 'client.broadcasts.list',
310
+ fullyQualifiedName: 'broadcasts.list',
311
+ httpMethod: 'get',
312
+ httpPath: '/v1/broadcasts',
313
+ },
314
+ {
315
+ clientCallName: 'client.broadcasts.delete',
316
+ fullyQualifiedName: 'broadcasts.delete',
317
+ httpMethod: 'delete',
318
+ httpPath: '/v1/broadcasts/{broadcastId}',
319
+ },
320
+ {
321
+ clientCallName: 'client.broadcasts.cancel',
322
+ fullyQualifiedName: 'broadcasts.cancel',
323
+ httpMethod: 'post',
324
+ httpPath: '/v1/broadcasts/{broadcastId}/cancel',
325
+ },
326
+ {
327
+ clientCallName: 'client.broadcasts.progress',
328
+ fullyQualifiedName: 'broadcasts.progress',
329
+ httpMethod: 'get',
330
+ httpPath: '/v1/broadcasts/{broadcastId}/progress',
331
+ },
332
+ {
333
+ clientCallName: 'client.broadcasts.reschedule',
334
+ fullyQualifiedName: 'broadcasts.reschedule',
335
+ httpMethod: 'patch',
336
+ httpPath: '/v1/broadcasts/{broadcastId}/schedule',
337
+ },
338
+ {
339
+ clientCallName: 'client.broadcasts.send',
340
+ fullyQualifiedName: 'broadcasts.send',
341
+ httpMethod: 'post',
342
+ httpPath: '/v1/broadcasts/{broadcastId}/send',
343
+ },
344
+ {
345
+ clientCallName: 'client.broadcasts.contacts.list',
346
+ fullyQualifiedName: 'broadcasts.contacts.list',
347
+ httpMethod: 'get',
348
+ httpPath: '/v1/broadcasts/{broadcastId}/contacts',
349
+ },
350
+ {
351
+ clientCallName: 'client.broadcasts.contacts.add',
352
+ fullyQualifiedName: 'broadcasts.contacts.add',
353
+ httpMethod: 'post',
354
+ httpPath: '/v1/broadcasts/{broadcastId}/contacts',
355
+ },
356
+ {
357
+ clientCallName: 'client.broadcasts.contacts.remove',
358
+ fullyQualifiedName: 'broadcasts.contacts.remove',
359
+ httpMethod: 'delete',
360
+ httpPath: '/v1/broadcasts/{broadcastId}/contacts/{contactId}',
361
+ },
362
+ {
363
+ clientCallName: 'client.introspect.validatePhone',
364
+ fullyQualifiedName: 'introspect.validatePhone',
365
+ httpMethod: 'post',
366
+ httpPath: '/v1/introspect/phone',
367
+ },
368
+ {
369
+ clientCallName: 'client.phoneNumbers.retrieve',
370
+ fullyQualifiedName: 'phoneNumbers.retrieve',
371
+ httpMethod: 'get',
372
+ httpPath: '/v1/phone-numbers/{phoneNumberId}',
373
+ },
374
+ {
375
+ clientCallName: 'client.phoneNumbers.update',
376
+ fullyQualifiedName: 'phoneNumbers.update',
377
+ httpMethod: 'patch',
378
+ httpPath: '/v1/phone-numbers/{phoneNumberId}',
379
+ },
380
+ {
381
+ clientCallName: 'client.phoneNumbers.list',
382
+ fullyQualifiedName: 'phoneNumbers.list',
383
+ httpMethod: 'get',
384
+ httpPath: '/v1/phone-numbers',
385
+ },
386
+ {
387
+ clientCallName: 'client.phoneNumbers.purchase',
388
+ fullyQualifiedName: 'phoneNumbers.purchase',
389
+ httpMethod: 'post',
390
+ httpPath: '/v1/phone-numbers',
391
+ },
392
+ {
393
+ clientCallName: 'client.phoneNumbers.release',
394
+ fullyQualifiedName: 'phoneNumbers.release',
395
+ httpMethod: 'delete',
396
+ httpPath: '/v1/phone-numbers/{phoneNumberId}',
397
+ },
398
+ {
399
+ clientCallName: 'client.phoneNumbers.requirements',
400
+ fullyQualifiedName: 'phoneNumbers.requirements',
401
+ httpMethod: 'get',
402
+ httpPath: '/v1/phone-numbers/requirements',
403
+ },
404
+ {
405
+ clientCallName: 'client.phoneNumbers.searchAvailable',
406
+ fullyQualifiedName: 'phoneNumbers.searchAvailable',
407
+ httpMethod: 'get',
408
+ httpPath: '/v1/phone-numbers/available',
409
+ },
410
+ {
411
+ clientCallName: 'client.addresses.create',
412
+ fullyQualifiedName: 'addresses.create',
413
+ httpMethod: 'post',
414
+ httpPath: '/v1/addresses',
415
+ },
416
+ {
417
+ clientCallName: 'client.addresses.retrieve',
418
+ fullyQualifiedName: 'addresses.retrieve',
419
+ httpMethod: 'get',
420
+ httpPath: '/v1/addresses/{addressId}',
421
+ },
422
+ {
423
+ clientCallName: 'client.addresses.list',
424
+ fullyQualifiedName: 'addresses.list',
425
+ httpMethod: 'get',
426
+ httpPath: '/v1/addresses',
427
+ },
428
+ {
429
+ clientCallName: 'client.addresses.delete',
430
+ fullyQualifiedName: 'addresses.delete',
431
+ httpMethod: 'delete',
432
+ httpPath: '/v1/addresses/{addressId}',
433
+ },
434
+ {
435
+ clientCallName: 'client.regulatoryDocuments.create',
436
+ fullyQualifiedName: 'regulatoryDocuments.create',
437
+ httpMethod: 'post',
438
+ httpPath: '/v1/documents',
439
+ },
440
+ {
441
+ clientCallName: 'client.regulatoryDocuments.retrieve',
442
+ fullyQualifiedName: 'regulatoryDocuments.retrieve',
443
+ httpMethod: 'get',
444
+ httpPath: '/v1/documents/{documentId}',
445
+ },
446
+ {
447
+ clientCallName: 'client.regulatoryDocuments.list',
448
+ fullyQualifiedName: 'regulatoryDocuments.list',
449
+ httpMethod: 'get',
450
+ httpPath: '/v1/documents',
451
+ },
452
+ {
453
+ clientCallName: 'client.regulatoryDocuments.delete',
454
+ fullyQualifiedName: 'regulatoryDocuments.delete',
455
+ httpMethod: 'delete',
456
+ httpPath: '/v1/documents/{documentId}',
457
+ },
458
+ {
459
+ clientCallName: 'client.regulatoryDocuments.uploadURL',
460
+ fullyQualifiedName: 'regulatoryDocuments.uploadURL',
461
+ httpMethod: 'post',
462
+ httpPath: '/v1/documents/upload-url',
463
+ },
464
+ ];
465
+ function allowedMethodsForCodeTool(options) {
466
+ if (!options) {
467
+ return undefined;
468
+ }
469
+ let allowedMethods;
470
+ if (options.codeAllowHttpGets || options.codeAllowedMethods) {
471
+ // Start with nothing allowed and then add into it from options
472
+ let allowedMethodsSet = new Set();
473
+ if (options.codeAllowHttpGets) {
474
+ // Add all methods that map to an HTTP GET
475
+ sdkMethods
476
+ .filter((method) => method.httpMethod === 'get')
477
+ .forEach((method) => allowedMethodsSet.add(method));
478
+ }
479
+ if (options.codeAllowedMethods) {
480
+ // Add all methods that match any of the allowed regexps
481
+ const allowedRegexps = options.codeAllowedMethods.map((pattern) => {
482
+ try {
483
+ return new RegExp(pattern);
484
+ }
485
+ catch (e) {
486
+ throw new Error(`Invalid regex pattern for allowed method: "${pattern}": ${e instanceof Error ? e.message : e}`);
487
+ }
488
+ });
489
+ sdkMethods
490
+ .filter((method) => allowedRegexps.some((regexp) => regexp.test(method.fullyQualifiedName)))
491
+ .forEach((method) => allowedMethodsSet.add(method));
492
+ }
493
+ allowedMethods = Array.from(allowedMethodsSet);
494
+ }
495
+ else {
496
+ // Start with everything allowed
497
+ allowedMethods = [...sdkMethods];
498
+ }
499
+ if (options.codeBlockedMethods) {
500
+ // Filter down based on blocked regexps
501
+ const blockedRegexps = options.codeBlockedMethods.map((pattern) => {
502
+ try {
503
+ return new RegExp(pattern);
504
+ }
505
+ catch (e) {
506
+ throw new Error(`Invalid regex pattern for blocked method: "${pattern}": ${e instanceof Error ? e.message : e}`);
507
+ }
508
+ });
509
+ allowedMethods = allowedMethods.filter((method) => !blockedRegexps.some((regexp) => regexp.test(method.fullyQualifiedName)));
510
+ }
511
+ return allowedMethods;
512
+ }
513
+ export function blockedMethodsForCodeTool(options) {
514
+ const allowedMethods = allowedMethodsForCodeTool(options);
515
+ if (!allowedMethods) {
516
+ return undefined;
517
+ }
518
+ const allowedSet = new Set(allowedMethods.map((method) => method.fullyQualifiedName));
519
+ // Return any methods that are not explicitly allowed
520
+ return sdkMethods.filter((method) => !allowedSet.has(method.fullyQualifiedName));
521
+ }
522
+ //# sourceMappingURL=methods.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.mjs","sourceRoot":"","sources":["src/methods.ts"],"names":[],"mappings":"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"}
package/options.d.mts CHANGED
@@ -1,10 +1,14 @@
1
1
  export type CLIOptions = McpOptions & {
2
+ debug: boolean;
2
3
  transport: 'stdio' | 'http';
3
4
  port: number | undefined;
4
5
  socket: string | undefined;
5
6
  };
6
7
  export type McpOptions = {
7
8
  includeDocsTools?: boolean | undefined;
9
+ codeAllowHttpGets?: boolean | undefined;
10
+ codeAllowedMethods?: string[] | undefined;
11
+ codeBlockedMethods?: string[] | undefined;
8
12
  };
9
13
  export declare function parseCLIOptions(): CLIOptions;
10
14
  export declare function parseQueryOptions(defaultOptions: McpOptions, query: unknown): McpOptions;
package/options.d.mts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.mts","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,wBAAgB,eAAe,IAAI,UAAU,CA+C5C;AAiBD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAYxF"}
1
+ {"version":3,"file":"options.d.mts","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,wBAAgB,eAAe,IAAI,UAAU,CAqE5C;AAiBD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAYxF"}
package/options.d.ts CHANGED
@@ -1,10 +1,14 @@
1
1
  export type CLIOptions = McpOptions & {
2
+ debug: boolean;
2
3
  transport: 'stdio' | 'http';
3
4
  port: number | undefined;
4
5
  socket: string | undefined;
5
6
  };
6
7
  export type McpOptions = {
7
8
  includeDocsTools?: boolean | undefined;
9
+ codeAllowHttpGets?: boolean | undefined;
10
+ codeAllowedMethods?: string[] | undefined;
11
+ codeBlockedMethods?: string[] | undefined;
8
12
  };
9
13
  export declare function parseCLIOptions(): CLIOptions;
10
14
  export declare function parseQueryOptions(defaultOptions: McpOptions, query: unknown): McpOptions;
package/options.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,wBAAgB,eAAe,IAAI,UAAU,CA+C5C;AAiBD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAYxF"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,wBAAgB,eAAe,IAAI,UAAU,CAqE5C;AAiBD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAYxF"}
package/options.js CHANGED
@@ -11,32 +11,47 @@ const helpers_1 = require("yargs/helpers");
11
11
  const zod_1 = __importDefault(require("zod"));
12
12
  function parseCLIOptions() {
13
13
  const opts = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
14
- .option('tools', {
14
+ .option('code-allow-http-gets', {
15
+ type: 'boolean',
16
+ description: 'Allow all code tool methods that map to HTTP GET operations. If all code-allow-* flags are unset, then everything is allowed.',
17
+ })
18
+ .option('code-allowed-methods', {
15
19
  type: 'string',
16
20
  array: true,
17
- choices: ['code', 'docs'],
18
- description: 'Use dynamic tools or all tools',
21
+ description: 'Methods to explicitly allow for code tool. Evaluated as regular expressions against method fully qualified names. If all code-allow-* flags are unset, then everything is allowed.',
19
22
  })
20
- .option('no-tools', {
23
+ .option('code-blocked-methods', {
21
24
  type: 'string',
22
25
  array: true,
23
- choices: ['code', 'docs'],
24
- description: 'Do not use any dynamic or all tools',
26
+ description: 'Methods to explicitly block for code tool. Evaluated as regular expressions against method fully qualified names. If all code-allow-* flags are unset, then everything is allowed.',
25
27
  })
26
- .option('transport', {
28
+ .option('debug', { type: 'boolean', description: 'Enable debug logging' })
29
+ .option('no-tools', {
27
30
  type: 'string',
28
- choices: ['stdio', 'http'],
29
- default: 'stdio',
30
- description: 'What transport to use; stdio for local servers or http for remote servers',
31
+ array: true,
32
+ choices: ['code', 'docs'],
33
+ description: 'Tools to explicitly disable',
31
34
  })
32
35
  .option('port', {
33
36
  type: 'number',
37
+ default: 3000,
34
38
  description: 'Port to serve on if using http transport',
35
39
  })
36
- .option('socket', {
40
+ .option('socket', { type: 'string', description: 'Unix socket to serve on if using http transport' })
41
+ .option('tools', {
42
+ type: 'string',
43
+ array: true,
44
+ choices: ['code', 'docs'],
45
+ description: 'Tools to explicitly enable',
46
+ })
47
+ .option('transport', {
37
48
  type: 'string',
38
- description: 'Unix socket to serve on if using http transport',
49
+ choices: ['stdio', 'http'],
50
+ default: 'stdio',
51
+ description: 'What transport to use; stdio for local servers or http for remote servers',
39
52
  })
53
+ .env('MCP_SERVER')
54
+ .version(true)
40
55
  .help();
41
56
  const argv = opts.parseSync();
42
57
  const shouldIncludeToolType = (toolType) => argv.noTools?.includes(toolType) ? false
@@ -46,6 +61,10 @@ function parseCLIOptions() {
46
61
  const transport = argv.transport;
47
62
  return {
48
63
  ...(includeDocsTools !== undefined && { includeDocsTools }),
64
+ debug: !!argv.debug,
65
+ codeAllowHttpGets: argv.codeAllowHttpGets,
66
+ codeAllowedMethods: argv.codeAllowedMethods,
67
+ codeBlockedMethods: argv.codeBlockedMethods,
49
68
  transport,
50
69
  port: argv.port,
51
70
  socket: argv.socket,