@tryfinch/finch-api-mcp 6.30.0 → 7.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 +85 -10
  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 +54 -0
  11. package/code-tool.d.mts.map +1 -0
  12. package/code-tool.d.ts +54 -0
  13. package/code-tool.d.ts.map +1 -0
  14. package/code-tool.js +54 -0
  15. package/code-tool.js.map +1 -0
  16. package/code-tool.mjs +51 -0
  17. package/code-tool.mjs.map +1 -0
  18. package/compat.d.mts +6 -0
  19. package/compat.d.mts.map +1 -1
  20. package/compat.d.ts +6 -0
  21. package/compat.d.ts.map +1 -1
  22. package/compat.js +52 -7
  23. package/compat.js.map +1 -1
  24. package/compat.mjs +52 -6
  25. package/compat.mjs.map +1 -1
  26. package/docs-search-tool.d.mts +50 -0
  27. package/docs-search-tool.d.mts.map +1 -0
  28. package/docs-search-tool.d.ts +50 -0
  29. package/docs-search-tool.d.ts.map +1 -0
  30. package/docs-search-tool.js +51 -0
  31. package/docs-search-tool.js.map +1 -0
  32. package/docs-search-tool.mjs +47 -0
  33. package/docs-search-tool.mjs.map +1 -0
  34. package/dynamic-tools.d.mts +2 -2
  35. package/dynamic-tools.d.mts.map +1 -1
  36. package/dynamic-tools.d.ts +2 -2
  37. package/dynamic-tools.d.ts.map +1 -1
  38. package/dynamic-tools.js +11 -9
  39. package/dynamic-tools.js.map +1 -1
  40. package/dynamic-tools.mjs +11 -9
  41. package/dynamic-tools.mjs.map +1 -1
  42. package/filtering.d.mts +3 -0
  43. package/filtering.d.mts.map +1 -0
  44. package/filtering.d.ts +3 -0
  45. package/filtering.d.ts.map +1 -0
  46. package/filtering.js +24 -0
  47. package/filtering.js.map +1 -0
  48. package/filtering.mjs +16 -0
  49. package/filtering.mjs.map +1 -0
  50. package/headers.d.mts +4 -0
  51. package/headers.d.mts.map +1 -0
  52. package/headers.d.ts +4 -0
  53. package/headers.d.ts.map +1 -0
  54. package/headers.js +31 -0
  55. package/headers.js.map +1 -0
  56. package/headers.mjs +27 -0
  57. package/headers.mjs.map +1 -0
  58. package/http.d.mts +9 -0
  59. package/http.d.mts.map +1 -0
  60. package/http.d.ts +9 -0
  61. package/http.d.ts.map +1 -0
  62. package/http.js +108 -0
  63. package/http.js.map +1 -0
  64. package/http.mjs +100 -0
  65. package/http.mjs.map +1 -0
  66. package/index.d.mts +1 -0
  67. package/index.d.ts +1 -0
  68. package/index.js +15 -10
  69. package/index.js.map +1 -1
  70. package/index.mjs +18 -12
  71. package/index.mjs.map +1 -1
  72. package/options.d.mts +17 -8
  73. package/options.d.mts.map +1 -1
  74. package/options.d.ts +17 -8
  75. package/options.d.ts.map +1 -1
  76. package/options.js +151 -61
  77. package/options.js.map +1 -1
  78. package/options.mjs +149 -60
  79. package/options.mjs.map +1 -1
  80. package/package.json +161 -12
  81. package/server.d.mts +12 -15
  82. package/server.d.mts.map +1 -1
  83. package/server.d.ts +12 -15
  84. package/server.d.ts.map +1 -1
  85. package/server.js +107 -36
  86. package/server.js.map +1 -1
  87. package/server.mjs +105 -36
  88. package/server.mjs.map +1 -1
  89. package/src/code-tool-types.ts +18 -0
  90. package/src/code-tool.ts +64 -0
  91. package/src/compat.ts +60 -6
  92. package/src/docs-search-tool.ts +59 -0
  93. package/src/dynamic-tools.ts +13 -12
  94. package/src/filtering.ts +18 -0
  95. package/src/headers.ts +35 -0
  96. package/src/http.ts +127 -0
  97. package/src/index.ts +20 -14
  98. package/src/options.ts +185 -73
  99. package/src/server.ts +128 -48
  100. package/src/stdio.ts +13 -0
  101. package/src/tools/access-tokens/create-access-tokens.ts +30 -5
  102. package/src/tools/account/disconnect-account.ts +28 -5
  103. package/src/tools/account/introspect-account.ts +30 -5
  104. package/src/tools/connect/sessions/new-connect-sessions.ts +46 -14
  105. package/src/tools/connect/sessions/reauthenticate-connect-sessions.ts +32 -9
  106. package/src/tools/hris/benefits/create-hris-benefits.ts +45 -18
  107. package/src/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.ts +55 -10
  108. package/src/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.ts +37 -5
  109. package/src/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.ts +36 -5
  110. package/src/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.ts +37 -5
  111. package/src/tools/hris/benefits/list-hris-benefits.ts +38 -5
  112. package/src/tools/hris/benefits/list-supported-benefits-hris-benefits.ts +38 -5
  113. package/src/tools/hris/benefits/retrieve-hris-benefits.ts +37 -5
  114. package/src/tools/hris/benefits/update-hris-benefits.ts +35 -5
  115. package/src/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.ts +35 -5
  116. package/src/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.ts +35 -7
  117. package/src/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.ts +36 -5
  118. package/src/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.ts +37 -5
  119. package/src/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.ts +37 -5
  120. package/src/tools/hris/company/retrieve-hris-company.ts +37 -5
  121. package/src/tools/hris/directory/list-hris-directory.ts +36 -5
  122. package/src/tools/hris/documents/list-hris-documents.ts +34 -5
  123. package/src/tools/hris/documents/retreive-hris-documents.ts +36 -5
  124. package/src/tools/hris/employments/retrieve-many-hris-employments.ts +24 -3
  125. package/src/tools/hris/individuals/retrieve-many-hris-individuals.ts +34 -7
  126. package/src/tools/hris/pay-statements/retrieve-many-hris-pay-statements.ts +24 -3
  127. package/src/tools/hris/payments/list-hris-payments.ts +36 -5
  128. package/src/tools/index.ts +6 -20
  129. package/src/tools/jobs/automated/create-jobs-automated.ts +28 -5
  130. package/src/tools/jobs/automated/list-jobs-automated.ts +27 -5
  131. package/src/tools/jobs/automated/retrieve-jobs-automated.ts +28 -5
  132. package/src/tools/jobs/manual/retrieve-jobs-manual.ts +27 -5
  133. package/src/tools/payroll/pay-groups/list-payroll-pay-groups.ts +36 -5
  134. package/src/tools/payroll/pay-groups/retrieve-payroll-pay-groups.ts +37 -5
  135. package/src/tools/providers/list-providers.ts +31 -5
  136. package/src/tools/request-forwarding/forward-request-forwarding.ts +31 -9
  137. package/src/tools/sandbox/company/update-sandbox-company.ts +37 -9
  138. package/src/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.ts +28 -5
  139. package/src/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.ts +29 -6
  140. package/src/tools/sandbox/connections/create-sandbox-connections.ts +26 -5
  141. package/src/tools/sandbox/directory/create-sandbox-directory.ts +31 -14
  142. package/src/tools/sandbox/employment/update-sandbox-employment.ts +23 -9
  143. package/src/tools/sandbox/individual/update-sandbox-individual.ts +30 -7
  144. package/src/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.ts +32 -5
  145. package/src/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.ts +30 -5
  146. package/src/tools/sandbox/jobs/create-sandbox-jobs.ts +26 -5
  147. package/src/tools/sandbox/payment/create-sandbox-payment.ts +89 -173
  148. package/src/tools/types.ts +115 -0
  149. package/stdio.d.mts +3 -0
  150. package/stdio.d.mts.map +1 -0
  151. package/stdio.d.ts +3 -0
  152. package/stdio.d.ts.map +1 -0
  153. package/stdio.js +14 -0
  154. package/stdio.js.map +1 -0
  155. package/stdio.mjs +10 -0
  156. package/stdio.mjs.map +1 -0
  157. package/tools/access-tokens/create-access-tokens.d.mts +26 -7
  158. package/tools/access-tokens/create-access-tokens.d.mts.map +1 -1
  159. package/tools/access-tokens/create-access-tokens.d.ts +26 -7
  160. package/tools/access-tokens/create-access-tokens.d.ts.map +1 -1
  161. package/tools/access-tokens/create-access-tokens.js +32 -4
  162. package/tools/access-tokens/create-access-tokens.js.map +1 -1
  163. package/tools/access-tokens/create-access-tokens.mjs +29 -4
  164. package/tools/access-tokens/create-access-tokens.mjs.map +1 -1
  165. package/tools/account/disconnect-account.d.mts +26 -7
  166. package/tools/account/disconnect-account.d.mts.map +1 -1
  167. package/tools/account/disconnect-account.d.ts +26 -7
  168. package/tools/account/disconnect-account.d.ts.map +1 -1
  169. package/tools/account/disconnect-account.js +30 -4
  170. package/tools/account/disconnect-account.js.map +1 -1
  171. package/tools/account/disconnect-account.mjs +27 -4
  172. package/tools/account/disconnect-account.mjs.map +1 -1
  173. package/tools/account/introspect-account.d.mts +26 -7
  174. package/tools/account/introspect-account.d.mts.map +1 -1
  175. package/tools/account/introspect-account.d.ts +26 -7
  176. package/tools/account/introspect-account.d.ts.map +1 -1
  177. package/tools/account/introspect-account.js +32 -4
  178. package/tools/account/introspect-account.js.map +1 -1
  179. package/tools/account/introspect-account.mjs +29 -4
  180. package/tools/account/introspect-account.mjs.map +1 -1
  181. package/tools/connect/sessions/new-connect-sessions.d.mts +26 -7
  182. package/tools/connect/sessions/new-connect-sessions.d.mts.map +1 -1
  183. package/tools/connect/sessions/new-connect-sessions.d.ts +26 -7
  184. package/tools/connect/sessions/new-connect-sessions.d.ts.map +1 -1
  185. package/tools/connect/sessions/new-connect-sessions.js +47 -13
  186. package/tools/connect/sessions/new-connect-sessions.js.map +1 -1
  187. package/tools/connect/sessions/new-connect-sessions.mjs +44 -13
  188. package/tools/connect/sessions/new-connect-sessions.mjs.map +1 -1
  189. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts +26 -7
  190. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts.map +1 -1
  191. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts +26 -7
  192. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts.map +1 -1
  193. package/tools/connect/sessions/reauthenticate-connect-sessions.js +32 -8
  194. package/tools/connect/sessions/reauthenticate-connect-sessions.js.map +1 -1
  195. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs +29 -8
  196. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs.map +1 -1
  197. package/tools/hris/benefits/create-hris-benefits.d.mts +26 -7
  198. package/tools/hris/benefits/create-hris-benefits.d.mts.map +1 -1
  199. package/tools/hris/benefits/create-hris-benefits.d.ts +26 -7
  200. package/tools/hris/benefits/create-hris-benefits.d.ts.map +1 -1
  201. package/tools/hris/benefits/create-hris-benefits.js +48 -17
  202. package/tools/hris/benefits/create-hris-benefits.js.map +1 -1
  203. package/tools/hris/benefits/create-hris-benefits.mjs +45 -17
  204. package/tools/hris/benefits/create-hris-benefits.mjs.map +1 -1
  205. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts +26 -7
  206. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts.map +1 -1
  207. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts +26 -7
  208. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts.map +1 -1
  209. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js +54 -9
  210. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js.map +1 -1
  211. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs +51 -9
  212. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs.map +1 -1
  213. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts +26 -7
  214. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts.map +1 -1
  215. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts +26 -7
  216. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts.map +1 -1
  217. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js +37 -4
  218. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js.map +1 -1
  219. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs +34 -4
  220. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs.map +1 -1
  221. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts +26 -7
  222. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts.map +1 -1
  223. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts +26 -7
  224. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts.map +1 -1
  225. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js +38 -4
  226. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js.map +1 -1
  227. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs +35 -4
  228. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs.map +1 -1
  229. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts +26 -7
  230. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts.map +1 -1
  231. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts +26 -7
  232. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts.map +1 -1
  233. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js +37 -4
  234. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js.map +1 -1
  235. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs +34 -4
  236. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs.map +1 -1
  237. package/tools/hris/benefits/list-hris-benefits.d.mts +26 -7
  238. package/tools/hris/benefits/list-hris-benefits.d.mts.map +1 -1
  239. package/tools/hris/benefits/list-hris-benefits.d.ts +26 -7
  240. package/tools/hris/benefits/list-hris-benefits.d.ts.map +1 -1
  241. package/tools/hris/benefits/list-hris-benefits.js +40 -4
  242. package/tools/hris/benefits/list-hris-benefits.js.map +1 -1
  243. package/tools/hris/benefits/list-hris-benefits.mjs +37 -4
  244. package/tools/hris/benefits/list-hris-benefits.mjs.map +1 -1
  245. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts +26 -7
  246. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts.map +1 -1
  247. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts +26 -7
  248. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts.map +1 -1
  249. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js +40 -4
  250. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js.map +1 -1
  251. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs +37 -4
  252. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs.map +1 -1
  253. package/tools/hris/benefits/retrieve-hris-benefits.d.mts +26 -7
  254. package/tools/hris/benefits/retrieve-hris-benefits.d.mts.map +1 -1
  255. package/tools/hris/benefits/retrieve-hris-benefits.d.ts +26 -7
  256. package/tools/hris/benefits/retrieve-hris-benefits.d.ts.map +1 -1
  257. package/tools/hris/benefits/retrieve-hris-benefits.js +37 -4
  258. package/tools/hris/benefits/retrieve-hris-benefits.js.map +1 -1
  259. package/tools/hris/benefits/retrieve-hris-benefits.mjs +34 -4
  260. package/tools/hris/benefits/retrieve-hris-benefits.mjs.map +1 -1
  261. package/tools/hris/benefits/update-hris-benefits.d.mts +26 -7
  262. package/tools/hris/benefits/update-hris-benefits.d.mts.map +1 -1
  263. package/tools/hris/benefits/update-hris-benefits.d.ts +26 -7
  264. package/tools/hris/benefits/update-hris-benefits.d.ts.map +1 -1
  265. package/tools/hris/benefits/update-hris-benefits.js +35 -4
  266. package/tools/hris/benefits/update-hris-benefits.js.map +1 -1
  267. package/tools/hris/benefits/update-hris-benefits.mjs +32 -4
  268. package/tools/hris/benefits/update-hris-benefits.mjs.map +1 -1
  269. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts +26 -7
  270. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts.map +1 -1
  271. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts +26 -7
  272. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts.map +1 -1
  273. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js +38 -4
  274. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js.map +1 -1
  275. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs +35 -4
  276. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs.map +1 -1
  277. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts +26 -7
  278. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  279. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts +26 -7
  280. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  281. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js +36 -6
  282. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js.map +1 -1
  283. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs +33 -6
  284. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs.map +1 -1
  285. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts +26 -7
  286. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  287. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts +26 -7
  288. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  289. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js +37 -4
  290. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js.map +1 -1
  291. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs +34 -4
  292. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs.map +1 -1
  293. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts +26 -7
  294. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  295. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts +26 -7
  296. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  297. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js +40 -4
  298. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js.map +1 -1
  299. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs +37 -4
  300. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs.map +1 -1
  301. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts +26 -7
  302. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  303. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts +26 -7
  304. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  305. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js +38 -4
  306. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js.map +1 -1
  307. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs +35 -4
  308. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs.map +1 -1
  309. package/tools/hris/company/retrieve-hris-company.d.mts +26 -7
  310. package/tools/hris/company/retrieve-hris-company.d.mts.map +1 -1
  311. package/tools/hris/company/retrieve-hris-company.d.ts +26 -7
  312. package/tools/hris/company/retrieve-hris-company.d.ts.map +1 -1
  313. package/tools/hris/company/retrieve-hris-company.js +39 -4
  314. package/tools/hris/company/retrieve-hris-company.js.map +1 -1
  315. package/tools/hris/company/retrieve-hris-company.mjs +36 -4
  316. package/tools/hris/company/retrieve-hris-company.mjs.map +1 -1
  317. package/tools/hris/directory/list-hris-directory.d.mts +26 -7
  318. package/tools/hris/directory/list-hris-directory.d.mts.map +1 -1
  319. package/tools/hris/directory/list-hris-directory.d.ts +26 -7
  320. package/tools/hris/directory/list-hris-directory.d.ts.map +1 -1
  321. package/tools/hris/directory/list-hris-directory.js +38 -4
  322. package/tools/hris/directory/list-hris-directory.js.map +1 -1
  323. package/tools/hris/directory/list-hris-directory.mjs +35 -4
  324. package/tools/hris/directory/list-hris-directory.mjs.map +1 -1
  325. package/tools/hris/documents/list-hris-documents.d.mts +26 -7
  326. package/tools/hris/documents/list-hris-documents.d.mts.map +1 -1
  327. package/tools/hris/documents/list-hris-documents.d.ts +26 -7
  328. package/tools/hris/documents/list-hris-documents.d.ts.map +1 -1
  329. package/tools/hris/documents/list-hris-documents.js +37 -4
  330. package/tools/hris/documents/list-hris-documents.js.map +1 -1
  331. package/tools/hris/documents/list-hris-documents.mjs +34 -4
  332. package/tools/hris/documents/list-hris-documents.mjs.map +1 -1
  333. package/tools/hris/documents/retreive-hris-documents.d.mts +26 -7
  334. package/tools/hris/documents/retreive-hris-documents.d.mts.map +1 -1
  335. package/tools/hris/documents/retreive-hris-documents.d.ts +26 -7
  336. package/tools/hris/documents/retreive-hris-documents.d.ts.map +1 -1
  337. package/tools/hris/documents/retreive-hris-documents.js +37 -4
  338. package/tools/hris/documents/retreive-hris-documents.js.map +1 -1
  339. package/tools/hris/documents/retreive-hris-documents.mjs +34 -4
  340. package/tools/hris/documents/retreive-hris-documents.mjs.map +1 -1
  341. package/tools/hris/employments/retrieve-many-hris-employments.d.mts +26 -7
  342. package/tools/hris/employments/retrieve-many-hris-employments.d.mts.map +1 -1
  343. package/tools/hris/employments/retrieve-many-hris-employments.d.ts +26 -7
  344. package/tools/hris/employments/retrieve-many-hris-employments.d.ts.map +1 -1
  345. package/tools/hris/employments/retrieve-many-hris-employments.js +28 -2
  346. package/tools/hris/employments/retrieve-many-hris-employments.js.map +1 -1
  347. package/tools/hris/employments/retrieve-many-hris-employments.mjs +25 -2
  348. package/tools/hris/employments/retrieve-many-hris-employments.mjs.map +1 -1
  349. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts +26 -7
  350. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts.map +1 -1
  351. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts +26 -7
  352. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts.map +1 -1
  353. package/tools/hris/individuals/retrieve-many-hris-individuals.js +36 -6
  354. package/tools/hris/individuals/retrieve-many-hris-individuals.js.map +1 -1
  355. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs +33 -6
  356. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs.map +1 -1
  357. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts +26 -7
  358. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts.map +1 -1
  359. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts +26 -7
  360. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts.map +1 -1
  361. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js +28 -2
  362. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js.map +1 -1
  363. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs +25 -2
  364. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs.map +1 -1
  365. package/tools/hris/payments/list-hris-payments.d.mts +26 -7
  366. package/tools/hris/payments/list-hris-payments.d.mts.map +1 -1
  367. package/tools/hris/payments/list-hris-payments.d.ts +26 -7
  368. package/tools/hris/payments/list-hris-payments.d.ts.map +1 -1
  369. package/tools/hris/payments/list-hris-payments.js +38 -4
  370. package/tools/hris/payments/list-hris-payments.js.map +1 -1
  371. package/tools/hris/payments/list-hris-payments.mjs +35 -4
  372. package/tools/hris/payments/list-hris-payments.mjs.map +1 -1
  373. package/tools/index.d.mts +2 -13
  374. package/tools/index.d.mts.map +1 -1
  375. package/tools/index.d.ts +2 -13
  376. package/tools/index.d.ts.map +1 -1
  377. package/tools/index.js +3 -4
  378. package/tools/index.js.map +1 -1
  379. package/tools/index.mjs +3 -4
  380. package/tools/index.mjs.map +1 -1
  381. package/tools/jobs/automated/create-jobs-automated.d.mts +26 -7
  382. package/tools/jobs/automated/create-jobs-automated.d.mts.map +1 -1
  383. package/tools/jobs/automated/create-jobs-automated.d.ts +26 -7
  384. package/tools/jobs/automated/create-jobs-automated.d.ts.map +1 -1
  385. package/tools/jobs/automated/create-jobs-automated.js +31 -4
  386. package/tools/jobs/automated/create-jobs-automated.js.map +1 -1
  387. package/tools/jobs/automated/create-jobs-automated.mjs +28 -4
  388. package/tools/jobs/automated/create-jobs-automated.mjs.map +1 -1
  389. package/tools/jobs/automated/list-jobs-automated.d.mts +26 -7
  390. package/tools/jobs/automated/list-jobs-automated.d.mts.map +1 -1
  391. package/tools/jobs/automated/list-jobs-automated.d.ts +26 -7
  392. package/tools/jobs/automated/list-jobs-automated.d.ts.map +1 -1
  393. package/tools/jobs/automated/list-jobs-automated.js +30 -4
  394. package/tools/jobs/automated/list-jobs-automated.js.map +1 -1
  395. package/tools/jobs/automated/list-jobs-automated.mjs +27 -4
  396. package/tools/jobs/automated/list-jobs-automated.mjs.map +1 -1
  397. package/tools/jobs/automated/retrieve-jobs-automated.d.mts +26 -7
  398. package/tools/jobs/automated/retrieve-jobs-automated.d.mts.map +1 -1
  399. package/tools/jobs/automated/retrieve-jobs-automated.d.ts +26 -7
  400. package/tools/jobs/automated/retrieve-jobs-automated.d.ts.map +1 -1
  401. package/tools/jobs/automated/retrieve-jobs-automated.js +30 -4
  402. package/tools/jobs/automated/retrieve-jobs-automated.js.map +1 -1
  403. package/tools/jobs/automated/retrieve-jobs-automated.mjs +27 -4
  404. package/tools/jobs/automated/retrieve-jobs-automated.mjs.map +1 -1
  405. package/tools/jobs/manual/retrieve-jobs-manual.d.mts +26 -7
  406. package/tools/jobs/manual/retrieve-jobs-manual.d.mts.map +1 -1
  407. package/tools/jobs/manual/retrieve-jobs-manual.d.ts +26 -7
  408. package/tools/jobs/manual/retrieve-jobs-manual.d.ts.map +1 -1
  409. package/tools/jobs/manual/retrieve-jobs-manual.js +30 -4
  410. package/tools/jobs/manual/retrieve-jobs-manual.js.map +1 -1
  411. package/tools/jobs/manual/retrieve-jobs-manual.mjs +27 -4
  412. package/tools/jobs/manual/retrieve-jobs-manual.mjs.map +1 -1
  413. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts +26 -7
  414. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts.map +1 -1
  415. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts +26 -7
  416. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts.map +1 -1
  417. package/tools/payroll/pay-groups/list-payroll-pay-groups.js +38 -4
  418. package/tools/payroll/pay-groups/list-payroll-pay-groups.js.map +1 -1
  419. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs +35 -4
  420. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs.map +1 -1
  421. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts +26 -7
  422. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts.map +1 -1
  423. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts +26 -7
  424. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts.map +1 -1
  425. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js +37 -4
  426. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js.map +1 -1
  427. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs +34 -4
  428. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs.map +1 -1
  429. package/tools/providers/list-providers.d.mts +26 -7
  430. package/tools/providers/list-providers.d.mts.map +1 -1
  431. package/tools/providers/list-providers.d.ts +26 -7
  432. package/tools/providers/list-providers.d.ts.map +1 -1
  433. package/tools/providers/list-providers.js +33 -4
  434. package/tools/providers/list-providers.js.map +1 -1
  435. package/tools/providers/list-providers.mjs +30 -4
  436. package/tools/providers/list-providers.mjs.map +1 -1
  437. package/tools/request-forwarding/forward-request-forwarding.d.mts +26 -7
  438. package/tools/request-forwarding/forward-request-forwarding.d.mts.map +1 -1
  439. package/tools/request-forwarding/forward-request-forwarding.d.ts +26 -7
  440. package/tools/request-forwarding/forward-request-forwarding.d.ts.map +1 -1
  441. package/tools/request-forwarding/forward-request-forwarding.js +34 -8
  442. package/tools/request-forwarding/forward-request-forwarding.js.map +1 -1
  443. package/tools/request-forwarding/forward-request-forwarding.mjs +31 -8
  444. package/tools/request-forwarding/forward-request-forwarding.mjs.map +1 -1
  445. package/tools/sandbox/company/update-sandbox-company.d.mts +26 -7
  446. package/tools/sandbox/company/update-sandbox-company.d.mts.map +1 -1
  447. package/tools/sandbox/company/update-sandbox-company.d.ts +26 -7
  448. package/tools/sandbox/company/update-sandbox-company.d.ts.map +1 -1
  449. package/tools/sandbox/company/update-sandbox-company.js +39 -8
  450. package/tools/sandbox/company/update-sandbox-company.js.map +1 -1
  451. package/tools/sandbox/company/update-sandbox-company.mjs +36 -8
  452. package/tools/sandbox/company/update-sandbox-company.mjs.map +1 -1
  453. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts +26 -7
  454. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts.map +1 -1
  455. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts +26 -7
  456. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts.map +1 -1
  457. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js +28 -4
  458. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js.map +1 -1
  459. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs +25 -4
  460. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs.map +1 -1
  461. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts +26 -7
  462. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts.map +1 -1
  463. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts +26 -7
  464. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts.map +1 -1
  465. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js +30 -5
  466. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js.map +1 -1
  467. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs +27 -5
  468. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs.map +1 -1
  469. package/tools/sandbox/connections/create-sandbox-connections.d.mts +26 -7
  470. package/tools/sandbox/connections/create-sandbox-connections.d.mts.map +1 -1
  471. package/tools/sandbox/connections/create-sandbox-connections.d.ts +26 -7
  472. package/tools/sandbox/connections/create-sandbox-connections.d.ts.map +1 -1
  473. package/tools/sandbox/connections/create-sandbox-connections.js +28 -4
  474. package/tools/sandbox/connections/create-sandbox-connections.js.map +1 -1
  475. package/tools/sandbox/connections/create-sandbox-connections.mjs +25 -4
  476. package/tools/sandbox/connections/create-sandbox-connections.mjs.map +1 -1
  477. package/tools/sandbox/directory/create-sandbox-directory.d.mts +26 -7
  478. package/tools/sandbox/directory/create-sandbox-directory.d.mts.map +1 -1
  479. package/tools/sandbox/directory/create-sandbox-directory.d.ts +26 -7
  480. package/tools/sandbox/directory/create-sandbox-directory.d.ts.map +1 -1
  481. package/tools/sandbox/directory/create-sandbox-directory.js +32 -13
  482. package/tools/sandbox/directory/create-sandbox-directory.js.map +1 -1
  483. package/tools/sandbox/directory/create-sandbox-directory.mjs +29 -13
  484. package/tools/sandbox/directory/create-sandbox-directory.mjs.map +1 -1
  485. package/tools/sandbox/employment/update-sandbox-employment.d.mts +26 -7
  486. package/tools/sandbox/employment/update-sandbox-employment.d.mts.map +1 -1
  487. package/tools/sandbox/employment/update-sandbox-employment.d.ts +26 -7
  488. package/tools/sandbox/employment/update-sandbox-employment.d.ts.map +1 -1
  489. package/tools/sandbox/employment/update-sandbox-employment.js +26 -8
  490. package/tools/sandbox/employment/update-sandbox-employment.js.map +1 -1
  491. package/tools/sandbox/employment/update-sandbox-employment.mjs +23 -8
  492. package/tools/sandbox/employment/update-sandbox-employment.mjs.map +1 -1
  493. package/tools/sandbox/individual/update-sandbox-individual.d.mts +26 -7
  494. package/tools/sandbox/individual/update-sandbox-individual.d.mts.map +1 -1
  495. package/tools/sandbox/individual/update-sandbox-individual.d.ts +26 -7
  496. package/tools/sandbox/individual/update-sandbox-individual.d.ts.map +1 -1
  497. package/tools/sandbox/individual/update-sandbox-individual.js +30 -6
  498. package/tools/sandbox/individual/update-sandbox-individual.js.map +1 -1
  499. package/tools/sandbox/individual/update-sandbox-individual.mjs +27 -6
  500. package/tools/sandbox/individual/update-sandbox-individual.mjs.map +1 -1
  501. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts +26 -7
  502. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts.map +1 -1
  503. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts +26 -7
  504. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts.map +1 -1
  505. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js +32 -4
  506. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js.map +1 -1
  507. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs +29 -4
  508. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs.map +1 -1
  509. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts +26 -7
  510. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts.map +1 -1
  511. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts +26 -7
  512. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts.map +1 -1
  513. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js +30 -4
  514. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js.map +1 -1
  515. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs +27 -4
  516. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs.map +1 -1
  517. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts +26 -7
  518. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts.map +1 -1
  519. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts +26 -7
  520. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts.map +1 -1
  521. package/tools/sandbox/jobs/create-sandbox-jobs.js +28 -4
  522. package/tools/sandbox/jobs/create-sandbox-jobs.js.map +1 -1
  523. package/tools/sandbox/jobs/create-sandbox-jobs.mjs +25 -4
  524. package/tools/sandbox/jobs/create-sandbox-jobs.mjs.map +1 -1
  525. package/tools/sandbox/payment/create-sandbox-payment.d.mts +26 -7
  526. package/tools/sandbox/payment/create-sandbox-payment.d.mts.map +1 -1
  527. package/tools/sandbox/payment/create-sandbox-payment.d.ts +26 -7
  528. package/tools/sandbox/payment/create-sandbox-payment.d.ts.map +1 -1
  529. package/tools/sandbox/payment/create-sandbox-payment.js +91 -167
  530. package/tools/sandbox/payment/create-sandbox-payment.js.map +1 -1
  531. package/tools/sandbox/payment/create-sandbox-payment.mjs +88 -167
  532. package/tools/sandbox/payment/create-sandbox-payment.mjs.map +1 -1
  533. package/tools/types.d.mts +52 -0
  534. package/tools/types.d.mts.map +1 -0
  535. package/tools/types.d.ts +52 -0
  536. package/tools/types.d.ts.map +1 -0
  537. package/tools/types.js +58 -0
  538. package/tools/types.js.map +1 -0
  539. package/tools/types.mjs +53 -0
  540. package/tools/types.mjs.map +1 -0
  541. package/src/tools/hris/directory/list-individuals-hris-directory.ts +0 -36
  542. package/tools/hris/directory/list-individuals-hris-directory.d.mts +0 -32
  543. package/tools/hris/directory/list-individuals-hris-directory.d.mts.map +0 -1
  544. package/tools/hris/directory/list-individuals-hris-directory.d.ts +0 -32
  545. package/tools/hris/directory/list-individuals-hris-directory.d.ts.map +0 -1
  546. package/tools/hris/directory/list-individuals-hris-directory.js +0 -33
  547. package/tools/hris/directory/list-individuals-hris-directory.js.map +0 -1
  548. package/tools/hris/directory/list-individuals-hris-directory.mjs +0 -29
  549. package/tools/hris/directory/list-individuals-hris-directory.mjs.map +0 -1
