@tryfinch/finch-api-mcp 6.31.0 → 8.0.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 (549) hide show
  1. package/README.md +46 -259
  2. package/code-tool-types.d.mts +16 -0
  3. package/code-tool-types.d.mts.map +1 -0
  4. package/code-tool-types.d.ts +16 -0
  5. package/code-tool-types.d.ts.map +1 -0
  6. package/code-tool-types.js +4 -0
  7. package/code-tool-types.js.map +1 -0
  8. package/code-tool-types.mjs +3 -0
  9. package/code-tool-types.mjs.map +1 -0
  10. package/code-tool.d.mts +12 -0
  11. package/code-tool.d.mts.map +1 -0
  12. package/code-tool.d.ts +12 -0
  13. package/code-tool.d.ts.map +1 -0
  14. package/code-tool.js +55 -0
  15. package/code-tool.js.map +1 -0
  16. package/code-tool.mjs +52 -0
  17. package/code-tool.mjs.map +1 -0
  18. package/docs-search-tool.d.mts +50 -0
  19. package/docs-search-tool.d.mts.map +1 -0
  20. package/docs-search-tool.d.ts +50 -0
  21. package/docs-search-tool.d.ts.map +1 -0
  22. package/docs-search-tool.js +51 -0
  23. package/docs-search-tool.js.map +1 -0
  24. package/docs-search-tool.mjs +47 -0
  25. package/docs-search-tool.mjs.map +1 -0
  26. package/headers.d.mts +4 -0
  27. package/headers.d.mts.map +1 -0
  28. package/headers.d.ts +4 -0
  29. package/headers.d.ts.map +1 -0
  30. package/headers.js +31 -0
  31. package/headers.js.map +1 -0
  32. package/headers.mjs +27 -0
  33. package/headers.mjs.map +1 -0
  34. package/http.d.mts +9 -0
  35. package/http.d.mts.map +1 -0
  36. package/http.d.ts +9 -0
  37. package/http.d.ts.map +1 -0
  38. package/http.js +91 -0
  39. package/http.js.map +1 -0
  40. package/http.mjs +83 -0
  41. package/http.mjs.map +1 -0
  42. package/index.d.mts +1 -0
  43. package/index.d.ts +1 -0
  44. package/index.js +14 -45
  45. package/index.js.map +1 -1
  46. package/index.mjs +17 -47
  47. package/index.mjs.map +1 -1
  48. package/options.d.mts +10 -10
  49. package/options.d.mts.map +1 -1
  50. package/options.d.ts +10 -10
  51. package/options.d.ts.map +1 -1
  52. package/options.js +42 -307
  53. package/options.js.map +1 -1
  54. package/options.mjs +40 -306
  55. package/options.mjs.map +1 -1
  56. package/package.json +121 -12
  57. package/server.d.mts +11 -19
  58. package/server.d.mts.map +1 -1
  59. package/server.d.ts +11 -19
  60. package/server.d.ts.map +1 -1
  61. package/server.js +67 -49
  62. package/server.js.map +1 -1
  63. package/server.mjs +65 -47
  64. package/server.mjs.map +1 -1
  65. package/src/code-tool-types.ts +18 -0
  66. package/src/code-tool.ts +65 -0
  67. package/src/docs-search-tool.ts +59 -0
  68. package/src/headers.ts +35 -0
  69. package/src/http.ts +109 -0
  70. package/src/index.ts +21 -62
  71. package/src/options.ts +57 -326
  72. package/src/server.ts +85 -65
  73. package/src/stdio.ts +12 -0
  74. package/src/types.ts +115 -0
  75. package/stdio.d.mts +2 -0
  76. package/stdio.d.mts.map +1 -0
  77. package/stdio.d.ts +2 -0
  78. package/stdio.d.ts.map +1 -0
  79. package/stdio.js +14 -0
  80. package/stdio.js.map +1 -0
  81. package/stdio.mjs +10 -0
  82. package/stdio.mjs.map +1 -0
  83. package/types.d.mts +52 -0
  84. package/types.d.mts.map +1 -0
  85. package/types.d.ts +52 -0
  86. package/types.d.ts.map +1 -0
  87. package/types.js +58 -0
  88. package/types.js.map +1 -0
  89. package/types.mjs +53 -0
  90. package/types.mjs.map +1 -0
  91. package/compat.d.mts +0 -52
  92. package/compat.d.mts.map +0 -1
  93. package/compat.d.ts +0 -52
  94. package/compat.d.ts.map +0 -1
  95. package/compat.js +0 -342
  96. package/compat.js.map +0 -1
  97. package/compat.mjs +0 -332
  98. package/compat.mjs.map +0 -1
  99. package/dynamic-tools.d.mts +0 -12
  100. package/dynamic-tools.d.mts.map +0 -1
  101. package/dynamic-tools.d.ts +0 -12
  102. package/dynamic-tools.d.ts.map +0 -1
  103. package/dynamic-tools.js +0 -133
  104. package/dynamic-tools.js.map +0 -1
  105. package/dynamic-tools.mjs +0 -130
  106. package/dynamic-tools.mjs.map +0 -1
  107. package/src/compat.ts +0 -429
  108. package/src/dynamic-tools.ts +0 -152
  109. package/src/tools/access-tokens/create-access-tokens.ts +0 -40
  110. package/src/tools/account/disconnect-account.ts +0 -26
  111. package/src/tools/account/introspect-account.ts +0 -26
  112. package/src/tools/connect/sessions/new-connect-sessions.ts +0 -83
  113. package/src/tools/connect/sessions/reauthenticate-connect-sessions.ts +0 -60
  114. package/src/tools/hris/benefits/create-hris-benefits.ts +0 -102
  115. package/src/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.ts +0 -101
  116. package/src/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.ts +0 -31
  117. package/src/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.ts +0 -36
  118. package/src/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.ts +0 -38
  119. package/src/tools/hris/benefits/list-hris-benefits.ts +0 -26
  120. package/src/tools/hris/benefits/list-supported-benefits-hris-benefits.ts +0 -26
  121. package/src/tools/hris/benefits/retrieve-hris-benefits.ts +0 -31
  122. package/src/tools/hris/benefits/update-hris-benefits.ts +0 -35
  123. package/src/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.ts +0 -58
  124. package/src/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.ts +0 -78
  125. package/src/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.ts +0 -32
  126. package/src/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.ts +0 -27
  127. package/src/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.ts +0 -35
  128. package/src/tools/hris/company/retrieve-hris-company.ts +0 -26
  129. package/src/tools/hris/directory/list-hris-directory.ts +0 -36
  130. package/src/tools/hris/directory/list-individuals-hris-directory.ts +0 -36
  131. package/src/tools/hris/documents/list-hris-documents.ts +0 -53
  132. package/src/tools/hris/documents/retreive-hris-documents.ts +0 -32
  133. package/src/tools/hris/employments/retrieve-many-hris-employments.ts +0 -43
  134. package/src/tools/hris/individuals/retrieve-many-hris-individuals.ts +0 -52
  135. package/src/tools/hris/pay-statements/retrieve-many-hris-pay-statements.ts +0 -51
  136. package/src/tools/hris/payments/list-hris-payments.ts +0 -38
  137. package/src/tools/index.ts +0 -175
  138. package/src/tools/jobs/automated/create-jobs-automated.ts +0 -59
  139. package/src/tools/jobs/automated/list-jobs-automated.ts +0 -37
  140. package/src/tools/jobs/automated/retrieve-jobs-automated.ts +0 -31
  141. package/src/tools/jobs/manual/retrieve-jobs-manual.ts +0 -32
  142. package/src/tools/payroll/pay-groups/list-payroll-pay-groups.ts +0 -37
  143. package/src/tools/payroll/pay-groups/retrieve-payroll-pay-groups.ts +0 -31
  144. package/src/tools/providers/list-providers.ts +0 -26
  145. package/src/tools/request-forwarding/forward-request-forwarding.ts +0 -54
  146. package/src/tools/sandbox/company/update-sandbox-company.ts +0 -164
  147. package/src/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.ts +0 -48
  148. package/src/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.ts +0 -39
  149. package/src/tools/sandbox/connections/create-sandbox-connections.ts +0 -48
  150. package/src/tools/sandbox/directory/create-sandbox-directory.ts +0 -303
  151. package/src/tools/sandbox/employment/update-sandbox-employment.ts +0 -223
  152. package/src/tools/sandbox/individual/update-sandbox-individual.ts +0 -154
  153. package/src/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.ts +0 -26
  154. package/src/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.ts +0 -36
  155. package/src/tools/sandbox/jobs/create-sandbox-jobs.ts +0 -33
  156. package/src/tools/sandbox/payment/create-sandbox-payment.ts +0 -308
  157. package/src/tools.ts +0 -1
  158. package/tools/access-tokens/create-access-tokens.d.mts +0 -32
  159. package/tools/access-tokens/create-access-tokens.d.mts.map +0 -1
  160. package/tools/access-tokens/create-access-tokens.d.ts +0 -32
  161. package/tools/access-tokens/create-access-tokens.d.ts.map +0 -1
  162. package/tools/access-tokens/create-access-tokens.js +0 -37
  163. package/tools/access-tokens/create-access-tokens.js.map +0 -1
  164. package/tools/access-tokens/create-access-tokens.mjs +0 -33
  165. package/tools/access-tokens/create-access-tokens.mjs.map +0 -1
  166. package/tools/account/disconnect-account.d.mts +0 -32
  167. package/tools/account/disconnect-account.d.mts.map +0 -1
  168. package/tools/account/disconnect-account.d.ts +0 -32
  169. package/tools/account/disconnect-account.d.ts.map +0 -1
  170. package/tools/account/disconnect-account.js +0 -23
  171. package/tools/account/disconnect-account.js.map +0 -1
  172. package/tools/account/disconnect-account.mjs +0 -19
  173. package/tools/account/disconnect-account.mjs.map +0 -1
  174. package/tools/account/introspect-account.d.mts +0 -32
  175. package/tools/account/introspect-account.d.mts.map +0 -1
  176. package/tools/account/introspect-account.d.ts +0 -32
  177. package/tools/account/introspect-account.d.ts.map +0 -1
  178. package/tools/account/introspect-account.js +0 -23
  179. package/tools/account/introspect-account.js.map +0 -1
  180. package/tools/account/introspect-account.mjs +0 -19
  181. package/tools/account/introspect-account.mjs.map +0 -1
  182. package/tools/connect/sessions/new-connect-sessions.d.mts +0 -32
  183. package/tools/connect/sessions/new-connect-sessions.d.mts.map +0 -1
  184. package/tools/connect/sessions/new-connect-sessions.d.ts +0 -32
  185. package/tools/connect/sessions/new-connect-sessions.d.ts.map +0 -1
  186. package/tools/connect/sessions/new-connect-sessions.js +0 -80
  187. package/tools/connect/sessions/new-connect-sessions.js.map +0 -1
  188. package/tools/connect/sessions/new-connect-sessions.mjs +0 -76
  189. package/tools/connect/sessions/new-connect-sessions.mjs.map +0 -1
  190. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts +0 -32
  191. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts.map +0 -1
  192. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts +0 -32
  193. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts.map +0 -1
  194. package/tools/connect/sessions/reauthenticate-connect-sessions.js +0 -57
  195. package/tools/connect/sessions/reauthenticate-connect-sessions.js.map +0 -1
  196. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs +0 -53
  197. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs.map +0 -1
  198. package/tools/hris/benefits/create-hris-benefits.d.mts +0 -32
  199. package/tools/hris/benefits/create-hris-benefits.d.mts.map +0 -1
  200. package/tools/hris/benefits/create-hris-benefits.d.ts +0 -32
  201. package/tools/hris/benefits/create-hris-benefits.d.ts.map +0 -1
  202. package/tools/hris/benefits/create-hris-benefits.js +0 -97
  203. package/tools/hris/benefits/create-hris-benefits.js.map +0 -1
  204. package/tools/hris/benefits/create-hris-benefits.mjs +0 -93
  205. package/tools/hris/benefits/create-hris-benefits.mjs.map +0 -1
  206. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts +0 -32
  207. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts.map +0 -1
  208. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts +0 -32
  209. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts.map +0 -1
  210. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js +0 -94
  211. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js.map +0 -1
  212. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs +0 -90
  213. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs.map +0 -1
  214. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts +0 -32
  215. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts.map +0 -1
  216. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts +0 -32
  217. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts.map +0 -1
  218. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js +0 -28
  219. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js.map +0 -1
  220. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs +0 -24
  221. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs.map +0 -1
  222. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts +0 -32
  223. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts.map +0 -1
  224. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts +0 -32
  225. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts.map +0 -1
  226. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js +0 -32
  227. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js.map +0 -1
  228. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs +0 -28
  229. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs.map +0 -1
  230. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts +0 -32
  231. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts.map +0 -1
  232. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts +0 -32
  233. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts.map +0 -1
  234. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js +0 -35
  235. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js.map +0 -1
  236. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs +0 -31
  237. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs.map +0 -1
  238. package/tools/hris/benefits/list-hris-benefits.d.mts +0 -32
  239. package/tools/hris/benefits/list-hris-benefits.d.mts.map +0 -1
  240. package/tools/hris/benefits/list-hris-benefits.d.ts +0 -32
  241. package/tools/hris/benefits/list-hris-benefits.d.ts.map +0 -1
  242. package/tools/hris/benefits/list-hris-benefits.js +0 -23
  243. package/tools/hris/benefits/list-hris-benefits.js.map +0 -1
  244. package/tools/hris/benefits/list-hris-benefits.mjs +0 -19
  245. package/tools/hris/benefits/list-hris-benefits.mjs.map +0 -1
  246. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts +0 -32
  247. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts.map +0 -1
  248. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts +0 -32
  249. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts.map +0 -1
  250. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js +0 -23
  251. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js.map +0 -1
  252. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs +0 -19
  253. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs.map +0 -1
  254. package/tools/hris/benefits/retrieve-hris-benefits.d.mts +0 -32
  255. package/tools/hris/benefits/retrieve-hris-benefits.d.mts.map +0 -1
  256. package/tools/hris/benefits/retrieve-hris-benefits.d.ts +0 -32
  257. package/tools/hris/benefits/retrieve-hris-benefits.d.ts.map +0 -1
  258. package/tools/hris/benefits/retrieve-hris-benefits.js +0 -28
  259. package/tools/hris/benefits/retrieve-hris-benefits.js.map +0 -1
  260. package/tools/hris/benefits/retrieve-hris-benefits.mjs +0 -24
  261. package/tools/hris/benefits/retrieve-hris-benefits.mjs.map +0 -1
  262. package/tools/hris/benefits/update-hris-benefits.d.mts +0 -32
  263. package/tools/hris/benefits/update-hris-benefits.d.mts.map +0 -1
  264. package/tools/hris/benefits/update-hris-benefits.d.ts +0 -32
  265. package/tools/hris/benefits/update-hris-benefits.d.ts.map +0 -1
  266. package/tools/hris/benefits/update-hris-benefits.js +0 -32
  267. package/tools/hris/benefits/update-hris-benefits.js.map +0 -1
  268. package/tools/hris/benefits/update-hris-benefits.mjs +0 -28
  269. package/tools/hris/benefits/update-hris-benefits.mjs.map +0 -1
  270. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts +0 -32
  271. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts.map +0 -1
  272. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts +0 -32
  273. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts.map +0 -1
  274. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js +0 -51
  275. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js.map +0 -1
  276. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs +0 -47
  277. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs.map +0 -1
  278. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts +0 -32
  279. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts.map +0 -1
  280. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts +0 -32
  281. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts.map +0 -1
  282. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js +0 -73
  283. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js.map +0 -1
  284. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs +0 -69
  285. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs.map +0 -1
  286. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts +0 -32
  287. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts.map +0 -1
  288. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts +0 -32
  289. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts.map +0 -1
  290. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js +0 -28
  291. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js.map +0 -1
  292. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs +0 -24
  293. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs.map +0 -1
  294. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts +0 -32
  295. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts.map +0 -1
  296. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts +0 -32
  297. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts.map +0 -1
  298. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js +0 -23
  299. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js.map +0 -1
  300. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs +0 -19
  301. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs.map +0 -1
  302. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts +0 -32
  303. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts.map +0 -1
  304. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts +0 -32
  305. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts.map +0 -1
  306. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js +0 -31
  307. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js.map +0 -1
  308. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs +0 -27
  309. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs.map +0 -1
  310. package/tools/hris/company/retrieve-hris-company.d.mts +0 -32
  311. package/tools/hris/company/retrieve-hris-company.d.mts.map +0 -1
  312. package/tools/hris/company/retrieve-hris-company.d.ts +0 -32
  313. package/tools/hris/company/retrieve-hris-company.d.ts.map +0 -1
  314. package/tools/hris/company/retrieve-hris-company.js +0 -23
  315. package/tools/hris/company/retrieve-hris-company.js.map +0 -1
  316. package/tools/hris/company/retrieve-hris-company.mjs +0 -19
  317. package/tools/hris/company/retrieve-hris-company.mjs.map +0 -1
  318. package/tools/hris/directory/list-hris-directory.d.mts +0 -32
  319. package/tools/hris/directory/list-hris-directory.d.mts.map +0 -1
  320. package/tools/hris/directory/list-hris-directory.d.ts +0 -32
  321. package/tools/hris/directory/list-hris-directory.d.ts.map +0 -1
  322. package/tools/hris/directory/list-hris-directory.js +0 -33
  323. package/tools/hris/directory/list-hris-directory.js.map +0 -1
  324. package/tools/hris/directory/list-hris-directory.mjs +0 -29
  325. package/tools/hris/directory/list-hris-directory.mjs.map +0 -1
  326. package/tools/hris/directory/list-individuals-hris-directory.d.mts +0 -32
  327. package/tools/hris/directory/list-individuals-hris-directory.d.mts.map +0 -1
  328. package/tools/hris/directory/list-individuals-hris-directory.d.ts +0 -32
  329. package/tools/hris/directory/list-individuals-hris-directory.d.ts.map +0 -1
  330. package/tools/hris/directory/list-individuals-hris-directory.js +0 -33
  331. package/tools/hris/directory/list-individuals-hris-directory.js.map +0 -1
  332. package/tools/hris/directory/list-individuals-hris-directory.mjs +0 -29
  333. package/tools/hris/directory/list-individuals-hris-directory.mjs.map +0 -1
  334. package/tools/hris/documents/list-hris-documents.d.mts +0 -32
  335. package/tools/hris/documents/list-hris-documents.d.mts.map +0 -1
  336. package/tools/hris/documents/list-hris-documents.d.ts +0 -32
  337. package/tools/hris/documents/list-hris-documents.d.ts.map +0 -1
  338. package/tools/hris/documents/list-hris-documents.js +0 -48
  339. package/tools/hris/documents/list-hris-documents.js.map +0 -1
  340. package/tools/hris/documents/list-hris-documents.mjs +0 -44
  341. package/tools/hris/documents/list-hris-documents.mjs.map +0 -1
  342. package/tools/hris/documents/retreive-hris-documents.d.mts +0 -32
  343. package/tools/hris/documents/retreive-hris-documents.d.mts.map +0 -1
  344. package/tools/hris/documents/retreive-hris-documents.d.ts +0 -32
  345. package/tools/hris/documents/retreive-hris-documents.d.ts.map +0 -1
  346. package/tools/hris/documents/retreive-hris-documents.js +0 -28
  347. package/tools/hris/documents/retreive-hris-documents.js.map +0 -1
  348. package/tools/hris/documents/retreive-hris-documents.mjs +0 -24
  349. package/tools/hris/documents/retreive-hris-documents.mjs.map +0 -1
  350. package/tools/hris/employments/retrieve-many-hris-employments.d.mts +0 -32
  351. package/tools/hris/employments/retrieve-many-hris-employments.d.mts.map +0 -1
  352. package/tools/hris/employments/retrieve-many-hris-employments.d.ts +0 -32
  353. package/tools/hris/employments/retrieve-many-hris-employments.d.ts.map +0 -1
  354. package/tools/hris/employments/retrieve-many-hris-employments.js +0 -39
  355. package/tools/hris/employments/retrieve-many-hris-employments.js.map +0 -1
  356. package/tools/hris/employments/retrieve-many-hris-employments.mjs +0 -35
  357. package/tools/hris/employments/retrieve-many-hris-employments.mjs.map +0 -1
  358. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts +0 -32
  359. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts.map +0 -1
  360. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts +0 -32
  361. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts.map +0 -1
  362. package/tools/hris/individuals/retrieve-many-hris-individuals.js +0 -49
  363. package/tools/hris/individuals/retrieve-many-hris-individuals.js.map +0 -1
  364. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs +0 -45
  365. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs.map +0 -1
  366. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts +0 -32
  367. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts.map +0 -1
  368. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts +0 -32
  369. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts.map +0 -1
  370. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js +0 -47
  371. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js.map +0 -1
  372. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs +0 -43
  373. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs.map +0 -1
  374. package/tools/hris/payments/list-hris-payments.d.mts +0 -32
  375. package/tools/hris/payments/list-hris-payments.d.mts.map +0 -1
  376. package/tools/hris/payments/list-hris-payments.d.ts +0 -32
  377. package/tools/hris/payments/list-hris-payments.d.ts.map +0 -1
  378. package/tools/hris/payments/list-hris-payments.js +0 -35
  379. package/tools/hris/payments/list-hris-payments.js.map +0 -1
  380. package/tools/hris/payments/list-hris-payments.mjs +0 -31
  381. package/tools/hris/payments/list-hris-payments.mjs.map +0 -1
  382. package/tools/index.d.mts +0 -21
  383. package/tools/index.d.mts.map +0 -1
  384. package/tools/index.d.ts +0 -21
  385. package/tools/index.d.ts.map +0 -1
  386. package/tools/index.js +0 -146
  387. package/tools/index.js.map +0 -1
  388. package/tools/index.mjs +0 -139
  389. package/tools/index.mjs.map +0 -1
  390. package/tools/jobs/automated/create-jobs-automated.d.mts +0 -32
  391. package/tools/jobs/automated/create-jobs-automated.d.mts.map +0 -1
  392. package/tools/jobs/automated/create-jobs-automated.d.ts +0 -32
  393. package/tools/jobs/automated/create-jobs-automated.d.ts.map +0 -1
  394. package/tools/jobs/automated/create-jobs-automated.js +0 -55
  395. package/tools/jobs/automated/create-jobs-automated.js.map +0 -1
  396. package/tools/jobs/automated/create-jobs-automated.mjs +0 -51
  397. package/tools/jobs/automated/create-jobs-automated.mjs.map +0 -1
  398. package/tools/jobs/automated/list-jobs-automated.d.mts +0 -32
  399. package/tools/jobs/automated/list-jobs-automated.d.mts.map +0 -1
  400. package/tools/jobs/automated/list-jobs-automated.d.ts +0 -32
  401. package/tools/jobs/automated/list-jobs-automated.d.ts.map +0 -1
  402. package/tools/jobs/automated/list-jobs-automated.js +0 -33
  403. package/tools/jobs/automated/list-jobs-automated.js.map +0 -1
  404. package/tools/jobs/automated/list-jobs-automated.mjs +0 -29
  405. package/tools/jobs/automated/list-jobs-automated.mjs.map +0 -1
  406. package/tools/jobs/automated/retrieve-jobs-automated.d.mts +0 -32
  407. package/tools/jobs/automated/retrieve-jobs-automated.d.mts.map +0 -1
  408. package/tools/jobs/automated/retrieve-jobs-automated.d.ts +0 -32
  409. package/tools/jobs/automated/retrieve-jobs-automated.d.ts.map +0 -1
  410. package/tools/jobs/automated/retrieve-jobs-automated.js +0 -28
  411. package/tools/jobs/automated/retrieve-jobs-automated.js.map +0 -1
  412. package/tools/jobs/automated/retrieve-jobs-automated.mjs +0 -24
  413. package/tools/jobs/automated/retrieve-jobs-automated.mjs.map +0 -1
  414. package/tools/jobs/manual/retrieve-jobs-manual.d.mts +0 -32
  415. package/tools/jobs/manual/retrieve-jobs-manual.d.mts.map +0 -1
  416. package/tools/jobs/manual/retrieve-jobs-manual.d.ts +0 -32
  417. package/tools/jobs/manual/retrieve-jobs-manual.d.ts.map +0 -1
  418. package/tools/jobs/manual/retrieve-jobs-manual.js +0 -28
  419. package/tools/jobs/manual/retrieve-jobs-manual.js.map +0 -1
  420. package/tools/jobs/manual/retrieve-jobs-manual.mjs +0 -24
  421. package/tools/jobs/manual/retrieve-jobs-manual.mjs.map +0 -1
  422. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts +0 -32
  423. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts.map +0 -1
  424. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts +0 -32
  425. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts.map +0 -1
  426. package/tools/payroll/pay-groups/list-payroll-pay-groups.js +0 -34
  427. package/tools/payroll/pay-groups/list-payroll-pay-groups.js.map +0 -1
  428. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs +0 -30
  429. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs.map +0 -1
  430. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts +0 -32
  431. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts.map +0 -1
  432. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts +0 -32
  433. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts.map +0 -1
  434. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js +0 -28
  435. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js.map +0 -1
  436. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs +0 -24
  437. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs.map +0 -1
  438. package/tools/providers/list-providers.d.mts +0 -32
  439. package/tools/providers/list-providers.d.mts.map +0 -1
  440. package/tools/providers/list-providers.d.ts +0 -32
  441. package/tools/providers/list-providers.d.ts.map +0 -1
  442. package/tools/providers/list-providers.js +0 -23
  443. package/tools/providers/list-providers.js.map +0 -1
  444. package/tools/providers/list-providers.mjs +0 -19
  445. package/tools/providers/list-providers.mjs.map +0 -1
  446. package/tools/request-forwarding/forward-request-forwarding.d.mts +0 -32
  447. package/tools/request-forwarding/forward-request-forwarding.d.mts.map +0 -1
  448. package/tools/request-forwarding/forward-request-forwarding.d.ts +0 -32
  449. package/tools/request-forwarding/forward-request-forwarding.d.ts.map +0 -1
  450. package/tools/request-forwarding/forward-request-forwarding.js +0 -45
  451. package/tools/request-forwarding/forward-request-forwarding.js.map +0 -1
  452. package/tools/request-forwarding/forward-request-forwarding.mjs +0 -41
  453. package/tools/request-forwarding/forward-request-forwarding.mjs.map +0 -1
  454. package/tools/sandbox/company/update-sandbox-company.d.mts +0 -32
  455. package/tools/sandbox/company/update-sandbox-company.d.mts.map +0 -1
  456. package/tools/sandbox/company/update-sandbox-company.d.ts +0 -32
  457. package/tools/sandbox/company/update-sandbox-company.d.ts.map +0 -1
  458. package/tools/sandbox/company/update-sandbox-company.js +0 -159
  459. package/tools/sandbox/company/update-sandbox-company.js.map +0 -1
  460. package/tools/sandbox/company/update-sandbox-company.mjs +0 -155
  461. package/tools/sandbox/company/update-sandbox-company.mjs.map +0 -1
  462. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts +0 -32
  463. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts.map +0 -1
  464. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts +0 -32
  465. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts.map +0 -1
  466. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js +0 -44
  467. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js.map +0 -1
  468. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs +0 -40
  469. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs.map +0 -1
  470. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts +0 -32
  471. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts.map +0 -1
  472. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts +0 -32
  473. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts.map +0 -1
  474. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js +0 -35
  475. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js.map +0 -1
  476. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs +0 -31
  477. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs.map +0 -1
  478. package/tools/sandbox/connections/create-sandbox-connections.d.mts +0 -32
  479. package/tools/sandbox/connections/create-sandbox-connections.d.mts.map +0 -1
  480. package/tools/sandbox/connections/create-sandbox-connections.d.ts +0 -32
  481. package/tools/sandbox/connections/create-sandbox-connections.d.ts.map +0 -1
  482. package/tools/sandbox/connections/create-sandbox-connections.js +0 -44
  483. package/tools/sandbox/connections/create-sandbox-connections.js.map +0 -1
  484. package/tools/sandbox/connections/create-sandbox-connections.mjs +0 -40
  485. package/tools/sandbox/connections/create-sandbox-connections.mjs.map +0 -1
  486. package/tools/sandbox/directory/create-sandbox-directory.d.mts +0 -32
  487. package/tools/sandbox/directory/create-sandbox-directory.d.mts.map +0 -1
  488. package/tools/sandbox/directory/create-sandbox-directory.d.ts +0 -32
  489. package/tools/sandbox/directory/create-sandbox-directory.d.ts.map +0 -1
  490. package/tools/sandbox/directory/create-sandbox-directory.js +0 -292
  491. package/tools/sandbox/directory/create-sandbox-directory.js.map +0 -1
  492. package/tools/sandbox/directory/create-sandbox-directory.mjs +0 -288
  493. package/tools/sandbox/directory/create-sandbox-directory.mjs.map +0 -1
  494. package/tools/sandbox/employment/update-sandbox-employment.d.mts +0 -32
  495. package/tools/sandbox/employment/update-sandbox-employment.d.mts.map +0 -1
  496. package/tools/sandbox/employment/update-sandbox-employment.d.ts +0 -32
  497. package/tools/sandbox/employment/update-sandbox-employment.d.ts.map +0 -1
  498. package/tools/sandbox/employment/update-sandbox-employment.js +0 -215
  499. package/tools/sandbox/employment/update-sandbox-employment.js.map +0 -1
  500. package/tools/sandbox/employment/update-sandbox-employment.mjs +0 -211
  501. package/tools/sandbox/employment/update-sandbox-employment.mjs.map +0 -1
  502. package/tools/sandbox/individual/update-sandbox-individual.d.mts +0 -32
  503. package/tools/sandbox/individual/update-sandbox-individual.d.mts.map +0 -1
  504. package/tools/sandbox/individual/update-sandbox-individual.d.ts +0 -32
  505. package/tools/sandbox/individual/update-sandbox-individual.d.ts.map +0 -1
  506. package/tools/sandbox/individual/update-sandbox-individual.js +0 -149
  507. package/tools/sandbox/individual/update-sandbox-individual.js.map +0 -1
  508. package/tools/sandbox/individual/update-sandbox-individual.mjs +0 -145
  509. package/tools/sandbox/individual/update-sandbox-individual.mjs.map +0 -1
  510. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts +0 -32
  511. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts.map +0 -1
  512. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts +0 -32
  513. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts.map +0 -1
  514. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js +0 -23
  515. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js.map +0 -1
  516. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs +0 -19
  517. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs.map +0 -1
  518. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts +0 -32
  519. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts.map +0 -1
  520. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts +0 -32
  521. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts.map +0 -1
  522. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js +0 -33
  523. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js.map +0 -1
  524. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs +0 -29
  525. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs.map +0 -1
  526. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts +0 -32
  527. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts.map +0 -1
  528. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts +0 -32
  529. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts.map +0 -1
  530. package/tools/sandbox/jobs/create-sandbox-jobs.js +0 -30
  531. package/tools/sandbox/jobs/create-sandbox-jobs.js.map +0 -1
  532. package/tools/sandbox/jobs/create-sandbox-jobs.mjs +0 -26
  533. package/tools/sandbox/jobs/create-sandbox-jobs.mjs.map +0 -1
  534. package/tools/sandbox/payment/create-sandbox-payment.d.mts +0 -32
  535. package/tools/sandbox/payment/create-sandbox-payment.d.mts.map +0 -1
  536. package/tools/sandbox/payment/create-sandbox-payment.d.ts +0 -32
  537. package/tools/sandbox/payment/create-sandbox-payment.d.ts.map +0 -1
  538. package/tools/sandbox/payment/create-sandbox-payment.js +0 -300
  539. package/tools/sandbox/payment/create-sandbox-payment.js.map +0 -1
  540. package/tools/sandbox/payment/create-sandbox-payment.mjs +0 -296
  541. package/tools/sandbox/payment/create-sandbox-payment.mjs.map +0 -1
  542. package/tools.d.mts +0 -2
  543. package/tools.d.mts.map +0 -1
  544. package/tools.d.ts +0 -2
  545. package/tools.d.ts.map +0 -1
  546. package/tools.js +0 -18
  547. package/tools.js.map +0 -1
  548. package/tools.mjs +0 -2
  549. package/tools.mjs.map +0 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Finch Node MCP Server
