@tryfinch/finch-api-mcp 9.0.0 → 9.10.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 (145) hide show
  1. package/README.md +3 -3
  2. package/auth.d.mts +6 -0
  3. package/auth.d.mts.map +1 -0
  4. package/auth.d.ts +6 -0
  5. package/auth.d.ts.map +1 -0
  6. package/{headers.mjs → auth.js} +21 -2
  7. package/auth.js.map +1 -0
  8. package/{headers.js → auth.mjs} +16 -6
  9. package/auth.mjs.map +1 -0
  10. package/code-tool-paths.cjs +8 -0
  11. package/code-tool-paths.cjs.map +1 -0
  12. package/code-tool-paths.d.cts +2 -0
  13. package/code-tool-paths.d.cts.map +1 -0
  14. package/code-tool-types.d.mts.map +1 -1
  15. package/code-tool-types.d.ts.map +1 -1
  16. package/code-tool-worker.d.mts +5 -0
  17. package/code-tool-worker.d.mts.map +1 -0
  18. package/code-tool-worker.d.ts +5 -0
  19. package/code-tool-worker.d.ts.map +1 -0
  20. package/code-tool-worker.js +315 -0
  21. package/code-tool-worker.js.map +1 -0
  22. package/code-tool-worker.mjs +277 -0
  23. package/code-tool-worker.mjs.map +1 -0
  24. package/code-tool.d.mts +11 -2
  25. package/code-tool.d.mts.map +1 -1
  26. package/code-tool.d.ts +11 -2
  27. package/code-tool.d.ts.map +1 -1
  28. package/code-tool.js +286 -42
  29. package/code-tool.js.map +1 -1
  30. package/code-tool.mjs +254 -43
  31. package/code-tool.mjs.map +1 -1
  32. package/docs-search-tool.d.mts +11 -3
  33. package/docs-search-tool.d.mts.map +1 -1
  34. package/docs-search-tool.d.ts +11 -3
  35. package/docs-search-tool.d.ts.map +1 -1
  36. package/docs-search-tool.js +58 -5
  37. package/docs-search-tool.js.map +1 -1
  38. package/docs-search-tool.mjs +57 -5
  39. package/docs-search-tool.mjs.map +1 -1
  40. package/http.d.mts +6 -3
  41. package/http.d.mts.map +1 -1
  42. package/http.d.ts +6 -3
  43. package/http.d.ts.map +1 -1
  44. package/http.js +130 -28
  45. package/http.js.map +1 -1
  46. package/http.mjs +130 -28
  47. package/http.mjs.map +1 -1
  48. package/index.js +17 -12
  49. package/index.js.map +1 -1
  50. package/index.mjs +17 -12
  51. package/index.mjs.map +1 -1
  52. package/instructions.d.mts +5 -0
  53. package/instructions.d.mts.map +1 -0
  54. package/instructions.d.ts +5 -0
  55. package/instructions.d.ts.map +1 -0
  56. package/instructions.js +61 -0
  57. package/instructions.js.map +1 -0
  58. package/instructions.mjs +55 -0
  59. package/instructions.mjs.map +1 -0
  60. package/local-docs-search.d.mts +28 -0
  61. package/local-docs-search.d.mts.map +1 -0
  62. package/local-docs-search.d.ts +28 -0
  63. package/local-docs-search.d.ts.map +1 -0
  64. package/local-docs-search.js +2457 -0
  65. package/local-docs-search.js.map +1 -0
  66. package/local-docs-search.mjs +2417 -0
  67. package/local-docs-search.mjs.map +1 -0
  68. package/logger.d.mts +7 -0
  69. package/logger.d.mts.map +1 -0
  70. package/logger.d.ts +7 -0
  71. package/logger.d.ts.map +1 -0
  72. package/logger.js +29 -0
  73. package/logger.js.map +1 -0
  74. package/logger.mjs +22 -0
  75. package/logger.mjs.map +1 -0
  76. package/methods.d.mts +10 -0
  77. package/methods.d.mts.map +1 -0
  78. package/methods.d.ts +10 -0
  79. package/methods.d.ts.map +1 -0
  80. package/methods.js +357 -0
  81. package/methods.js.map +1 -0
  82. package/methods.mjs +353 -0
  83. package/methods.mjs.map +1 -0
  84. package/options.d.mts +12 -0
  85. package/options.d.mts.map +1 -1
  86. package/options.d.ts +12 -0
  87. package/options.d.ts.map +1 -1
  88. package/options.js +81 -12
  89. package/options.js.map +1 -1
  90. package/options.mjs +81 -12
  91. package/options.mjs.map +1 -1
  92. package/package.json +89 -15
  93. package/server.d.mts +18 -10
  94. package/server.d.mts.map +1 -1
  95. package/server.d.ts +18 -10
  96. package/server.d.ts.map +1 -1
  97. package/server.js +91 -43
  98. package/server.js.map +1 -1
  99. package/server.mjs +90 -40
  100. package/server.mjs.map +1 -1
  101. package/src/{headers.ts → auth.ts} +18 -1
  102. package/src/code-tool-paths.cts +5 -0
  103. package/src/code-tool-types.ts +1 -0
  104. package/src/code-tool-worker.ts +328 -0
  105. package/src/code-tool.ts +337 -50
  106. package/src/docs-search-tool.ts +86 -7
  107. package/src/http.ts +154 -33
  108. package/src/index.ts +19 -13
  109. package/src/instructions.ts +83 -0
  110. package/src/local-docs-search.ts +2918 -0
  111. package/src/logger.ts +28 -0
  112. package/src/methods.ts +378 -0
  113. package/src/options.ts +105 -12
  114. package/src/server.ts +113 -51
  115. package/src/stdio.ts +9 -4
  116. package/src/types.ts +15 -4
  117. package/src/util.ts +25 -0
  118. package/stdio.d.mts +2 -1
  119. package/stdio.d.mts.map +1 -1
  120. package/stdio.d.ts +2 -1
  121. package/stdio.d.ts.map +1 -1
  122. package/stdio.js +8 -4
  123. package/stdio.js.map +1 -1
  124. package/stdio.mjs +8 -4
  125. package/stdio.mjs.map +1 -1
  126. package/types.d.mts +14 -1
  127. package/types.d.mts.map +1 -1
  128. package/types.d.ts +14 -1
  129. package/types.d.ts.map +1 -1
  130. package/types.js.map +1 -1
  131. package/types.mjs.map +1 -1
  132. package/util.d.mts +4 -0
  133. package/util.d.mts.map +1 -0
  134. package/util.d.ts +4 -0
  135. package/util.d.ts.map +1 -0
  136. package/util.js +30 -0
  137. package/util.js.map +1 -0
  138. package/util.mjs +24 -0
  139. package/util.mjs.map +1 -0
  140. package/headers.d.mts +0 -4
  141. package/headers.d.mts.map +0 -1
  142. package/headers.d.ts +0 -4
  143. package/headers.d.ts.map +0 -1
  144. package/headers.js.map +0 -1
  145. package/headers.mjs.map +0 -1