@@ -1,31 +1,63 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { isJqError, maybeFilter } from '@tryfinch/finch-api-mcp/filtering';
4
+ import { Metadata, asErrorResult, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
5
+
3
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
4
- import type { Metadata } from '../../';
5
7
  import Finch from '@tryfinch/finch-api';
6
8
 
7
9
  export const metadata: Metadata = {
8
10
  resource: 'payroll.pay_groups',
9
11
  operation: 'read',
10
12
  tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/employer/pay-groups/{pay_group_id}',
15
+ operationId: 'get-pay-group',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'retrieve_payroll_pay_groups',
15
- description: 'Read information from a single pay group',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRead information from a single pay group\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/pay_group_retrieve_response',\n $defs: {\n pay_group_retrieve_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'Finch id (uuidv4) for the pay group'\n },\n individual_ids: {\n type: 'array',\n items: {\n type: 'string',\n description: 'Finch id (uuidv4) for an individual assigned to this pay group'\n }\n },\n name: {\n type: 'string',\n description: 'Name of the pay group'\n },\n pay_frequencies: {\n type: 'array',\n description: 'List of pay frequencies associated with this pay group',\n items: {\n type: 'string',\n enum: [ 'annually',\n 'bi_weekly',\n 'daily',\n 'monthly',\n 'other',\n 'quarterly',\n 'semi_annually',\n 'semi_monthly',\n 'weekly'\n ]\n }\n }\n },\n required: [ 'id',\n 'individual_ids',\n 'name',\n 'pay_frequencies'\n ]\n }\n }\n}\n```",
16
22
  inputSchema: {
17
23
  type: 'object',
18
24
  properties: {
19
25
  pay_group_id: {
20
26
  type: 'string',
21
27
  },
28
+ entity_ids: {
29
+ type: 'array',
30
+ description: "The entity IDs to specify which entities' data to access.",
31
+ items: {
32
+ type: 'string',
33
+ },
34
+ },
35
+ jq_filter: {
36
+ type: 'string',
37
+ title: 'jq Filter',
38
+ description:
39
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
40
+ },
22
41
  },
42
+ required: ['pay_group_id'],
43
+ },
44
+ annotations: {
45
+ readOnlyHint: true,
23
46
  },
24
47
  };
25
48
 
26
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
27
- const { pay_group_id, ...body } = args as any;
28
- return client.payroll.payGroups.retrieve(pay_group_id);
49
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
50
+ const { pay_group_id, jq_filter, ...body } = args as any;
51
+ try {
52
+ return asTextContentResult(
53
+ await maybeFilter(jq_filter, await client.payroll.payGroups.retrieve(pay_group_id, body)),
54
+ );
55
+ } catch (error) {
56
+ if (error instanceof Finch.APIError || isJqError(error)) {
57
+ return asErrorResult(error.message);
58
+ }
59
+ throw error;
60
+ }
29
61
  };