1
+ # Finch TypeScript MCP Server
2
2
 
3
3
  It is generated with [Stainless](https://www.stainless.com/).
4
4
 
@@ -28,7 +28,7 @@ For clients with a configuration JSON, it might look something like this:
28
28
  "mcpServers": {
29
29
  "tryfinch_finch_api_api": {
30
30
  "command": "npx",
31
- "args": ["-y", "@tryfinch/finch-api-mcp", "--client=claude", "--tools=dynamic"],
31
+ "args": ["-y", "@tryfinch/finch-api-mcp"],
32
32
  "env": {
33
33
  "FINCH_ACCESS_TOKEN": "My Access Token",
34
34
  "FINCH_CLIENT_ID": "4ab15e51-11ad-49f4-acae-f343b7794375",
@@ -40,282 +40,69 @@ For clients with a configuration JSON, it might look something like this:
40
40
  }
41
41
  ```
42
42
 
43
- ## Exposing endpoints to your MCP Client
43
+ ### Cursor
44
44
 
45
- There are two ways to expose endpoints as tools in the MCP server:
45
+ If you use Cursor, you can install the MCP server by using the button below. You will need to set your environment variables
46
+ in Cursor's `mcp.json`, which can be found in Cursor Settings > Tools & MCP > New MCP Server.
46
47
 
47
- 1. Exposing one tool per endpoint, and filtering as necessary
48
- 2. Exposing a set of tools to dynamically discover and invoke endpoints from the API
48
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=@tryfinch/finch-api-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB0cnlmaW5jaC9maW5jaC1hcGktbWNwIl0sImVudiI6eyJGSU5DSF9BQ0NFU1NfVE9LRU4iOiJTZXQgeW91ciBGSU5DSF9BQ0NFU1NfVE9LRU4gaGVyZS4iLCJGSU5DSF9DTElFTlRfSUQiOiJTZXQgeW91ciBGSU5DSF9DTElFTlRfSUQgaGVyZS4iLCJGSU5DSF9DTElFTlRfU0VDUkVUIjoiU2V0IHlvdXIgRklOQ0hfQ0xJRU5UX1NFQ1JFVCBoZXJlLiIsIkZJTkNIX1dFQkhPT0tfU0VDUkVUIjoiU2V0IHlvdXIgRklOQ0hfV0VCSE9PS19TRUNSRVQgaGVyZS4ifX0)
49
49
 
50
- ### Filtering endpoints and tools
50
+ ### VS Code
51
51
 
52
- You can run the package on the command line to discover and filter the set of tools that are exposed by the
53
- MCP Server. This can be helpful for large APIs where including all endpoints at once is too much for your AI's
54
- context window.
52
+ If you use MCP, you can install the MCP server by clicking the link below. You will need to set your environment variables
53
+ in VS Code's `mcp.json`, which can be found via Command Palette > MCP: Open User Configuration.
55
54
 
56
- You can filter by multiple aspects:
55
+ [Open VS Code](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40tryfinch%2Ffinch-api-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40tryfinch%2Ffinch-api-mcp%22%5D%2C%22env%22%3A%7B%22FINCH_ACCESS_TOKEN%22%3A%22Set%20your%20FINCH_ACCESS_TOKEN%20here.%22%2C%22FINCH_CLIENT_ID%22%3A%22Set%20your%20FINCH_CLIENT_ID%20here.%22%2C%22FINCH_CLIENT_SECRET%22%3A%22Set%20your%20FINCH_CLIENT_SECRET%20here.%22%2C%22FINCH_WEBHOOK_SECRET%22%3A%22Set%20your%20FINCH_WEBHOOK_SECRET%20here.%22%7D%7D)
57
56
 
58
- - `--tool` includes a specific tool by name
59
- - `--resource` includes all tools under a specific resource, and can have wildcards, e.g. `my.resource*`
60
- - `--operation` includes just read (get/list) or just write operations
57
+ ### Claude Code
61
58
 
62
- ### Dynamic tools
59
+ If you use Claude Code, you can install the MCP server by running the command below in your terminal. You will need to set your
60
+ environment variables in Claude Code's `.claude.json`, which can be found in your home directory.
63
61
 
64
- If you specify `--tools=dynamic` to the MCP server, instead of exposing one tool per endpoint in the API, it will
65
- expose the following tools:
66
-
67
- 1. `list_api_endpoints` - Discovers available endpoints, with optional filtering by search query
68
- 2. `get_api_endpoint_schema` - Gets detailed schema information for a specific endpoint
69
- 3. `invoke_api_endpoint` - Executes any endpoint with the appropriate parameters
70
-
71
- This allows you to have the full set of API endpoints available to your MCP Client, while not requiring that all
72
- of their schemas be loaded into context at once. Instead, the LLM will automatically use these tools together to
73
- search for, look up, and invoke endpoints dynamically. However, due to the indirect nature of the schemas, it
74
- can struggle to provide the correct properties a bit more than when tools are imported explicitly. Therefore,
75
- you can opt-in to explicit tools, the dynamic tools, or both.
76
-
77
- See more information with `--help`.
78
-
79
- All of these command-line options can be repeated, combined together, and have corresponding exclusion versions (e.g. `--no-tool`).
80
-
81
- Use `--list` to see the list of available tools, or see below.
82
-
83
- ### Specifying the MCP Client
84
-
85
- Different clients have varying abilities to handle arbitrary tools and schemas.
86
-
87
- You can specify the client you are using with the `--client` argument, and the MCP server will automatically
88
- serve tools and schemas that are more compatible with that client.
89
-
90
- - `--client=<type>`: Set all capabilities based on a known MCP client
91
-
92
- - Valid values: `openai-agents`, `claude`, `claude-code`, `cursor`
93
- - Example: `--client=cursor`
94
-
95
- Additionally, if you have a client not on the above list, or the client has gotten better
96
- over time, you can manually enable or disable certain capabilities:
97
-
98
- - `--capability=<name>`: Specify individual client capabilities
99
- - Available capabilities:
100
- - `top-level-unions`: Enable support for top-level unions in tool schemas
101
- - `valid-json`: Enable JSON string parsing for arguments
102
- - `refs`: Enable support for $ref pointers in schemas
103
- - `unions`: Enable support for union types (anyOf) in schemas
104
- - `formats`: Enable support for format validations in schemas (e.g. date-time, email)
105
- - `tool-name-length=N`: Set maximum tool name length to N characters
106
- - Example: `--capability=top-level-unions --capability=tool-name-length=40`
107
- - Example: `--capability=top-level-unions,tool-name-length=40`
108
-
109
- ### Examples
110
-
111
- 1. Filter for read operations on cards:
112
-
113
- ```bash
114
- --resource=cards --operation=read
115
62
  ```
116
-
117
- 2. Exclude specific tools while including others:
118
-
119
- ```bash
120
- --resource=cards --no-tool=create_cards
63
+ claude mcp add --transport stdio tryfinch_finch_api_api --env FINCH_ACCESS_TOKEN="Your FINCH_ACCESS_TOKEN here." FINCH_CLIENT_ID="Your FINCH_CLIENT_ID here." FINCH_CLIENT_SECRET="Your FINCH_CLIENT_SECRET here." FINCH_WEBHOOK_SECRET="Your FINCH_WEBHOOK_SECRET here." -- npx -y @tryfinch/finch-api-mcp
121
64
  ```
122
65
 
123
- 3. Configure for Cursor client with custom max tool name length:
66
+ ## Code Mode
124
67
 
125
- ```bash
126
- --client=cursor --capability=tool-name-length=40
127
- ```
68
+ This MCP server is built on the "Code Mode" tool scheme. In this MCP Server,
69
+ your agent will write code against the TypeScript SDK, which will then be executed in an
70
+ isolated sandbox. To accomplish this, the server will expose two tools to your agent:
128
71
 
129
- 4. Complex filtering with multiple criteria:
72
+ - The first tool is a docs search tool, which can be used to generically query for
73
+ documentation about your API/SDK.
130
74
 
131
- ```bash
132
- --resource=cards,accounts --operation=read --tag=kyc --no-tool=create_cards
133
- ```
134
-
135
- ## Importing the tools and server individually
75
+ - The second tool is a code tool, where the agent can write code against the TypeScript SDK.
76
+ The code will be executed in a sandbox environment without web or filesystem access. Then,
77
+ anything the code returns or prints will be returned to the agent as the result of the
78
+ tool call.
136
79
 
137
- ```js
138
- // Import the server, generated endpoints, or the init function
139
- import { server, endpoints, init } from "@tryfinch/finch-api-mcp/server";
80
+ Using this scheme, agents are capable of performing very complex tasks deterministically
81
+ and repeatably.
140
82
 
141
- // import a specific tool
142
- import createAccessTokens from "@tryfinch/finch-api-mcp/tools/access-tokens/create-access-tokens";
83
+ ## Running remotely
143
84
 
144
- // initialize the server and all endpoints
145
- init({ server, endpoints });
85
+ Launching the client with `--transport=http` launches the server as a remote server using Streamable HTTP transport. The `--port` setting can choose the port it will run on, and the `--socket` setting allows it to run on a Unix socket.
146
86
 
147
- // manually start server
148
- const transport = new StdioServerTransport();
149
- await server.connect(transport);
87
+ Authorization can be provided via the `Authorization` header using the Bearer or Basic scheme.
150
88
 
151
- // or initialize your own server with specific tools
152
- const myServer = new McpServer(...);
89
+ Additionally, authorization can be provided via the following headers:
90
+ | Header | Equivalent client option | Security scheme |
91
+ | ----------------------- | ------------------------ | --------------- |
92
+ | `x-finch-client-id` | `clientID` | basicAuth |
93
+ | `x-finch-client-secret` | `clientSecret` | basicAuth |
153
94
 
154
- // define your own endpoint
155
- const myCustomEndpoint = {
156
- tool: {
157
- name: 'my_custom_tool',
158
- description: 'My custom tool',
159
- inputSchema: zodToJsonSchema(z.object({ a_property: z.string() })),
160
- },
161
- handler: async (client: client, args: any) => {
162
- return { myResponse: 'Hello world!' };
163
- })
164
- };
95
+ A configuration JSON for this server might look like this, assuming the server is hosted at `http://localhost:3000`:
165
96
 
166
- // initialize the server with your custom endpoints
167
- init({ server: myServer, endpoints: [createAccessTokens, myCustomEndpoint] });
97
+ ```json
98
+ {
99
+ "mcpServers": {
100
+ "tryfinch_finch_api_api": {
101
+ "url": "http://localhost:3000",
102
+ "headers": {
103
+ "Authorization": "Bearer <auth value>"
104
+ }
105
+ }
106
+ }
107
+ }
168
108
  ```
169
-
170
- ## Available Tools
171
-
172
- The following tools are available in this MCP server.
173
-
174
- ### Resource `access_tokens`:
175
-
176
- - `create_access_tokens` (`write`): Exchange the authorization code for an access token
177
-
178
- ### Resource `hris.company`:
179
-
180
- - `retrieve_hris_company` (`read`): Read basic company data
181
-
182
- ### Resource `hris.company.pay_statement_item`:
183
-
184
- - `list_company_hris_pay_statement_item` (`read`): **Beta:** this endpoint currently serves employers onboarded after March 4th and historical support will be added soon
185
- Retrieve a list of detailed pay statement items for the access token's connection account.
186
-
187
- ### Resource `hris.company.pay_statement_item.rules`:
188
-
189
- - `create_pay_statement_item_company_hris_rules` (`write`): **Beta:** this endpoint currently serves employers onboarded after March 4th and historical support will be added soon
190
- Custom rules can be created to associate specific attributes to pay statement items depending on the use case. For example, pay statement items that meet certain conditions can be labeled as a pre-tax 401k. This metadata can be retrieved where pay statement item information is available.
191
- - `update_pay_statement_item_company_hris_rules` (`write`): **Beta:** this endpoint currently serves employers onboarded after March 4th and historical support will be added soon
192
- Update a rule for a pay statement item.
193
- - `list_pay_statement_item_company_hris_rules` (`read`): **Beta:** this endpoint currently serves employers onboarded after March 4th and historical support will be added soon
194
- List all rules of a connection account.
195
- - `delete_pay_statement_item_company_hris_rules` (`write`): **Beta:** this endpoint currently serves employers onboarded after March 4th and historical support will be added soon
196
- Delete a rule for a pay statement item.
197
-
198
- ### Resource `hris.directory`:
199
-
200
- - `list_hris_directory` (`read`): Read company directory and organization structure
201
- - `list_individuals_hris_directory` (`read`): Read company directory and organization structure
202
-
203
- ### Resource `hris.individuals`:
204
-
205
- - `retrieve_many_hris_individuals` (`write`): Read individual data, excluding income and employment data
206
-
207
- ### Resource `hris.employments`:
208
-
209
- - `retrieve_many_hris_employments` (`write`): Read individual employment and income data
210
-
211
- ### Resource `hris.payments`:
212
-
213
- - `list_hris_payments` (`read`): Read payroll and contractor related payments by the company.
214
-
215
- ### Resource `hris.pay_statements`:
216
-
217
- - `retrieve_many_hris_pay_statements` (`write`): Read detailed pay statements for each individual.
218
-
219
- Deduction and contribution types are supported by the payroll systems that supports Benefits.
220
-
221
- ### Resource `hris.documents`:
222
-
223
- - `list_hris_documents` (`read`): **Beta:** This endpoint is in beta and may change.
224
- Retrieve a list of company-wide documents.
225
- - `retreive_hris_documents` (`read`): **Beta:** This endpoint is in beta and may change.
226
- Retrieve details of a specific document by its ID.
227
-
228
- ### Resource `hris.benefits`:
229
-
230
- - `create_hris_benefits` (`write`): Creates a new company-wide deduction or contribution. Please use the `/providers` endpoint to view available types for each provider.
231
- - `retrieve_hris_benefits` (`read`): Lists deductions and contributions information for a given item
232
- - `update_hris_benefits` (`write`): Updates an existing company-wide deduction or contribution
233
- - `list_hris_benefits` (`read`): List all company-wide deductions and contributions.
234
- - `list_supported_benefits_hris_benefits` (`read`): Get deductions metadata
235
-
236
- ### Resource `hris.benefits.individuals`:
237
-
238
- - `enroll_many_benefits_hris_individuals` (`write`): Enroll an individual into a deduction or contribution. This is an overwrite operation. If the employee is already enrolled, the enrollment amounts will be adjusted. Making the same request multiple times will not create new enrollments, but will continue to set the state of the existing enrollment.
239
- - `enrolled_ids_benefits_hris_individuals` (`read`): Lists individuals currently enrolled in a given deduction.
240
- - `retrieve_many_benefits_benefits_hris_individuals` (`read`): Get enrollment information for the given individuals.
241
- - `unenroll_many_benefits_hris_individuals` (`write`): Unenroll individuals from a deduction or contribution
242
-
243
- ### Resource `providers`:
244
-
245
- - `list_providers` (`read`): Return details on all available payroll and HR systems.
246
-
247
- ### Resource `account`:
248
-
249
- - `disconnect_account` (`write`): Disconnect one or more `access_token`s from your application.
250
- - `introspect_account` (`read`): Read account information associated with an `access_token`
251
-
252
- ### Resource `request_forwarding`:
253
-
254
- - `forward_request_forwarding` (`write`): The Forward API allows you to make direct requests to an employment system. If Finch’s unified API
255
- doesn’t have a data model that cleanly fits your needs, then Forward allows you to push or pull
256
- data models directly against an integration’s API.
257
-
258
- ### Resource `jobs.automated`:
259
-
260
- - `create_jobs_automated` (`write`): Enqueue an automated job.
261
-
262
- `data_sync_all`: Enqueue a job to re-sync all data for a connection. `data_sync_all` has a concurrency limit of 1 job at a time per connection. This means that if this endpoint is called while a job is already in progress for this connection, Finch will return the `job_id` of the job that is currently in progress. Finch allows a fixed window rate limit of 1 forced refresh per hour per connection.
263
-
264
- `w4_form_employee_sync`: Enqueues a job for sync W-4 data for a particular individual, identified by `individual_id`. This feature is currently in beta.
265
-
266
- This endpoint is available for _Scale_ tier customers as an add-on. To request access to this endpoint, please contact your Finch account manager.
267
-
268
- - `retrieve_jobs_automated` (`read`): Get an automated job by `job_id`.
269
- - `list_jobs_automated` (`read`): Get all automated jobs. Automated jobs are completed by a machine. By default, jobs are sorted in descending order by submission time. For scheduled jobs such as data syncs, only the next scheduled job is shown.
270
-
271
- ### Resource `jobs.manual`:
272
-
273
- - `retrieve_jobs_manual` (`read`): Get a manual job by `job_id`. Manual jobs are completed by a human and include Assisted Benefits jobs.
274
-
275
- ### Resource `sandbox.connections`:
276
-
277
- - `create_sandbox_connections` (`write`): Create a new connection (new company/provider pair) with a new account
278
-
279
- ### Resource `sandbox.connections.accounts`:
280
-
281
- - `create_connections_sandbox_accounts` (`write`): Create a new account for an existing connection (company/provider pair)
282
- - `update_connections_sandbox_accounts` (`write`): Update an existing sandbox account. Change the connection status to understand how the Finch API responds.
283
-
284
- ### Resource `sandbox.company`:
285
-
286
- - `update_sandbox_company` (`write`): Update a sandbox company's data
287
-
288
- ### Resource `sandbox.directory`:
289
-
290
- - `create_sandbox_directory` (`write`): Add new individuals to a sandbox company
291
-
292
- ### Resource `sandbox.individual`:
293
-
294
- - `update_sandbox_individual` (`write`): Update sandbox individual
295
-
296
- ### Resource `sandbox.employment`:
297
-
298
- - `update_sandbox_employment` (`write`): Update sandbox employment
299
-
300
- ### Resource `sandbox.payment`:
301
-
302
- - `create_sandbox_payment` (`write`): Add a new sandbox payment
303
-
304
- ### Resource `sandbox.jobs`:
305
-
306
- - `create_sandbox_jobs` (`write`): Enqueue a new sandbox job
307
-
308
- ### Resource `sandbox.jobs.configuration`:
309
-
310
- - `retrieve_jobs_sandbox_configuration` (`read`): Get configurations for sandbox jobs
311
- - `update_jobs_sandbox_configuration` (`write`): Update configurations for sandbox jobs
312
-
313
- ### Resource `payroll.pay_groups`:
314
-
315
- - `retrieve_payroll_pay_groups` (`read`): Read information from a single pay group
316
- - `list_payroll_pay_groups` (`read`): Read company pay groups and frequencies
317
-
318
- ### Resource `connect.sessions`:
319
-
320
- - `new_connect_sessions` (`write`): Create a new connect session for an employer
321
- - `reauthenticate_connect_sessions` (`write`): Create a new Connect session for reauthenticating an existing connection
@@ -0,0 +1,16 @@
1
+ import { ClientOptions } from '@tryfinch/finch-api';
2
+ export type WorkerInput = {
3
+ opts: ClientOptions;
4
+ code: string;
5
+ };
6
+ export type WorkerSuccess = {
7
+ result: unknown | null;
8
+ logLines: string[];
9
+ errLines: string[];
10
+ };
11
+ export type WorkerError = {
12
+ message: string | undefined;
13
+ logLines: string[];
14
+ errLines: string[];
15
+ };
16
+ //# sourceMappingURL=code-tool-types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-tool-types.d.mts","sourceRoot":"","sources":["src/code-tool-types.ts"],"names":[],"mappings":"OAEO,EAAE,aAAa,EAAE,MAAM,qBAAqB;AAEnD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { ClientOptions } from '@tryfinch/finch-api';
2
+ export type WorkerInput = {
3
+ opts: ClientOptions;
4
+ code: string;
5
+ };
6
+ export type WorkerSuccess = {
7
+ result: unknown | null;
8
+ logLines: string[];
9
+ errLines: string[];
10
+ };
11
+ export type WorkerError = {
12
+ message: string | undefined;
13
+ logLines: string[];
14
+ errLines: string[];
15
+ };
16
+ //# sourceMappingURL=code-tool-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-tool-types.d.ts","sourceRoot":"","sources":["src/code-tool-types.ts"],"names":[],"mappings":"OAEO,EAAE,aAAa,EAAE,MAAM,qBAAqB;AAEnD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=code-tool-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-tool-types.js","sourceRoot":"","sources":["src/code-tool-types.ts"],"names":[],"mappings":";AAAA,sFAAsF"}
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ export {};
3
+ //# sourceMappingURL=code-tool-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-tool-types.mjs","sourceRoot":"","sources":["src/code-tool-types.ts"],"names":[],"mappings":"AAAA,sFAAsF"}
@@ -0,0 +1,12 @@
1
+ import { McpTool } from "./types.mjs";
2
+ /**
3
+ * A tool that runs code against a copy of the SDK.
4
+ *
5
+ * Instead of exposing every endpoint as its own tool, which uses up too many tokens for LLMs to use at once,
6
+ * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
7
+ * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
8
+ *
9
+ * @param endpoints - The endpoints to include in the list.
10
+ */
11
+ export declare function codeTool(): McpTool;
12
+ //# sourceMappingURL=code-tool.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-tool.d.mts","sourceRoot":"","sources":["src/code-tool.ts"],"names":[],"mappings":"OAEO,EAAE,OAAO,EAAiD;AAIjE;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAiDlC"}
package/code-tool.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { McpTool } from "./types.js";
2
+ /**
3
+ * A tool that runs code against a copy of the SDK.
4
+ *
5
+ * Instead of exposing every endpoint as its own tool, which uses up too many tokens for LLMs to use at once,
6
+ * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
7
+ * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
8
+ *
9
+ * @param endpoints - The endpoints to include in the list.
10
+ */
11
+ export declare function codeTool(): McpTool;
12
+ //# sourceMappingURL=code-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-tool.d.ts","sourceRoot":"","sources":["src/code-tool.ts"],"names":[],"mappings":"OAEO,EAAE,OAAO,EAAiD;AAIjE;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAiDlC"}
package/code-tool.js ADDED
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.codeTool = codeTool;
5
+ const types_1 = require("./types.js");
6
+ const server_1 = require("./server.js");
7
+ /**
8
+ * A tool that runs code against a copy of the SDK.
9
+ *
10
+ * Instead of exposing every endpoint as its own tool, which uses up too many tokens for LLMs to use at once,
11
+ * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
12
+ * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
13
+ *
14
+ * @param endpoints - The endpoints to include in the list.
15
+ */
16
+ function codeTool() {
17
+ const metadata = { resource: 'all', operation: 'write', tags: [] };
18
+ const tool = {
19
+ name: 'execute',
20
+ description: 'Runs JavaScript code to interact with the API.\n\nYou are a skilled programmer writing code to interface with the service.\nDefine an async function named "run" that takes a single parameter of an initialized SDK client and it will be run.\nWrite code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```\n\nYou will be returned anything that your function returns, plus the results of any console.log statements.\nIf any code triggers an error, the tool will return an error response, so you do not need to add error handling unless you want to output something more helpful than the raw error.\nIt is not necessary to add comments to code, unless by adding those comments you believe that you can generate better code.\nThis code will run in a container, and you will not be able to use fetch or otherwise interact with the network calls other than through the client you are given.\nAny variables you define won\'t live between successive uses of this call, so make sure to return or log any data you might need later.',
21
+ inputSchema: { type: 'object', properties: { code: { type: 'string' } } },
22
+ };
23
+ const handler = async (_, args) => {
24
+ const code = args.code;
25
+ // this is not required, but passing a Stainless API key for the matching project_name
26
+ // will allow you to run code-mode queries against non-published versions of your SDK.
27
+ const stainlessAPIKey = (0, server_1.readEnv)('STAINLESS_API_KEY');
28
+ const codeModeEndpoint = (0, server_1.readEnv)('CODE_MODE_ENDPOINT_URL') ?? 'https://api.stainless.com/api/ai/code-tool';
29
+ const res = await fetch(codeModeEndpoint, {
30
+ method: 'POST',
31
+ headers: {
32
+ ...(stainlessAPIKey && { Authorization: stainlessAPIKey }),
33
+ 'Content-Type': 'application/json',
34
+ client_envs: JSON.stringify({
35
+ FINCH_ACCESS_TOKEN: (0, server_1.readEnv)('FINCH_ACCESS_TOKEN'),
36
+ FINCH_CLIENT_ID: (0, server_1.readEnv)('FINCH_CLIENT_ID'),
37
+ FINCH_CLIENT_SECRET: (0, server_1.readEnv)('FINCH_CLIENT_SECRET'),
38
+ FINCH_WEBHOOK_SECRET: (0, server_1.readEnv)('FINCH_WEBHOOK_SECRET'),
39
+ FINCH_BASE_URL: (0, server_1.readEnv)('FINCH_BASE_URL'),
40
+ }),
41
+ },
42
+ body: JSON.stringify({
43
+ project_name: 'finch',
44
+ client_opts: { accessToken: (0, server_1.readEnv)('FINCH_ACCESS_TOKEN') },
45
+ code,
46
+ }),
47
+ });
48
+ if (!res.ok) {
49
+ throw new Error(`${res.status}: ${res.statusText} error when trying to contact Code Tool server. Details: ${await res.text()}`);
50
+ }
51
+ return (0, types_1.asTextContentResult)((await res.json()));
52
+ };
53
+ return { metadata, tool, handler };
54
+ }
55
+ //# sourceMappingURL=code-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-tool.js","sourceRoot":"","sources":["src/code-tool.ts"],"names":[],"mappings":";AAAA,sFAAsF;;AAetF,4BAiDC;AA9DD,sCAAiF;AAEjF,wCAAmC;AAEnC;;;;;;;;GAQG;AACH,SAAgB,QAAQ;IACtB,MAAM,QAAQ,GAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC7E,MAAM,IAAI,GAAS;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EACT,iiCAAiiC;QACniC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC1E,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,EAAE,CAAU,EAAE,IAAS,EAA2B,EAAE;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;QAEjC,sFAAsF;QACtF,sFAAsF;QACtF,MAAM,eAAe,GAAG,IAAA,gBAAO,EAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,gBAAgB,GACpB,IAAA,gBAAO,EAAC,wBAAwB,CAAC,IAAI,4CAA4C,CAAC;QAEpF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,CAAC,eAAe,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;gBAC1D,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;oBAC1B,kBAAkB,EAAE,IAAA,gBAAO,EAAC,oBAAoB,CAAC;oBACjD,eAAe,EAAE,IAAA,gBAAO,EAAC,iBAAiB,CAAC;oBAC3C,mBAAmB,EAAE,IAAA,gBAAO,EAAC,qBAAqB,CAAC;oBACnD,oBAAoB,EAAE,IAAA,gBAAO,EAAC,sBAAsB,CAAC;oBACrD,cAAc,EAAE,IAAA,gBAAO,EAAC,gBAAgB,CAAC;iBAC1C,CAAC;aACH;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,EAAE,WAAW,EAAE,IAAA,gBAAO,EAAC,oBAAoB,CAAC,EAAE;gBAC3D,IAAI;aACL,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,MAAM,KACX,GAAG,CAAC,UACN,4DAA4D,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAC/E,CAAC;QACJ,CAAC;QAED,OAAO,IAAA,2BAAmB,EAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAkB,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
package/code-tool.mjs ADDED
@@ -0,0 +1,52 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { asTextContentResult } from "./types.mjs";
3
+ import { readEnv } from "./server.mjs";
4
+ /**
5
+ * A tool that runs code against a copy of the SDK.
6
+ *
7
+ * Instead of exposing every endpoint as its own tool, which uses up too many tokens for LLMs to use at once,
8
+ * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
9
+ * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
10
+ *
11
+ * @param endpoints - The endpoints to include in the list.
12
+ */
13
+ export function codeTool() {
14
+ const metadata = { resource: 'all', operation: 'write', tags: [] };
15
+ const tool = {
16
+ name: 'execute',
17
+ description: 'Runs JavaScript code to interact with the API.\n\nYou are a skilled programmer writing code to interface with the service.\nDefine an async function named "run" that takes a single parameter of an initialized SDK client and it will be run.\nWrite code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```\n\nYou will be returned anything that your function returns, plus the results of any console.log statements.\nIf any code triggers an error, the tool will return an error response, so you do not need to add error handling unless you want to output something more helpful than the raw error.\nIt is not necessary to add comments to code, unless by adding those comments you believe that you can generate better code.\nThis code will run in a container, and you will not be able to use fetch or otherwise interact with the network calls other than through the client you are given.\nAny variables you define won\'t live between successive uses of this call, so make sure to return or log any data you might need later.',
18
+ inputSchema: { type: 'object', properties: { code: { type: 'string' } } },
19
+ };
20
+ const handler = async (_, args) => {
21
+ const code = args.code;
22
+ // this is not required, but passing a Stainless API key for the matching project_name
23
+ // will allow you to run code-mode queries against non-published versions of your SDK.
24
+ const stainlessAPIKey = readEnv('STAINLESS_API_KEY');
25
+ const codeModeEndpoint = readEnv('CODE_MODE_ENDPOINT_URL') ?? 'https://api.stainless.com/api/ai/code-tool';
26
+ const res = await fetch(codeModeEndpoint, {
27
+ method: 'POST',
28
+ headers: {
29
+ ...(stainlessAPIKey && { Authorization: stainlessAPIKey }),
30
+ 'Content-Type': 'application/json',
31
+ client_envs: JSON.stringify({
32
+ FINCH_ACCESS_TOKEN: readEnv('FINCH_ACCESS_TOKEN'),
33
+ FINCH_CLIENT_ID: readEnv('FINCH_CLIENT_ID'),
34
+ FINCH_CLIENT_SECRET: readEnv('FINCH_CLIENT_SECRET'),
35
+ FINCH_WEBHOOK_SECRET: readEnv('FINCH_WEBHOOK_SECRET'),
36
+ FINCH_BASE_URL: readEnv('FINCH_BASE_URL'),
37
+ }),
38
+ },
39
+ body: JSON.stringify({
40
+ project_name: 'finch',
41
+ client_opts: { accessToken: readEnv('FINCH_ACCESS_TOKEN') },
42
+ code,
43
+ }),
44
+ });
45
+ if (!res.ok) {
46
+ throw new Error(`${res.status}: ${res.statusText} error when trying to contact Code Tool server. Details: ${await res.text()}`);
47
+ }
48
+ return asTextContentResult((await res.json()));
49
+ };
50
+ return { metadata, tool, handler };
51
+ }
52
+ //# sourceMappingURL=code-tool.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-tool.mjs","sourceRoot":"","sources":["src/code-tool.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAqC,mBAAmB,EAAE;OAE1D,EAAE,OAAO,EAAE;AAElB;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,QAAQ,GAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC7E,MAAM,IAAI,GAAS;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EACT,iiCAAiiC;QACniC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC1E,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,EAAE,CAAU,EAAE,IAAS,EAA2B,EAAE;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;QAEjC,sFAAsF;QACtF,sFAAsF;QACtF,MAAM,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,gBAAgB,GACpB,OAAO,CAAC,wBAAwB,CAAC,IAAI,4CAA4C,CAAC;QAEpF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,CAAC,eAAe,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;gBAC1D,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;oBAC1B,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,CAAC;oBACjD,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC;oBAC3C,mBAAmB,EAAE,OAAO,CAAC,qBAAqB,CAAC;oBACnD,oBAAoB,EAAE,OAAO,CAAC,sBAAsB,CAAC;oBACrD,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC;iBAC1C,CAAC;aACH;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE;gBAC3D,IAAI;aACL,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,MAAM,KACX,GAAG,CAAC,UACN,4DAA4D,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAC/E,CAAC;QACJ,CAAC;QAED,OAAO,mBAAmB,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAkB,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { Metadata } from "./types.mjs";
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ export declare const metadata: Metadata;
4
+ export declare const tool: Tool;
5
+ export declare const handler: (_: unknown, args: Record<string, unknown> | undefined) => Promise<import("./types").ToolCallResult>;
6
+ declare const _default: {
7
+ metadata: Metadata;
8
+ tool: {
9
+ inputSchema: {
10
+ [x: string]: unknown;
11
+ type: "object";
12
+ properties?: {
13
+ [x: string]: object;
14
+ } | undefined;
15
+ required?: string[] | undefined;
16
+ };
17
+ name: string;
18
+ description?: string | undefined;
19
+ outputSchema?: {
20
+ [x: string]: unknown;
21
+ type: "object";
22
+ properties?: {
23
+ [x: string]: object;
24
+ } | undefined;
25
+ required?: string[] | undefined;
26
+ } | undefined;
27
+ annotations?: {
28
+ title?: string | undefined;
29
+ readOnlyHint?: boolean | undefined;
30
+ destructiveHint?: boolean | undefined;
31
+ idempotentHint?: boolean | undefined;
32
+ openWorldHint?: boolean | undefined;
33
+ } | undefined;
34
+ execution?: {
35
+ taskSupport?: "optional" | "required" | "forbidden" | undefined;
36
+ } | undefined;
37
+ _meta?: {
38
+ [x: string]: unknown;
39
+ } | undefined;
40
+ icons?: {
41
+ src: string;
42
+ mimeType?: string | undefined;
43
+ sizes?: string[] | undefined;
44
+ }[] | undefined;
45
+ title?: string | undefined;
46
+ };
47
+ handler: (_: unknown, args: Record<string, unknown> | undefined) => Promise<import("./types").ToolCallResult>;
48
+ };
49
+ export default _default;
50
+ //# sourceMappingURL=docs-search-tool.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-search-tool.d.mts","sourceRoot":"","sources":["src/docs-search-tool.ts"],"names":[],"mappings":"OAEO,EAAE,QAAQ,EAAuB;OAEjC,EAAE,IAAI,EAAE,MAAM,oCAAoC;AAEzD,eAAO,MAAM,QAAQ,EAAE,QAKtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IA0BlB,CAAC;AAKF,eAAO,MAAM,OAAO,GAAU,GAAG,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,8CAYlF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAZ+B,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAcnF,wBAA2C"}