package/methods.mjs ADDED
@@ -0,0 +1,353 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ export const sdkMethods = [
3
+ {
4
+ clientCallName: 'client.accessTokens.create',
5
+ fullyQualifiedName: 'accessTokens.create',
6
+ httpMethod: 'post',
7
+ httpPath: '/auth/token',
8
+ },
9
+ {
10
+ clientCallName: 'client.hris.company.retrieve',
11
+ fullyQualifiedName: 'hris.company.retrieve',
12
+ httpMethod: 'get',
13
+ httpPath: '/employer/company',
14
+ },
15
+ {
16
+ clientCallName: 'client.hris.company.payStatementItem.list',
17
+ fullyQualifiedName: 'hris.company.payStatementItem.list',
18
+ httpMethod: 'get',
19
+ httpPath: '/employer/pay-statement-item',
20
+ },
21
+ {
22
+ clientCallName: 'client.hris.company.payStatementItem.rules.create',
23
+ fullyQualifiedName: 'hris.company.payStatementItem.rules.create',
24
+ httpMethod: 'post',
25
+ httpPath: '/employer/pay-statement-item/rule',
26
+ },
27
+ {
28
+ clientCallName: 'client.hris.company.payStatementItem.rules.update',
29
+ fullyQualifiedName: 'hris.company.payStatementItem.rules.update',
30
+ httpMethod: 'put',
31
+ httpPath: '/employer/pay-statement-item/rule/{rule_id}',
32
+ },
33
+ {
34
+ clientCallName: 'client.hris.company.payStatementItem.rules.list',
35
+ fullyQualifiedName: 'hris.company.payStatementItem.rules.list',
36
+ httpMethod: 'get',
37
+ httpPath: '/employer/pay-statement-item/rule',
38
+ },
39
+ {
40
+ clientCallName: 'client.hris.company.payStatementItem.rules.delete',
41
+ fullyQualifiedName: 'hris.company.payStatementItem.rules.delete',
42
+ httpMethod: 'delete',
43
+ httpPath: '/employer/pay-statement-item/rule/{rule_id}',
44
+ },
45
+ {
46
+ clientCallName: 'client.hris.directory.list',
47
+ fullyQualifiedName: 'hris.directory.list',
48
+ httpMethod: 'get',
49
+ httpPath: '/employer/directory',
50
+ },
51
+ {
52
+ clientCallName: 'client.hris.directory.listIndividuals',
53
+ fullyQualifiedName: 'hris.directory.listIndividuals',
54
+ },
55
+ {
56
+ clientCallName: 'client.hris.individuals.retrieveMany',
57
+ fullyQualifiedName: 'hris.individuals.retrieveMany',
58
+ httpMethod: 'post',
59
+ httpPath: '/employer/individual',
60
+ },
61
+ {
62
+ clientCallName: 'client.hris.employments.retrieveMany',
63
+ fullyQualifiedName: 'hris.employments.retrieveMany',
64
+ httpMethod: 'post',
65
+ httpPath: '/employer/employment',
66
+ },
67
+ {
68
+ clientCallName: 'client.hris.payments.list',
69
+ fullyQualifiedName: 'hris.payments.list',
70
+ httpMethod: 'get',
71
+ httpPath: '/employer/payment',
72
+ },
73
+ {
74
+ clientCallName: 'client.hris.payStatements.retrieveMany',
75
+ fullyQualifiedName: 'hris.payStatements.retrieveMany',
76
+ httpMethod: 'post',
77
+ httpPath: '/employer/pay-statement',
78
+ },
79
+ {
80
+ clientCallName: 'client.hris.documents.list',
81
+ fullyQualifiedName: 'hris.documents.list',
82
+ httpMethod: 'get',
83
+ httpPath: '/employer/documents',
84
+ },
85
+ {
86
+ clientCallName: 'client.hris.documents.retreive',
87
+ fullyQualifiedName: 'hris.documents.retreive',
88
+ httpMethod: 'get',
89
+ httpPath: '/employer/documents/{document_id}',
90
+ },
91
+ {
92
+ clientCallName: 'client.hris.benefits.create',
93
+ fullyQualifiedName: 'hris.benefits.create',
94
+ httpMethod: 'post',
95
+ httpPath: '/employer/benefits',
96
+ },
97
+ {
98
+ clientCallName: 'client.hris.benefits.retrieve',
99
+ fullyQualifiedName: 'hris.benefits.retrieve',
100
+ httpMethod: 'get',
101
+ httpPath: '/employer/benefits/{benefit_id}',
102
+ },
103
+ {
104
+ clientCallName: 'client.hris.benefits.update',
105
+ fullyQualifiedName: 'hris.benefits.update',
106
+ httpMethod: 'post',
107
+ httpPath: '/employer/benefits/{benefit_id}',
108
+ },
109
+ {
110
+ clientCallName: 'client.hris.benefits.list',
111
+ fullyQualifiedName: 'hris.benefits.list',
112
+ httpMethod: 'get',
113
+ httpPath: '/employer/benefits',
114
+ },
115
+ {
116
+ clientCallName: 'client.hris.benefits.listSupportedBenefits',
117
+ fullyQualifiedName: 'hris.benefits.listSupportedBenefits',
118
+ httpMethod: 'get',
119
+ httpPath: '/employer/benefits/meta',
120
+ },
121
+ {
122
+ clientCallName: 'client.hris.benefits.register',
123
+ fullyQualifiedName: 'hris.benefits.register',
124
+ httpMethod: 'post',
125
+ httpPath: '/employer/benefits/register',
126
+ },
127
+ {
128
+ clientCallName: 'client.hris.benefits.individuals.enrollMany',
129
+ fullyQualifiedName: 'hris.benefits.individuals.enrollMany',
130
+ httpMethod: 'post',
131
+ httpPath: '/employer/benefits/{benefit_id}/individuals',
132
+ },
133
+ {
134
+ clientCallName: 'client.hris.benefits.individuals.enrolledIDs',
135
+ fullyQualifiedName: 'hris.benefits.individuals.enrolledIDs',
136
+ httpMethod: 'get',
137
+ httpPath: '/employer/benefits/{benefit_id}/enrolled',
138
+ },
139
+ {
140
+ clientCallName: 'client.hris.benefits.individuals.retrieveManyBenefits',
141
+ fullyQualifiedName: 'hris.benefits.individuals.retrieveManyBenefits',
142
+ httpMethod: 'get',
143
+ httpPath: '/employer/benefits/{benefit_id}/individuals',
144
+ },
145
+ {
146
+ clientCallName: 'client.hris.benefits.individuals.unenrollMany',
147
+ fullyQualifiedName: 'hris.benefits.individuals.unenrollMany',
148
+ httpMethod: 'delete',
149
+ httpPath: '/employer/benefits/{benefit_id}/individuals',
150
+ },
151
+ {
152
+ clientCallName: 'client.providers.list',
153
+ fullyQualifiedName: 'providers.list',
154
+ httpMethod: 'get',
155
+ httpPath: '/providers',
156
+ },
157
+ {
158
+ clientCallName: 'client.account.disconnect',
159
+ fullyQualifiedName: 'account.disconnect',
160
+ httpMethod: 'post',
161
+ httpPath: '/disconnect',
162
+ },
163
+ {
164
+ clientCallName: 'client.account.disconnectEntity',
165
+ fullyQualifiedName: 'account.disconnectEntity',
166
+ httpMethod: 'post',
167
+ httpPath: '/disconnect-entity',
168
+ },
169
+ {
170
+ clientCallName: 'client.account.introspect',
171
+ fullyQualifiedName: 'account.introspect',
172
+ httpMethod: 'get',
173
+ httpPath: '/introspect',
174
+ },
175
+ {
176
+ clientCallName: 'client.requestForwarding.forward',
177
+ fullyQualifiedName: 'requestForwarding.forward',
178
+ httpMethod: 'post',
179
+ httpPath: '/forward',
180
+ },
181
+ {
182
+ clientCallName: 'client.jobs.automated.create',
183
+ fullyQualifiedName: 'jobs.automated.create',
184
+ httpMethod: 'post',
185
+ httpPath: '/jobs/automated',
186
+ },
187
+ {
188
+ clientCallName: 'client.jobs.automated.retrieve',
189
+ fullyQualifiedName: 'jobs.automated.retrieve',
190
+ httpMethod: 'get',
191
+ httpPath: '/jobs/automated/{job_id}',
192
+ },
193
+ {
194
+ clientCallName: 'client.jobs.automated.list',
195
+ fullyQualifiedName: 'jobs.automated.list',
196
+ httpMethod: 'get',
197
+ httpPath: '/jobs/automated',
198
+ },
199
+ {
200
+ clientCallName: 'client.jobs.manual.retrieve',
201
+ fullyQualifiedName: 'jobs.manual.retrieve',
202
+ httpMethod: 'get',
203
+ httpPath: '/jobs/manual/{job_id}',
204
+ },
205
+ {
206
+ clientCallName: 'client.sandbox.connections.create',
207
+ fullyQualifiedName: 'sandbox.connections.create',
208
+ httpMethod: 'post',
209
+ httpPath: '/sandbox/connections',
210
+ },
211
+ {
212
+ clientCallName: 'client.sandbox.connections.accounts.create',
213
+ fullyQualifiedName: 'sandbox.connections.accounts.create',
214
+ httpMethod: 'post',
215
+ httpPath: '/sandbox/connections/accounts',
216
+ },
217
+ {
218
+ clientCallName: 'client.sandbox.connections.accounts.update',
219
+ fullyQualifiedName: 'sandbox.connections.accounts.update',
220
+ httpMethod: 'put',
221
+ httpPath: '/sandbox/connections/accounts',
222
+ },
223
+ {
224
+ clientCallName: 'client.sandbox.company.update',
225
+ fullyQualifiedName: 'sandbox.company.update',
226
+ httpMethod: 'put',
227
+ httpPath: '/sandbox/company',
228
+ },
229
+ {
230
+ clientCallName: 'client.sandbox.directory.create',
231
+ fullyQualifiedName: 'sandbox.directory.create',
232
+ httpMethod: 'post',
233
+ httpPath: '/sandbox/directory',
234
+ },
235
+ {
236
+ clientCallName: 'client.sandbox.individual.update',
237
+ fullyQualifiedName: 'sandbox.individual.update',
238
+ httpMethod: 'put',
239
+ httpPath: '/sandbox/individual/{individual_id}',
240
+ },
241
+ {
242
+ clientCallName: 'client.sandbox.employment.update',
243
+ fullyQualifiedName: 'sandbox.employment.update',
244
+ httpMethod: 'put',
245
+ httpPath: '/sandbox/employment/{individual_id}',
246
+ },
247
+ {
248
+ clientCallName: 'client.sandbox.payment.create',
249
+ fullyQualifiedName: 'sandbox.payment.create',
250
+ httpMethod: 'post',
251
+ httpPath: '/sandbox/payment',
252
+ },
253
+ {
254
+ clientCallName: 'client.sandbox.jobs.create',
255
+ fullyQualifiedName: 'sandbox.jobs.create',
256
+ httpMethod: 'post',
257
+ httpPath: '/sandbox/jobs',
258
+ },
259
+ {
260
+ clientCallName: 'client.sandbox.jobs.configuration.retrieve',
261
+ fullyQualifiedName: 'sandbox.jobs.configuration.retrieve',
262
+ httpMethod: 'get',
263
+ httpPath: '/sandbox/jobs/configuration',
264
+ },
265
+ {
266
+ clientCallName: 'client.sandbox.jobs.configuration.update',
267
+ fullyQualifiedName: 'sandbox.jobs.configuration.update',
268
+ httpMethod: 'put',
269
+ httpPath: '/sandbox/jobs/configuration',
270
+ },
271
+ {
272
+ clientCallName: 'client.payroll.payGroups.retrieve',
273
+ fullyQualifiedName: 'payroll.payGroups.retrieve',
274
+ httpMethod: 'get',
275
+ httpPath: '/employer/pay-groups/{pay_group_id}',
276
+ },
277
+ {
278
+ clientCallName: 'client.payroll.payGroups.list',
279
+ fullyQualifiedName: 'payroll.payGroups.list',
280
+ httpMethod: 'get',
281
+ httpPath: '/employer/pay-groups',
282
+ },
283
+ {
284
+ clientCallName: 'client.connect.sessions.new',
285
+ fullyQualifiedName: 'connect.sessions.new',
286
+ httpMethod: 'post',
287
+ httpPath: '/connect/sessions',
288
+ },
289
+ {
290
+ clientCallName: 'client.connect.sessions.reauthenticate',
291
+ fullyQualifiedName: 'connect.sessions.reauthenticate',
292
+ httpMethod: 'post',
293
+ httpPath: '/connect/sessions/reauthenticate',
294
+ },
295
+ ];
296
+ function allowedMethodsForCodeTool(options) {
297
+ if (!options) {
298
+ return undefined;
299
+ }
300
+ let allowedMethods;
301
+ if (options.codeAllowHttpGets || options.codeAllowedMethods) {
302
+ // Start with nothing allowed and then add into it from options
303
+ let allowedMethodsSet = new Set();
304
+ if (options.codeAllowHttpGets) {
305
+ // Add all methods that map to an HTTP GET
306
+ sdkMethods
307
+ .filter((method) => method.httpMethod === 'get')
308
+ .forEach((method) => allowedMethodsSet.add(method));
309
+ }
310
+ if (options.codeAllowedMethods) {
311
+ // Add all methods that match any of the allowed regexps
312
+ const allowedRegexps = options.codeAllowedMethods.map((pattern) => {
313
+ try {
314
+ return new RegExp(pattern);
315
+ }
316
+ catch (e) {
317
+ throw new Error(`Invalid regex pattern for allowed method: "${pattern}": ${e instanceof Error ? e.message : e}`);
318
+ }
319
+ });
320
+ sdkMethods
321
+ .filter((method) => allowedRegexps.some((regexp) => regexp.test(method.fullyQualifiedName)))
322
+ .forEach((method) => allowedMethodsSet.add(method));
323
+ }
324
+ allowedMethods = Array.from(allowedMethodsSet);
325
+ }
326
+ else {
327
+ // Start with everything allowed
328
+ allowedMethods = [...sdkMethods];
329
+ }
330
+ if (options.codeBlockedMethods) {
331
+ // Filter down based on blocked regexps
332
+ const blockedRegexps = options.codeBlockedMethods.map((pattern) => {
333
+ try {
334
+ return new RegExp(pattern);
335
+ }
336
+ catch (e) {
337
+ throw new Error(`Invalid regex pattern for blocked method: "${pattern}": ${e instanceof Error ? e.message : e}`);
338
+ }
339
+ });
340
+ allowedMethods = allowedMethods.filter((method) => !blockedRegexps.some((regexp) => regexp.test(method.fullyQualifiedName)));
341
+ }
342
+ return allowedMethods;
343
+ }
344
+ export function blockedMethodsForCodeTool(options) {
345
+ const allowedMethods = allowedMethodsForCodeTool(options);
346
+ if (!allowedMethods) {
347
+ return undefined;
348
+ }
349
+ const allowedSet = new Set(allowedMethods.map((method) => method.fullyQualifiedName));
350
+ // Return any methods that are not explicitly allowed
351
+ return sdkMethods.filter((method) => !allowedSet.has(method.fullyQualifiedName));
352
+ }
353
+ //# 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,11 +1,23 @@
1
1
  export type CLIOptions = McpOptions & {
2
+ debug: boolean;
3
+ logFormat: 'json' | 'pretty';
2
4
  transport: 'stdio' | 'http';
3
5
  port: number | undefined;
4
6
  socket: string | undefined;
5
7
  };