30
62
 
31
63
  export default { metadata, tool, handler };
@@ -1,26 +1,52 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { isJqError, maybeFilter } from '@tryfinch/finch-api-mcp/filtering';
4
+ import { Metadata, asErrorResult, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
5
+
3
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
4
- import type { Metadata } from '../';
5
7
  import Finch from '@tryfinch/finch-api';
6
8
 
7
9
  export const metadata: Metadata = {
8
10
  resource: 'providers',
9
11
  operation: 'read',
10
12
  tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/providers',
15
+ operationId: 'get-providers',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'list_providers',
15
- description: 'Return details on all available payroll and HR systems.',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nReturn details on all available payroll and HR systems.\n\n# Response Schema\n```json\n{\n type: 'array',\n items: {\n $ref: '#/$defs/provider_list_response'\n },\n $defs: {\n provider_list_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'The id of the payroll provider used in Connect.'\n },\n display_name: {\n type: 'string',\n description: 'The display name of the payroll provider.'\n },\n products: {\n type: 'array',\n description: 'The list of Finch products supported on this payroll provider.',\n items: {\n type: 'string'\n }\n },\n authentication_methods: {\n type: 'array',\n description: 'The authentication methods supported by the provider.',\n items: {\n type: 'object',\n properties: {\n type: {\n type: 'string',\n description: 'The type of authentication method',\n enum: [ 'assisted',\n 'credential',\n 'api_token',\n 'api_credential',\n 'oauth',\n 'api'\n ]\n },\n benefits_support: {\n type: 'object',\n description: 'The supported benefit types and their configurations',\n additionalProperties: true\n },\n supported_fields: {\n type: 'object',\n description: 'The supported fields for each Finch product',\n additionalProperties: true\n }\n },\n required: [ 'type'\n ]\n }\n },\n beta: {\n type: 'boolean',\n description: '`true` if the integration is in a beta state, `false` otherwise'\n },\n icon: {\n type: 'string',\n description: 'The url to the official icon of the payroll provider.'\n },\n logo: {\n type: 'string',\n description: 'The url to the official logo of the payroll provider.'\n },\n manual: {\n type: 'boolean',\n description: '[DEPRECATED] Whether the Finch integration with this provider uses the Assisted Connect Flow by default. This field is now deprecated. Please check for a `type` of `assisted` in the `authentication_methods` field instead.'\n },\n mfa_required: {\n type: 'boolean',\n description: 'whether MFA is required for the provider.'\n },\n primary_color: {\n type: 'string',\n description: 'The hex code for the primary color of the payroll provider.'\n }\n },\n required: [ 'id',\n 'display_name',\n 'products'\n ]\n }\n }\n}\n```",
16
22
  inputSchema: {
17
23
  type: 'object',
18
- properties: {},
24
+ properties: {
25
+ jq_filter: {
26
+ type: 'string',
27
+ title: 'jq Filter',
28
+ description:
29
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
30
+ },
31
+ },
32
+ required: [],
33
+ },
34
+ annotations: {
35
+ readOnlyHint: true,
19
36
  },
20
37
  };
21
38
 
22
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
23
- return client.providers.list();
39
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
40
+ const { jq_filter } = args as any;
41
+ const response = await client.providers.list().asResponse();
42
+ try {
43
+ return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
44
+ } catch (error) {
45
+ if (error instanceof Finch.APIError || isJqError(error)) {
46
+ return asErrorResult(error.message);
47
+ }
48
+ throw error;
49
+ }
24
50
  };
