@tryfinch/finch-api-mcp 6.31.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 +28 -12
  142. package/src/tools/sandbox/employment/update-sandbox-employment.ts +20 -7
  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 +30 -11
  482. package/tools/sandbox/directory/create-sandbox-directory.js.map +1 -1
  483. package/tools/sandbox/directory/create-sandbox-directory.mjs +27 -11
  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 +24 -6
  490. package/tools/sandbox/employment/update-sandbox-employment.js.map +1 -1
  491. package/tools/sandbox/employment/update-sandbox-employment.mjs +21 -6
  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 };
@@ -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.directory',
9
11
  operation: 'write',
10
12
  tags: [],
13
+ httpMethod: 'post',
14
+ httpPath: '/sandbox/directory',
15
+ operationId: 'post-sandbox-directory',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'create_sandbox_directory',
15
- description: 'Add new individuals to a sandbox company',
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\nAdd new individuals to a sandbox company\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/directory_create_response',\n $defs: {\n directory_create_response: {\n type: 'array',\n description: 'The individuals which were created',\n items: {\n type: 'object',\n additionalProperties: true\n }\n }\n }\n}\n```",
16
22
  inputSchema: {
17
23
  type: 'object',
18
24
  properties: {
@@ -39,9 +45,9 @@ export const tool: Tool = {
39
45
  },
40
46
  value: {
41
47
  type: 'object',
48
+ additionalProperties: true,
42
49
  },
43
50
  },
44
- required: [],
45
51
  },
46
52
  },
47
53
  department: {
@@ -53,7 +59,6 @@ export const tool: Tool = {
53
59
  description: 'The name of the department associated with the individual.',
54
60
  },
55
61
  },
56
- required: [],
57
62
  },
58
63
  dob: {
59
64
  type: 'string',
@@ -72,7 +77,6 @@ export const tool: Tool = {
72
77
  enum: ['work', 'personal'],
73
78
  },
74
79
  },
75
- required: [],
76
80
  },
77
81
  },
78
82
  employment: {
@@ -91,7 +95,6 @@ export const tool: Tool = {
91
95
  enum: ['employee', 'contractor'],
92
96
  },
93
97
  },
94
- required: [],
95
98
  },
96
99
  employment_status: {
97
100
  type: 'string',
@@ -165,7 +168,6 @@ export const tool: Tool = {
165
168
  description: 'A stable Finch `id` (UUID v4) for an individual in the company.',
166
169
  },
167
170
  },
168
- required: [],
169
171
  },
170
172
  middle_name: {
171
173
  type: 'string',
@@ -184,7 +186,6 @@ export const tool: Tool = {
184
186
  enum: ['work', 'personal'],
185
187
  },
186
188
  },
187
- required: [],
188
189
  },
189
190
  },
190
191
  preferred_name: {
@@ -212,10 +213,16 @@ export const tool: Tool = {
212
213
  description: 'The current title of the individual.',
213
214
  },
214
215
  },
215
- required: [],
216
216
  },
217
217
  },
218
+ jq_filter: {
219
+ type: 'string',
220
+ title: 'jq Filter',
221
+ description:
222
+ '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/).',
223
+ },
218
224
  },
225
+ required: [],
219
226
  $defs: {
220
227
  income: {
221
228
  type: 'object',
@@ -234,6 +241,7 @@ export const tool: Tool = {
234
241
  effective_date: {
235
242
  type: 'string',
236
243
  description: 'The date the income amount went into effect.',
244
+ format: 'date',
237
245
  },
238
246
  unit: {
239
247
  type: 'string',
@@ -293,11 +301,19 @@ export const tool: Tool = {
293
301
  },
294
302
  },
295
303
  },
304
+ annotations: {},
296
305
  };
297
306
 
298
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
299
- const body = args as any;
300
- return client.sandbox.directory.create(body['body']);
307
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
308
+ const { jq_filter, ...body } = args as any;
309
+ try {
310
+ return asTextContentResult(await maybeFilter(jq_filter, await client.sandbox.directory.create(body)));
311
+ } catch (error) {
312
+ if (error instanceof Finch.APIError || isJqError(error)) {
313
+ return asErrorResult(error.message);
314
+ }
315
+ throw error;
316
+ }
301
317
  };
302
318
 
303
319
  export default { metadata, tool, handler };