6
8
  export type McpOptions = {
9
+ includeCodeTool?: boolean | undefined;
7
10
  includeDocsTools?: boolean | undefined;
11
+ stainlessApiKey?: string | undefined;
12
+ docsSearchMode?: 'stainless-api' | 'local' | undefined;
13
+ docsDir?: string | undefined;
14
+ codeAllowHttpGets?: boolean | undefined;
15
+ codeAllowedMethods?: string[] | undefined;
16
+ codeBlockedMethods?: string[] | undefined;
17
+ codeExecutionMode: McpCodeExecutionMode;
18
+ customInstructionsPath?: string | undefined;
8
19
  };
20
+ export type McpCodeExecutionMode = 'stainless-sandbox' | 'local';
9
21
  export declare function parseCLIOptions(): CLIOptions;
10
22
  export declare function parseQueryOptions(defaultOptions: McpOptions, query: unknown): McpOptions;
11
23
  //# sourceMappingURL=options.d.mts.map
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":"AAQA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,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,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,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;IAC1C,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAEjE,wBAAgB,eAAe,IAAI,UAAU,CAmH5C;AAiBD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAqBxF"}
package/options.d.ts CHANGED
@@ -1,11 +1,23 @@
1
1
  export type CLIOptions = McpOptions & {
2
+ debug: boolean;
3
+ logFormat: 'json' | 'pretty';
2
4
  transport: 'stdio' | 'http';
3
5
  port: number | undefined;
4
6
  socket: string | undefined;
5
7
  };