25
51
 
26
52
  export default { metadata, tool, handler };
@@ -1,19 +1,24 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { isJqError, maybeFilter } from '@tryfinch/finch-api-mcp/filtering';
4
+ import { Metadata, asErrorResult, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
5
+
3
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
4
- import type { Metadata } from '../';
5
7
  import Finch from '@tryfinch/finch-api';
6
8
 
7
9
  export const metadata: Metadata = {
8
10
  resource: 'request_forwarding',
9
11
  operation: 'write',
10
12
  tags: [],
13
+ httpMethod: 'post',
14
+ httpPath: '/forward',
15
+ operationId: 'post-forward',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'forward_request_forwarding',
15
20
  description:
16
- 'The Forward API allows you to make direct requests to an employment system. If Finchs unified API\ndoesnt have a data model that cleanly fits your needs, then Forward allows you to push or pull\ndata models directly against an integrations API.',
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nThe Forward API allows you to make direct requests to an employment system. If Finch's unified API\ndoesn't have a data model that cleanly fits your needs, then Forward allows you to push or pull\ndata models directly against an integration's API.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/request_forwarding_forward_response',\n $defs: {\n request_forwarding_forward_response: {\n type: 'object',\n properties: {\n request: {\n type: 'object',\n description: 'An object containing details of your original forwarded request, for your ease of reference.',\n properties: {\n method: {\n type: 'string',\n description: 'The HTTP method that was specified for the forwarded request. Valid values include: `GET` , `POST` , `PUT` , `DELETE` , and `PATCH`.'\n },\n route: {\n type: 'string',\n description: 'The URL route path that was specified for the forwarded request.'\n },\n data: {\n anyOf: [ {\n type: 'string'\n },\n {\n type: 'object',\n additionalProperties: true\n }\n ],\n description: 'The body that was specified for the forwarded request.'\n },\n headers: {\n type: 'object',\n description: 'The HTTP headers that were specified for the forwarded request.',\n additionalProperties: true\n },\n params: {\n type: 'object',\n description: 'The query parameters that were specified for the forwarded request.',\n additionalProperties: true\n }\n },\n required: [ 'method',\n 'route'\n ]\n },\n statusCode: {\n type: 'integer',\n description: 'The HTTP status code of the forwarded request\\'s response, exactly received from the underlying integration\\'s API. This value will be returned as an integer.'\n },\n data: {\n type: 'string',\n description: 'A string representation of the HTTP response body of the forwarded request\\'s response received from the underlying integration\\'s API. This field may be null in the case where the upstream system\\'s response is empty.'\n },\n headers: {\n type: 'object',\n description: 'The HTTP headers of the forwarded request\\'s response, exactly as received from the underlying integration\\'s API.',\n additionalProperties: true\n }\n },\n required: [ 'request',\n 'statusCode'\n ]\n }\n }\n}\n```",
17
22
  inputSchema: {
18
23
  type: 'object',
19
24
  properties: {
@@ -32,23 +37,40 @@ export const tool: Tool = {
32
37
  description:
33
38
  'The body for the forwarded request. This value must be specified as either a string or a valid JSON object.',
34
39
  },
35
- headers: {
40
+ params: {
36
41
  type: 'object',
37
42
  description:
38
- 'The HTTP headers to include on the forwarded request. This value must be specified as an object of key-value pairs. Example: `{"Content-Type": "application/xml", "X-API-Version": "v1" }`',
43
+ 'The query parameters for the forwarded request. This value must be specified as a valid JSON object rather than a query string.',
44
+ additionalProperties: true,
39
45
  },
40
- params: {
46
+ request_headers: {
41
47
  type: 'object',
42
48
  description:
43
- 'The query parameters for the forwarded request. This value must be specified as a valid JSON object rather than a query string.',
49
+ 'The HTTP headers to include on the forwarded request. This value must be specified as an object of key-value pairs. Example: `{"Content-Type": "application/xml", "X-API-Version": "v1" }`',
50
+ additionalProperties: true,
51
+ },
52
+ jq_filter: {
53
+ type: 'string',
54
+ title: 'jq Filter',
55
+ description:
56
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
44
57
  },
45
58
  },
59
+ required: ['method', 'route'],
46
60
  },
61
+ annotations: {},
47
62
  };
48
63
 
49
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
50
- const body = args as any;
51
- return client.requestForwarding.forward(body);
64
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
65
+ const { jq_filter, ...body } = args as any;
66
+ try {
67
+ return asTextContentResult(await maybeFilter(jq_filter, await client.requestForwarding.forward(body)));
68
+ } catch (error) {
69
+ if (error instanceof Finch.APIError || isJqError(error)) {
70
+ return asErrorResult(error.message);
71
+ }
72
+ throw error;
73
+ }
52
74
  };
53
75
 
54
76
  export default { metadata, tool, handler };
@@ -1,18 +1,24 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { isJqError, maybeFilter } from '@tryfinch/finch-api-mcp/filtering';
4
+ import { Metadata, asErrorResult, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
5
+
3
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
4
- import type { Metadata } from '../../';
5
7
  import Finch from '@tryfinch/finch-api';
6
8
 
7
9
  export const metadata: Metadata = {
8
10
  resource: 'sandbox.company',
9
11
  operation: 'write',
10
12
  tags: [],
13
+ httpMethod: 'put',
14
+ httpPath: '/sandbox/company',
15
+ operationId: 'put-sandbox-company',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'update_sandbox_company',
15
- description: "Update a sandbox company's data",
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nUpdate a sandbox company's data\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/company_update_response',\n $defs: {\n company_update_response: {\n type: 'object',\n properties: {\n accounts: {\n type: 'array',\n description: 'An array of bank account objects associated with the payroll/HRIS system.',\n items: {\n type: 'object',\n properties: {\n account_name: {\n type: 'string',\n description: 'The name of the bank associated in the payroll/HRIS system.'\n },\n account_number: {\n type: 'string',\n description: '10-12 digit number to specify the bank account'\n },\n account_type: {\n type: 'string',\n description: 'The type of bank account.',\n enum: [ 'checking',\n 'savings'\n ]\n },\n institution_name: {\n type: 'string',\n description: 'Name of the banking institution.'\n },\n routing_number: {\n type: 'string',\n description: 'A nine-digit code that\\'s based on the U.S. Bank location where your account was opened.'\n }\n }\n }\n },\n departments: {\n type: 'array',\n description: 'The array of company departments.',\n items: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The department name.'\n },\n parent: {\n type: 'object',\n description: 'The parent department, if present.',\n properties: {\n name: {\n type: 'string',\n description: 'The parent department\\'s name.'\n }\n }\n }\n }\n }\n },\n ein: {\n type: 'string',\n description: 'The employer identification number.'\n },\n entity: {\n type: 'object',\n description: 'The entity type object.',\n properties: {\n subtype: {\n type: 'string',\n description: 'The tax payer subtype of the company.',\n enum: [ 's_corporation',\n 'c_corporation',\n 'b_corporation'\n ]\n },\n type: {\n type: 'string',\n description: 'The tax payer type of the company.',\n enum: [ 'llc',\n 'lp',\n 'corporation',\n 'sole_proprietor',\n 'non_profit',\n 'partnership',\n 'cooperative'\n ]\n }\n }\n },\n legal_name: {\n type: 'string',\n description: 'The legal name of the company.'\n },\n locations: {\n type: 'array',\n items: {\n $ref: '#/$defs/location'\n }\n },\n primary_email: {\n type: 'string',\n description: 'The email of the main administrator on the account.'\n },\n primary_phone_number: {\n type: 'string',\n description: 'The phone number of the main administrator on the account. Format: E.164, with extension where applicable, e.g. `+NNNNNNNNNNN xExtension`'\n }\n },\n required: [ 'accounts',\n 'departments',\n 'ein',\n 'entity',\n 'legal_name',\n 'locations',\n 'primary_email',\n 'primary_phone_number'\n ]\n },\n location: {\n type: 'object',\n title: 'Location',\n properties: {\n city: {\n type: 'string',\n description: 'City, district, suburb, town, or village.'\n },\n country: {\n type: 'string',\n description: 'The 2-letter ISO 3166 country code.'\n },\n line1: {\n type: 'string',\n description: 'Street address or PO box.'\n },\n line2: {\n type: 'string',\n description: 'Apartment, suite, unit, or building.'\n },\n postal_code: {\n type: 'string',\n description: 'The postal code or zip code.'\n },\n state: {\n type: 'string',\n description: 'The state code.'\n },\n name: {\n type: 'string'\n },\n source_id: {\n type: 'string'\n }\n },\n required: [ 'city',\n 'country',\n 'line1',\n 'line2',\n 'postal_code',\n 'state'\n ]\n }\n }\n}\n```",
16
22
  inputSchema: {
17
23
  type: 'object',
18
24
  properties: {
@@ -45,7 +51,6 @@ export const tool: Tool = {
45
51
  "A nine-digit code that's based on the U.S. Bank location where your account was opened.",
46
52
  },
47
53
  },
48
- required: [],
49
54
  },
50
55
  },
51
56
  departments: {
@@ -67,10 +72,8 @@ export const tool: Tool = {
67
72
  description: "The parent department's name.",
68
73
  },
69
74
  },
70
- required: [],
71
75
  },
72
76
  },
73
- required: [],
74
77
  },
75
78
  },
76
79
  ein: {
@@ -92,7 +95,6 @@ export const tool: Tool = {
92
95
  enum: ['llc', 'lp', 'corporation', 'sole_proprietor', 'non_profit', 'partnership', 'cooperative'],
93
96
  },
94
97
  },
95
- required: [],
96
98
  },
97
99
  legal_name: {
98
100
  type: 'string',
@@ -113,7 +115,23 @@ export const tool: Tool = {
113
115
  description:
114
116
  'The phone number of the main administrator on the account. Format: E.164, with extension where applicable, e.g. `+NNNNNNNNNNN xExtension`',
115
117
  },
118
+ jq_filter: {
119
+ type: 'string',
120
+ title: 'jq Filter',
121
+ description:
122
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
123
+ },
116
124
  },
125
+ required: [
126
+ 'accounts',
127
+ 'departments',
128
+ 'ein',
129
+ 'entity',
130
+ 'legal_name',
131
+ 'locations',
132
+ 'primary_email',
133
+ 'primary_phone_number',
134
+ ],
117
135
  $defs: {
118
136
  location: {
119
137
  type: 'object',
@@ -154,11 +172,21 @@ export const tool: Tool = {
154
172
  },
155
173
  },
156
174
  },
175
+ annotations: {
176
+ idempotentHint: true,
177
+ },
157
178
  };
158
179
 
159
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
160
- const body = args as any;
161
- return client.sandbox.company.update(body);
180
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
181
+ const { jq_filter, ...body } = args as any;
182
+ try {
183
+ return asTextContentResult(await maybeFilter(jq_filter, await client.sandbox.company.update(body)));
184
+ } catch (error) {
185
+ if (error instanceof Finch.APIError || isJqError(error)) {
186
+ return asErrorResult(error.message);
187
+ }
188
+ throw error;
189
+ }
162
190
  };
163
191
 
164
192
  export default { metadata, tool, handler };
@@ -1,18 +1,24 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { isJqError, maybeFilter } from '@tryfinch/finch-api-mcp/filtering';
4
+ import { Metadata, asErrorResult, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
5
+
3
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
4
- import type { Metadata } from '../../../';
5
7
  import Finch from '@tryfinch/finch-api';
6
8
 
7
9
  export const metadata: Metadata = {
8
10
  resource: 'sandbox.connections.accounts',
9
11
  operation: 'write',
10
12
  tags: [],
13
+ httpMethod: 'post',
14
+ httpPath: '/sandbox/connections/accounts',
15
+ operationId: 'post-sandbox-connections-accounts',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'create_connections_sandbox_accounts',
15
- description: 'Create a new account for an existing connection (company/provider pair)',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreate a new account for an existing connection (company/provider pair)\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/account_create_response',\n $defs: {\n account_create_response: {\n type: 'object',\n properties: {\n access_token: {\n type: 'string'\n },\n account_id: {\n type: 'string',\n description: '[DEPRECATED] Use `connection_id` to associate a connection with an access token'\n },\n authentication_type: {\n type: 'string',\n title: 'AuthenticationType',\n enum: [ 'credential',\n 'api_token',\n 'oauth',\n 'assisted'\n ]\n },\n company_id: {\n type: 'string',\n description: '[DEPRECATED] Use `connection_id` to associate a connection with an access token'\n },\n connection_id: {\n type: 'string',\n description: 'The ID of the new connection'\n },\n products: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n provider_id: {\n type: 'string',\n description: 'The ID of the provider associated with the `access_token`'\n }\n },\n required: [ 'access_token',\n 'account_id',\n 'authentication_type',\n 'company_id',\n 'connection_id',\n 'products',\n 'provider_id'\n ]\n }\n }\n}\n```",
16
22
  inputSchema: {
17
23
  type: 'object',
18
24
  properties: {
@@ -36,13 +42,30 @@ export const tool: Tool = {
36
42
  type: 'string',
37
43
  },
38
44
  },
45
+ jq_filter: {
46
+ type: 'string',
47
+ title: 'jq Filter',
48
+ description:
49
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
50
+ },
39
51
  },
52
+ required: ['company_id', 'provider_id'],
40
53
  },
54
+ annotations: {},
41
55
  };
42
56
 
43
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
44
- const body = args as any;
45
- return client.sandbox.connections.accounts.create(body);
57
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
58
+ const { jq_filter, ...body } = args as any;
59
+ try {
60
+ return asTextContentResult(
61
+ await maybeFilter(jq_filter, await client.sandbox.connections.accounts.create(body)),
62
+ );
63
+ } catch (error) {
64
+ if (error instanceof Finch.APIError || isJqError(error)) {
65
+ return asErrorResult(error.message);
66
+ }
67
+ throw error;
68
+ }
46
69
  };
47
70
 
48
71
  export default { metadata, tool, handler };
@@ -1,39 +1,62 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { isJqError, maybeFilter } from '@tryfinch/finch-api-mcp/filtering';
4
+ import { Metadata, asErrorResult, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
5
+
3
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
4
- import type { Metadata } from '../../../';
5
7
  import Finch from '@tryfinch/finch-api';
6
8
 
7
9
  export const metadata: Metadata = {
8
10
  resource: 'sandbox.connections.accounts',
9
11
  operation: 'write',
10
12
  tags: [],
13
+ httpMethod: 'put',
14
+ httpPath: '/sandbox/connections/accounts',
15
+ operationId: 'put-sandbox-connections-accounts',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'update_connections_sandbox_accounts',
15
20
  description:
16
- 'Update an existing sandbox account. Change the connection status to understand how the Finch API responds.',
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nUpdate an existing sandbox account. Change the connection status to understand how the Finch API responds.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/account_update_response',\n $defs: {\n account_update_response: {\n type: 'object',\n properties: {\n account_id: {\n type: 'string',\n description: '[DEPRECATED] Use `connection_id` to associate a connection with an access token'\n },\n authentication_type: {\n type: 'string',\n title: 'AuthenticationType',\n enum: [ 'credential',\n 'api_token',\n 'oauth',\n 'assisted'\n ]\n },\n company_id: {\n type: 'string',\n description: '[DEPRECATED] Use `connection_id` to associate a connection with an access token'\n },\n products: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n provider_id: {\n type: 'string',\n description: 'The ID of the provider associated with the `access_token`'\n },\n connection_id: {\n type: 'string',\n description: 'The ID of the new connection'\n }\n },\n required: [ 'account_id',\n 'authentication_type',\n 'company_id',\n 'products',\n 'provider_id'\n ]\n }\n }\n}\n```",
17
22
  inputSchema: {
18
23
  type: 'object',
19
24
  properties: {
20
25
  connection_status: {
21
26
  $ref: '#/$defs/connection_status_type',
22
27
  },
28
+ jq_filter: {
29
+ type: 'string',
30
+ title: 'jq Filter',
31
+ description:
32
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
33
+ },
23
34
  },
35
+ required: [],
24
36
  $defs: {
25
37
  connection_status_type: {
26
38
  type: 'string',
27
- title: 'ConnectionStatus',
28
39
  enum: ['pending', 'processing', 'connected', 'error_no_account_setup', 'error_permissions', 'reauth'],
29
40
  },
30
41
  },
31
42
  },
43
+ annotations: {
44
+ idempotentHint: true,
45
+ },
32
46
  };
33
47
 
34
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
35
- const body = args as any;
36
- return client.sandbox.connections.accounts.update(body);
48
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
49
+ const { jq_filter, ...body } = args as any;
50
+ try {
51
+ return asTextContentResult(
52
+ await maybeFilter(jq_filter, await client.sandbox.connections.accounts.update(body)),
53
+ );
54
+ } catch (error) {
55
+ if (error instanceof Finch.APIError || isJqError(error)) {
56
+ return asErrorResult(error.message);
57
+ }
58
+ throw error;
59
+ }
37
60
  };
38
61
 
39
62
  export default { metadata, tool, handler };
@@ -1,18 +1,24 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { isJqError, maybeFilter } from '@tryfinch/finch-api-mcp/filtering';
4
+ import { Metadata, asErrorResult, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
5
+
3
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
4
- import type { Metadata } from '../../';
5
7
  import Finch from '@tryfinch/finch-api';
6
8
 
7
9
  export const metadata: Metadata = {
8
10
  resource: 'sandbox.connections',
9
11
  operation: 'write',
10
12
  tags: [],
13
+ httpMethod: 'post',
14
+ httpPath: '/sandbox/connections',
15
+ operationId: 'post-sandbox-connections',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'create_sandbox_connections',
15
- description: 'Create a new connection (new company/provider pair) with a new account',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreate a new connection (new company/provider pair) with a new account\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/connection_create_response',\n $defs: {\n connection_create_response: {\n type: 'object',\n properties: {\n access_token: {\n type: 'string'\n },\n account_id: {\n type: 'string',\n description: '[DEPRECATED] Use `connection_id` to associate a connection with an access token'\n },\n authentication_type: {\n type: 'string',\n title: 'AuthenticationType',\n enum: [ 'credential',\n 'api_token',\n 'oauth',\n 'assisted'\n ]\n },\n company_id: {\n type: 'string',\n description: '[DEPRECATED] Use `connection_id` to associate a connection with an access token'\n },\n connection_id: {\n type: 'string',\n description: 'The ID of the new connection'\n },\n products: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n provider_id: {\n type: 'string',\n description: 'The ID of the provider associated with the `access_token`.'\n },\n token_type: {\n type: 'string'\n }\n },\n required: [ 'access_token',\n 'account_id',\n 'authentication_type',\n 'company_id',\n 'connection_id',\n 'products',\n 'provider_id'\n ]\n }\n }\n}\n```",
16
22
  inputSchema: {
17
23
  type: 'object',
18
24
  properties: {
@@ -36,13 +42,28 @@ export const tool: Tool = {
36
42
  type: 'string',
37
43
  },
38
44
  },
45
+ jq_filter: {
46
+ type: 'string',
47
+ title: 'jq Filter',
48
+ description:
49
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
50
+ },
39
51
  },
52
+ required: ['provider_id'],
40
53
  },
54
+ annotations: {},
41
55
  };
42
56
 
43
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
44
- const body = args as any;
45
- return client.sandbox.connections.create(body);
57
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
58
+ const { jq_filter, ...body } = args as any;
59
+ try {
60
+ return asTextContentResult(await maybeFilter(jq_filter, await client.sandbox.connections.create(body)));
61
+ } catch (error) {
62
+ if (error instanceof Finch.APIError || isJqError(error)) {
63
+ return asErrorResult(error.message);
64
+ }
65
+ throw error;
66
+ }
46
67
  };
47
68
 
48
69
  export default { metadata, tool, handler };