6
8
  export type McpOptions = {
9
+ includeCodeTool?: boolean | undefined;
7
10
  includeDocsTools?: boolean | undefined;
11
+ stainlessApiKey?: string | undefined;
12
+ docsSearchMode?: 'stainless-api' | 'local' | undefined;
13
+ docsDir?: string | undefined;
14
+ codeAllowHttpGets?: boolean | undefined;
15
+ codeAllowedMethods?: string[] | undefined;
16
+ codeBlockedMethods?: string[] | undefined;
17
+ codeExecutionMode: McpCodeExecutionMode;
18
+ customInstructionsPath?: string | undefined;
8
19
  };
20
+ export type McpCodeExecutionMode = 'stainless-sandbox' | 'local';
9
21
  export declare function parseCLIOptions(): CLIOptions;
10
22
  export declare function parseQueryOptions(defaultOptions: McpOptions, query: unknown): McpOptions;
11
23
  //# sourceMappingURL=options.d.ts.map
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":"AAQA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,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,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,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;IAC1C,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAEjE,wBAAgB,eAAe,IAAI,UAAU,CAmH5C;AAiBD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAqBxF"}
package/options.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
5
  };
@@ -9,44 +10,105 @@ const qs_1 = __importDefault(require("qs"));
9
10
  const yargs_1 = __importDefault(require("yargs"));
10
11
  const helpers_1 = require("yargs/helpers");
11
12
  const zod_1 = __importDefault(require("zod"));
13
+ const util_1 = require("./util.js");
12
14
  function parseCLIOptions() {
13
15
  const opts = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
14
- .option('tools', {
16
+ .option('code-allow-http-gets', {
17
+ type: 'boolean',
18
+ description: 'Allow all code tool methods that map to HTTP GET operations. If all code-allow-* flags are unset, then everything is allowed.',
19
+ })
20
+ .option('code-allowed-methods', {
15
21
  type: 'string',
16
22
  array: true,
17
- choices: ['code', 'docs'],
18
- description: 'Use dynamic tools or all tools',
23
+ 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
24
  })
20
- .option('no-tools', {
25
+ .option('code-blocked-methods', {
21
26
  type: 'string',
22
27
  array: true,
23
- choices: ['code', 'docs'],
24
- description: 'Do not use any dynamic or all tools',
28
+ 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
29
  })
26
- .option('transport', {
30
+ .option('code-execution-mode', {
27
31
  type: 'string',
28
- choices: ['stdio', 'http'],
29
- default: 'stdio',
30
- description: 'What transport to use; stdio for local servers or http for remote servers',
32
+ choices: ['stainless-sandbox', 'local'],
33
+ default: 'stainless-sandbox',
34
+ description: "Where to run code execution in code tool; 'stainless-sandbox' will execute code in Stainless-hosted sandboxes whereas 'local' will execute code locally on the MCP server machine.",
35
+ })
36
+ .option('custom-instructions-path', {
37
+ type: 'string',
38
+ description: 'Path to custom instructions for the MCP server',
39
+ })
40
+ .option('debug', { type: 'boolean', description: 'Enable debug logging' })
41
+ .option('docs-dir', {
42
+ type: 'string',
43
+ description: 'Path to a directory of local documentation files (markdown/JSON) to include in local docs search.',
44
+ })
45
+ .option('docs-search-mode', {
46
+ type: 'string',
47
+ choices: ['stainless-api', 'local'],
48
+ default: 'stainless-api',
49
+ description: "Where to search documentation; 'stainless-api' uses the Stainless-hosted search API whereas 'local' uses an in-memory search index built from embedded SDK method data and optional local docs files.",
50
+ })
51
+ .option('log-format', {
52
+ type: 'string',
53
+ choices: ['json', 'pretty'],
54
+ description: 'Format for log output; defaults to json unless tty is detected',
55
+ })
56
+ .option('no-tools', {
57
+ type: 'string',
58
+ array: true,
59
+ choices: ['code', 'docs'],
60
+ description: 'Tools to explicitly disable',
31
61
  })
32
62
  .option('port', {
33
63
  type: 'number',
64
+ default: 3000,
34
65
  description: 'Port to serve on if using http transport',
35
66
  })
36
- .option('socket', {
67
+ .option('socket', { type: 'string', description: 'Unix socket to serve on if using http transport' })
68
+ .option('stainless-api-key', {
69
+ type: 'string',
70
+ default: (0, util_1.readEnv)('STAINLESS_API_KEY'),
71
+ description: 'API key for Stainless. Used to authenticate requests to Stainless-hosted tools endpoints.',
72
+ })
73
+ .option('tools', {
74
+ type: 'string',
75
+ array: true,
76
+ choices: ['code', 'docs'],
77
+ description: 'Tools to explicitly enable',
78
+ })
79
+ .option('transport', {
37
80
  type: 'string',
38
- description: 'Unix socket to serve on if using http transport',
81
+ choices: ['stdio', 'http'],
82
+ default: 'stdio',
83
+ description: 'What transport to use; stdio for local servers or http for remote servers',
39
84
  })
85
+ .env('MCP_SERVER')
86
+ .version(true)
40
87
  .help();
41
88
  const argv = opts.parseSync();
42
89
  const shouldIncludeToolType = (toolType) => argv.noTools?.includes(toolType) ? false
43
90
  : argv.tools?.includes(toolType) ? true
44
91
  : undefined;
92
+ const includeCodeTool = shouldIncludeToolType('code');
45
93
  const includeDocsTools = shouldIncludeToolType('docs');
46
94
  const transport = argv.transport;
95
+ const logFormat = argv.logFormat ? argv.logFormat
96
+ : process.stderr.isTTY ? 'pretty'
97
+ : 'json';
47
98
  return {
99
+ ...(includeCodeTool !== undefined && { includeCodeTool }),
48
100
  ...(includeDocsTools !== undefined && { includeDocsTools }),
101
+ debug: !!argv.debug,
102
+ stainlessApiKey: argv.stainlessApiKey,
103
+ docsSearchMode: argv.docsSearchMode,
104
+ docsDir: argv.docsDir,
105
+ codeAllowHttpGets: argv.codeAllowHttpGets,
106
+ codeAllowedMethods: argv.codeAllowedMethods,
107
+ codeBlockedMethods: argv.codeBlockedMethods,
108
+ codeExecutionMode: argv.codeExecutionMode,
109
+ customInstructionsPath: argv.customInstructionsPath,
49
110
  transport,
111
+ logFormat,
50
112
  port: argv.port,
51
113
  socket: argv.socket,
52
114
  };
@@ -62,11 +124,18 @@ const QueryOptions = zod_1.default.object({
62
124
  function parseQueryOptions(defaultOptions, query) {
63
125
  const queryObject = typeof query === 'string' ? qs_1.default.parse(query) : query;
64
126
  const queryOptions = QueryOptions.parse(queryObject);
127
+ let codeTool = queryOptions.no_tools && queryOptions.no_tools?.includes('code') ? false
128
+ : queryOptions.tools?.includes('code') ? true
129
+ : defaultOptions.includeCodeTool;
65
130
  let docsTools = queryOptions.no_tools && queryOptions.no_tools?.includes('docs') ? false
66
131
  : queryOptions.tools?.includes('docs') ? true
67
132
  : defaultOptions.includeDocsTools;
68
133
  return {
134
+ ...(codeTool !== undefined && { includeCodeTool: codeTool }),
69
135
  ...(docsTools !== undefined && { includeDocsTools: docsTools }),
136
+ codeExecutionMode: defaultOptions.codeExecutionMode,
137
+ docsSearchMode: defaultOptions.docsSearchMode,
138
+ docsDir: defaultOptions.docsDir,
70
139
  };
71
140
  }
72
141
  //# sourceMappingURL=options.js.map
package/options.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"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"}