@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,21 +1,34 @@
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: 'hris.individuals',
9
11
  operation: 'write',
10
12
  tags: [],
13
+ httpMethod: 'post',
14
+ httpPath: '/employer/individual',
15
+ operationId: 'get-individual',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'retrieve_many_hris_individuals',
15
- description: 'Read individual data, excluding income and employment 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\nRead individual data, excluding income and employment data\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n responses: {\n type: 'array',\n items: {\n $ref: '#/$defs/individual_response'\n }\n }\n },\n required: [ 'responses'\n ],\n $defs: {\n individual_response: {\n type: 'object',\n properties: {\n body: {\n $ref: '#/$defs/individual'\n },\n code: {\n type: 'integer'\n },\n individual_id: {\n type: 'string'\n }\n },\n required: [ 'body',\n 'code',\n 'individual_id'\n ]\n },\n individual: {\n anyOf: [ {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'A stable Finch `id` (UUID v4) for an individual in the company.'\n },\n dob: {\n type: 'string',\n title: 'Date'\n },\n ethnicity: {\n type: 'string',\n description: 'The EEOC-defined ethnicity of the individual.',\n enum: [ 'asian',\n 'white',\n 'black_or_african_american',\n 'native_hawaiian_or_pacific_islander',\n 'american_indian_or_alaska_native',\n 'hispanic_or_latino',\n 'two_or_more_races',\n 'decline_to_specify'\n ]\n },\n first_name: {\n type: 'string',\n description: 'The legal first name of the individual.'\n },\n gender: {\n type: 'string',\n description: 'The gender of the individual.',\n enum: [ 'female',\n 'male',\n 'other',\n 'decline_to_specify'\n ]\n },\n last_name: {\n type: 'string',\n description: 'The legal last name of the individual.'\n },\n middle_name: {\n type: 'string',\n description: 'The legal middle name of the individual.'\n },\n phone_numbers: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n data: {\n type: 'string'\n },\n type: {\n type: 'string',\n enum: [ 'work',\n 'personal'\n ]\n }\n },\n required: [ 'data',\n 'type'\n ]\n }\n },\n preferred_name: {\n type: 'string',\n description: 'The preferred name of the individual.'\n },\n residence: {\n $ref: '#/$defs/location'\n },\n emails: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n data: {\n type: 'string'\n },\n type: {\n type: 'string',\n enum: [ 'work',\n 'personal'\n ]\n }\n },\n required: [ 'data',\n 'type'\n ]\n }\n },\n encrypted_ssn: {\n type: 'string',\n description: 'Social Security Number of the individual in **encrypted** format. This field is only available with the `ssn` scope enabled and the `options: { include: [\\'ssn\\'] }` param set in the body.'\n },\n ssn: {\n type: 'string',\n description: 'Social Security Number of the individual. This field is only available with the `ssn` scope enabled and the `options: { include: [\\'ssn\\'] }` param set in the body. [Click here to learn more about enabling the SSN field](/developer-resources/Enable-SSN-Field).'\n }\n },\n required: [ 'id',\n 'dob',\n 'ethnicity',\n 'first_name',\n 'gender',\n 'last_name',\n 'middle_name',\n 'phone_numbers',\n 'preferred_name',\n 'residence'\n ]\n },\n {\n type: 'object',\n properties: {\n code: {\n type: 'number'\n },\n message: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n finch_code: {\n type: 'string'\n }\n },\n required: [ 'code',\n 'message',\n 'name'\n ]\n }\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: {
25
+ entity_ids: {
26
+ type: 'array',
27
+ description: "The entity IDs to specify which entities' data to access.",
28
+ items: {
29
+ type: 'string',
30
+ },
31
+ },
19
32
  options: {
20
33
  type: 'object',
21
34
  properties: {
@@ -26,7 +39,6 @@ export const tool: Tool = {
26
39
  },
27
40
  },
28
41
  },
29
- required: [],
30
42
  },
31
43
  requests: {
32
44
  type: 'array',
@@ -37,16 +49,31 @@ export const tool: Tool = {
37
49
  type: 'string',
38
50
  },
39
51
  },
40
- required: [],
41
52
  },
42
53
  },
54
+ jq_filter: {
55
+ type: 'string',
56
+ title: 'jq Filter',
57
+ description:
58
+ '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/).',
59
+ },
43
60
  },
61
+ required: [],
44
62
  },
63
+ annotations: {},
45
64
  };
46
65
 
47
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
48
- const body = args as any;
49
- return client.hris.individuals.retrieveMany(body);
66
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
67
+ const { jq_filter, ...body } = args as any;
68
+ const response = await client.hris.individuals.retrieveMany(body).asResponse();
69
+ try {
70
+ return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
71
+ } catch (error) {
72
+ if (error instanceof Finch.APIError || isJqError(error)) {
73
+ return asErrorResult(error.message);
74
+ }
75
+ throw error;
76
+ }
50
77
  };
51
78
 
52
79
  export default { metadata, tool, handler };
@@ -1,13 +1,17 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { Metadata, asErrorResult, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
4
+
3
5
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
4
- import type { Metadata } from '../../';
5
6
  import Finch from '@tryfinch/finch-api';
6
7
 
7
8
  export const metadata: Metadata = {
8
9
  resource: 'hris.pay_statements',
9
10
  operation: 'write',
10
11
  tags: [],
12
+ httpMethod: 'post',
13
+ httpPath: '/employer/pay-statement',
14
+ operationId: 'get-pay-statement',
11
15
  };
12
16
 
13
17
  export const tool: Tool = {
@@ -39,13 +43,30 @@ export const tool: Tool = {
39
43
  required: ['payment_id'],
40
44
  },
41
45
  },
46
+ entity_ids: {
47
+ type: 'array',
48
+ description: "The entity IDs to specify which entities' data to access.",
49
+ items: {
50
+ type: 'string',
51
+ },
52
+ },
42
53
  },
54
+ required: ['requests'],
43
55
  },
56
+ annotations: {},
44
57
  };
45
58
 
46
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
59
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
47
60
  const body = args as any;
48
- return client.hris.payStatements.retrieveMany(body);
61
+ const response = await client.hris.payStatements.retrieveMany(body).asResponse();
62
+ try {
63
+ return asTextContentResult(await response.json());
64
+ } catch (error) {
65
+ if (error instanceof Finch.APIError) {
66
+ return asErrorResult(error.message);
67
+ }
68
+ throw error;
69
+ }
49
70
  };
50
71
 
51
72
  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: 'hris.payments',
9
11
  operation: 'read',
10
12
  tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/employer/payment',
15
+ operationId: 'get-payment',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'list_hris_payments',
15
- description: 'Read payroll and contractor related payments by the 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\nRead payroll and contractor related payments by the company.\n\n# Response Schema\n```json\n{\n type: 'array',\n items: {\n $ref: '#/$defs/payment'\n },\n $defs: {\n payment: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'The unique id for the payment.'\n },\n company_debit: {\n $ref: '#/$defs/money'\n },\n debit_date: {\n type: 'string',\n title: 'Date'\n },\n employee_taxes: {\n $ref: '#/$defs/money'\n },\n employer_taxes: {\n $ref: '#/$defs/money'\n },\n gross_pay: {\n $ref: '#/$defs/money'\n },\n individual_ids: {\n type: 'array',\n description: 'Array of every individual on this payment.',\n items: {\n type: 'string'\n }\n },\n net_pay: {\n $ref: '#/$defs/money'\n },\n pay_date: {\n type: 'string',\n title: 'Date'\n },\n pay_frequencies: {\n type: 'array',\n description: 'List of pay frequencies associated with this payment.',\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 pay_group_ids: {\n type: 'array',\n description: 'Array of the Finch id (uuidv4) of every pay group associated with this payment.',\n items: {\n type: 'string'\n }\n },\n pay_period: {\n type: 'object',\n description: 'The pay period object.',\n properties: {\n end_date: {\n type: 'string',\n title: 'Date'\n },\n start_date: {\n type: 'string',\n title: 'Date'\n }\n },\n required: [ 'end_date',\n 'start_date'\n ]\n }\n },\n required: [ 'id',\n 'company_debit',\n 'debit_date',\n 'employee_taxes',\n 'employer_taxes',\n 'gross_pay',\n 'individual_ids',\n 'net_pay',\n 'pay_date',\n 'pay_frequencies',\n 'pay_group_ids',\n 'pay_period'\n ]\n },\n money: {\n type: 'object',\n title: 'Money',\n properties: {\n amount: {\n type: 'integer',\n description: 'Amount for money object (in cents)'\n },\n currency: {\n type: 'string'\n }\n },\n required: [ 'amount',\n 'currency'\n ]\n }\n }\n}\n```",
16
22
  inputSchema: {
17
23
  type: 'object',
18
24
  properties: {
@@ -26,13 +32,38 @@ export const tool: Tool = {
26
32
  description: 'The start date to retrieve payments by a company (inclusive) in `YYYY-MM-DD` format.',
27
33
  format: 'date',
28
34
  },
35
+ entity_ids: {
36
+ type: 'array',
37
+ description: "The entity IDs to specify which entities' data to access.",
38
+ items: {
39
+ type: 'string',
40
+ },
41
+ },
42
+ jq_filter: {
43
+ type: 'string',
44
+ title: 'jq Filter',
45
+ description:
46
+ '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/).',
47
+ },
29
48
  },
49
+ required: ['end_date', 'start_date'],
50
+ },
51
+ annotations: {
52
+ readOnlyHint: true,
30
53
  },
31
54
  };
32
55
 
33
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
34
- const body = args as any;
35
- return client.hris.payments.list(body);
56
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
57
+ const { jq_filter, ...body } = args as any;
58
+ const response = await client.hris.payments.list(body).asResponse();
59
+ try {
60
+ return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
61
+ } catch (error) {
62
+ if (error instanceof Finch.APIError || isJqError(error)) {
63
+ return asErrorResult(error.message);
64
+ }
65
+ throw error;
66
+ }
36
67
  };
37
68
 
38
69
  export default { metadata, tool, handler };
@@ -1,7 +1,8 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import Finch from '@tryfinch/finch-api';
4
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import { Metadata, Endpoint, HandlerFunction } from './types';
4
+
5
+ export { Metadata, Endpoint, HandlerFunction };
5
6
 
6
7
  import create_access_tokens from './access-tokens/create-access-tokens';
7
8
  import retrieve_hris_company from './hris/company/retrieve-hris-company';
@@ -11,7 +12,6 @@ import update_pay_statement_item_company_hris_rules from './hris/company/pay-sta
11
12
  import list_pay_statement_item_company_hris_rules from './hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules';
12
13
  import delete_pay_statement_item_company_hris_rules from './hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules';
13
14
  import list_hris_directory from './hris/directory/list-hris-directory';
14
- import list_individuals_hris_directory from './hris/directory/list-individuals-hris-directory';
15
15
  import retrieve_many_hris_individuals from './hris/individuals/retrieve-many-hris-individuals';
16
16
  import retrieve_many_hris_employments from './hris/employments/retrieve-many-hris-employments';
17
17
  import list_hris_payments from './hris/payments/list-hris-payments';
@@ -51,20 +51,6 @@ import list_payroll_pay_groups from './payroll/pay-groups/list-payroll-pay-group
51
51
  import new_connect_sessions from './connect/sessions/new-connect-sessions';
52
52
  import reauthenticate_connect_sessions from './connect/sessions/reauthenticate-connect-sessions';
53
53
 
54
- export type HandlerFunction = (client: Finch, args: Record<string, unknown> | undefined) => Promise<any>;
55
-
56
- export type Metadata = {
57
- resource: string;
58
- operation: 'read' | 'write';
59
- tags: string[];
60
- };
61
-
62
- export type Endpoint = {
63
- metadata: Metadata;
64
- tool: Tool;
65
- handler: HandlerFunction;
66
- };
67
-
68
54
  export const endpoints: Endpoint[] = [];
69
55
 
70
56
  function addEndpoint(endpoint: Endpoint) {
@@ -79,7 +65,6 @@ addEndpoint(update_pay_statement_item_company_hris_rules);
79
65
  addEndpoint(list_pay_statement_item_company_hris_rules);
80
66
  addEndpoint(delete_pay_statement_item_company_hris_rules);
81
67
  addEndpoint(list_hris_directory);
82
- addEndpoint(list_individuals_hris_directory);
83
68
  addEndpoint(retrieve_many_hris_individuals);
84
69
  addEndpoint(retrieve_many_hris_employments);
85
70
  addEndpoint(list_hris_payments);
@@ -143,9 +128,10 @@ export function query(filters: Filter[], endpoints: Endpoint[]): Endpoint[] {
143
128
  });
144
129
 
145
130
  // Check if any filters didn't match
146
- if (unmatchedFilters.size > 0) {
131
+ const unmatched = Array.from(unmatchedFilters).filter((f) => f.type === 'tool' || f.type === 'resource');
132
+ if (unmatched.length > 0) {
147
133
  throw new Error(
148
- `The following filters did not match any endpoints: ${[...unmatchedFilters]
134
+ `The following filters did not match any endpoints: ${unmatched
149
135
  .map((f) => `${f.type}=${f.value}`)
150
136
  .join(', ')}`,
151
137
  );
@@ -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: 'jobs.automated',
9
11
  operation: 'write',
10
12
  tags: [],
13
+ httpMethod: 'post',
14
+ httpPath: '/jobs/automated',
15
+ operationId: 'post-jobs-automated',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'create_jobs_automated',
15
20
  description:
16
- 'Enqueue an automated job.\n\n`data_sync_all`: Enqueue a job to re-sync all data for a connection. `data_sync_all` has a concurrency limit of 1 job at a time per connection. This means that if this endpoint is called while a job is already in progress for this connection, Finch will return the `job_id` of the job that is currently in progress. Finch allows a fixed window rate limit of 1 forced refresh per hour per connection.\n\n`w4_form_employee_sync`: Enqueues a job for sync W-4 data for a particular individual, identified by `individual_id`. This feature is currently in beta.\n\nThis endpoint is available for *Scale* tier customers as an add-on. To request access to this endpoint, please contact your Finch account manager.',
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\nEnqueue an automated job.\n\n`data_sync_all`: Enqueue a job to re-sync all data for a connection. `data_sync_all` has a concurrency limit of 1 job at a time per connection. This means that if this endpoint is called while a job is already in progress for this connection, Finch will return the `job_id` of the job that is currently in progress. Finch allows a fixed window rate limit of 1 forced refresh per hour per connection.\n\n`w4_form_employee_sync`: Enqueues a job for sync W-4 data for a particular individual, identified by `individual_id`. This feature is currently in beta.\n\nThis endpoint is available for *Scale* tier customers as an add-on. To request access to this endpoint, please contact your Finch account manager.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/automated_create_response',\n $defs: {\n automated_create_response: {\n type: 'object',\n properties: {\n allowed_refreshes: {\n type: 'integer',\n description: 'The number of allowed refreshes per hour (per hour, fixed window)'\n },\n remaining_refreshes: {\n type: 'integer',\n description: 'The number of remaining refreshes available (per hour, fixed window)'\n },\n job_id: {\n type: 'string',\n description: 'The id of the job that has been created.'\n },\n job_url: {\n type: 'string',\n description: 'The url that can be used to retrieve the job status'\n },\n retry_at: {\n type: 'string',\n description: 'ISO 8601 timestamp indicating when to retry the request'\n }\n },\n required: [ 'allowed_refreshes',\n 'remaining_refreshes'\n ]\n }\n }\n}\n```",
17
22
  inputSchema: {
18
23
  type: 'object',
19
24
  anyOf: [
@@ -26,6 +31,7 @@ export const tool: Tool = {
26
31
  enum: ['data_sync_all'],
27
32
  },
28
33
  },
34
+ required: ['type'],
29
35
  },
30
36
  {
31
37
  type: 'object',
@@ -46,14 +52,31 @@ export const tool: Tool = {
46
52
  enum: ['w4_form_employee_sync'],
47
53
  },
48
54
  },
55
+ required: ['params', 'type'],
49
56
  },
50
57
  ],
58
+ properties: {
59
+ jq_filter: {
60
+ type: 'string',
61
+ title: 'jq Filter',
62
+ description:
63
+ '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/).',
64
+ },
65
+ },
51
66
  },
67
+ annotations: {},
52
68
  };
53
69
 
54
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
55
- const body = args as any;
56
- return client.jobs.automated.create(body);
70
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
71
+ const { jq_filter, ...body } = args as any;
72
+ try {
73
+ return asTextContentResult(await maybeFilter(jq_filter, await client.jobs.automated.create(body)));
74
+ } catch (error) {
75
+ if (error instanceof Finch.APIError || isJqError(error)) {
76
+ return asErrorResult(error.message);
77
+ }
78
+ throw error;
79
+ }
57
80
  };
58
81
 
59
82
  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: 'jobs.automated',
9
11
  operation: 'read',
10
12
  tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/jobs/automated',
15
+ operationId: 'get-jobs-automated',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'list_jobs_automated',
15
20
  description:
16
- 'Get all automated jobs. Automated jobs are completed by a machine. By default, jobs are sorted in descending order by submission time. For scheduled jobs such as data syncs, only the next scheduled job is shown.',
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\nGet all automated jobs. Automated jobs are completed by a machine. By default, jobs are sorted in descending order by submission time. For scheduled jobs such as data syncs, only the next scheduled job is shown.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/automated_list_response',\n $defs: {\n automated_list_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/automated_async_job'\n }\n },\n meta: {\n type: 'object',\n properties: {\n quotas: {\n type: 'object',\n description: 'Information about remaining quotas for this connection. Only applicable for customers opted in to use Finch\\'s Data Sync Refresh endpoint (`POST /jobs/automated`). Please contact a Finch representative for more details.',\n properties: {\n data_sync_all: {\n type: 'object',\n properties: {\n allowed_refreshes: {\n type: 'integer'\n },\n remaining_refreshes: {\n type: 'integer'\n }\n }\n }\n }\n }\n }\n }\n },\n required: [ 'data',\n 'meta'\n ]\n },\n automated_async_job: {\n type: 'object',\n title: 'AutomatedAsyncJob',\n properties: {\n completed_at: {\n type: 'string',\n description: 'The datetime the job completed.',\n format: 'date-time'\n },\n created_at: {\n type: 'string',\n description: 'The datetime when the job was created. for scheduled jobs, this will be the initial connection time. For ad-hoc jobs, this will be the time the creation request was received.',\n format: 'date-time'\n },\n job_id: {\n type: 'string',\n description: 'The id of the job that has been created.'\n },\n job_url: {\n type: 'string',\n description: 'The url that can be used to retrieve the job status'\n },\n params: {\n type: 'object',\n description: 'The input parameters for the job.',\n properties: {\n individual_id: {\n type: 'string',\n description: 'The ID of the individual that the job was completed for.'\n }\n }\n },\n scheduled_at: {\n type: 'string',\n description: 'The datetime a job is scheduled to be run. For scheduled jobs, this datetime can be in the future if the job has not yet been enqueued. For ad-hoc jobs, this field will be null.',\n format: 'date-time'\n },\n started_at: {\n type: 'string',\n description: 'The datetime a job entered into the job queue.',\n format: 'date-time'\n },\n status: {\n type: 'string',\n enum: [ 'pending',\n 'in_progress',\n 'complete',\n 'error',\n 'reauth_error',\n 'permissions_error'\n ]\n },\n type: {\n type: 'string',\n description: 'The type of automated job',\n enum: [ 'data_sync_all',\n 'w4_form_employee_sync'\n ]\n }\n },\n required: [ 'completed_at',\n 'created_at',\n 'job_id',\n 'job_url',\n 'params',\n 'scheduled_at',\n 'started_at',\n 'status',\n 'type'\n ]\n }\n }\n}\n```",
17
22
  inputSchema: {
18
23
  type: 'object',
19
24
  properties: {
@@ -25,13 +30,30 @@ export const tool: Tool = {
25
30
  type: 'integer',
26
31
  description: 'Index to start from (defaults to 0)',
27
32
  },
33
+ jq_filter: {
34
+ type: 'string',
35
+ title: 'jq Filter',
36
+ description:
37
+ '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/).',
38
+ },
28
39
  },
40
+ required: [],
41
+ },
42
+ annotations: {
43
+ readOnlyHint: true,
29
44
  },
30
45
  };
31
46
 
32
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
33
- const body = args as any;
34
- return client.jobs.automated.list(body);
47
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
48
+ const { jq_filter, ...body } = args as any;
49
+ try {
50
+ return asTextContentResult(await maybeFilter(jq_filter, await client.jobs.automated.list(body)));
51
+ } catch (error) {
52
+ if (error instanceof Finch.APIError || isJqError(error)) {
53
+ return asErrorResult(error.message);
54
+ }
55
+ throw error;
56
+ }
35
57
  };
36
58
 
37
59
  export default { metadata, tool, handler };
@@ -1,31 +1,54 @@
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: 'jobs.automated',
9
11
  operation: 'read',
10
12
  tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/jobs/automated/{job_id}',
15
+ operationId: 'get-jobs-job_id',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'retrieve_jobs_automated',
15
- description: 'Get an automated job by `job_id`.',
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\nGet an automated job by `job_id`.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/automated_async_job',\n $defs: {\n automated_async_job: {\n type: 'object',\n title: 'AutomatedAsyncJob',\n properties: {\n completed_at: {\n type: 'string',\n description: 'The datetime the job completed.',\n format: 'date-time'\n },\n created_at: {\n type: 'string',\n description: 'The datetime when the job was created. for scheduled jobs, this will be the initial connection time. For ad-hoc jobs, this will be the time the creation request was received.',\n format: 'date-time'\n },\n job_id: {\n type: 'string',\n description: 'The id of the job that has been created.'\n },\n job_url: {\n type: 'string',\n description: 'The url that can be used to retrieve the job status'\n },\n params: {\n type: 'object',\n description: 'The input parameters for the job.',\n properties: {\n individual_id: {\n type: 'string',\n description: 'The ID of the individual that the job was completed for.'\n }\n }\n },\n scheduled_at: {\n type: 'string',\n description: 'The datetime a job is scheduled to be run. For scheduled jobs, this datetime can be in the future if the job has not yet been enqueued. For ad-hoc jobs, this field will be null.',\n format: 'date-time'\n },\n started_at: {\n type: 'string',\n description: 'The datetime a job entered into the job queue.',\n format: 'date-time'\n },\n status: {\n type: 'string',\n enum: [ 'pending',\n 'in_progress',\n 'complete',\n 'error',\n 'reauth_error',\n 'permissions_error'\n ]\n },\n type: {\n type: 'string',\n description: 'The type of automated job',\n enum: [ 'data_sync_all',\n 'w4_form_employee_sync'\n ]\n }\n },\n required: [ 'completed_at',\n 'created_at',\n 'job_id',\n 'job_url',\n 'params',\n 'scheduled_at',\n 'started_at',\n 'status',\n 'type'\n ]\n }\n }\n}\n```",
16
22
  inputSchema: {
17
23
  type: 'object',
18
24
  properties: {
19
25
  job_id: {
20
26
  type: 'string',
21
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
+ },
22
34
  },
35
+ required: ['job_id'],
36
+ },
37
+ annotations: {
38
+ readOnlyHint: true,
23
39
  },
24
40
  };
25
41
 
26
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
27
- const { job_id, ...body } = args as any;
28
- return client.jobs.automated.retrieve(job_id);
42
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
43
+ const { job_id, jq_filter, ...body } = args as any;
44
+ try {
45
+ return asTextContentResult(await maybeFilter(jq_filter, await client.jobs.automated.retrieve(job_id)));
46
+ } catch (error) {
47
+ if (error instanceof Finch.APIError || isJqError(error)) {
48
+ return asErrorResult(error.message);
49
+ }
50
+ throw error;
51
+ }
29
52
  };
30
53
 
31
54
  export default { metadata, tool, handler };
@@ -1,32 +1,54 @@
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: 'jobs.manual',
9
11
  operation: 'read',
10
12
  tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/jobs/manual/{job_id}',
15
+ operationId: 'get-jobs-manual-job_id',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'retrieve_jobs_manual',
15
20
  description:
16
- 'Get a manual job by `job_id`. Manual jobs are completed by a human and include Assisted Benefits jobs.',
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\nGet a manual job by `job_id`. Manual jobs are completed by a human and include Assisted Benefits jobs.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/manual_async_job',\n $defs: {\n manual_async_job: {\n type: 'object',\n title: 'ManualAsyncJob',\n properties: {\n body: {\n type: 'array',\n description: 'Specific information about the job, such as individual statuses for batch jobs.',\n items: {\n type: 'object',\n additionalProperties: true\n }\n },\n job_id: {\n type: 'string'\n },\n status: {\n type: 'string',\n enum: [ 'pending',\n 'in_progress',\n 'error',\n 'complete'\n ]\n }\n },\n required: [ 'body',\n 'job_id',\n 'status'\n ]\n }\n }\n}\n```",
17
22
  inputSchema: {
18
23
  type: 'object',
19
24
  properties: {
20
25
  job_id: {
21
26
  type: 'string',
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: ['job_id'],
36
+ },
37
+ annotations: {
38
+ readOnlyHint: true,
24
39
  },
25
40
  };
26
41
 
27
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
28
- const { job_id, ...body } = args as any;
29
- return client.jobs.manual.retrieve(job_id);
42
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
43
+ const { job_id, jq_filter, ...body } = args as any;
44
+ try {
45
+ return asTextContentResult(await maybeFilter(jq_filter, await client.jobs.manual.retrieve(job_id)));
46
+ } catch (error) {
47
+ if (error instanceof Finch.APIError || isJqError(error)) {
48
+ return asErrorResult(error.message);
49
+ }
50
+ throw error;
51
+ }
30
52
  };
31
53
 
32
54
  export default { metadata, tool, handler };
@@ -1,21 +1,34 @@
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',
15
+ operationId: 'get-all-pay-groups',
11
16
  };
12
17
 
13
18
  export const tool: Tool = {
14
19
  name: 'list_payroll_pay_groups',
15
- description: 'Read company pay groups and frequencies',
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 company pay groups and frequencies\n\n# Response Schema\n```json\n{\n type: 'array',\n items: {\n $ref: '#/$defs/pay_group_list_response'\n },\n $defs: {\n pay_group_list_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'Finch id (uuidv4) for the pay group'\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 'name',\n 'pay_frequencies'\n ]\n }\n }\n}\n```",
16
22
  inputSchema: {
17
23
  type: 'object',
18
24
  properties: {
25
+ entity_ids: {
26
+ type: 'array',
27
+ description: "The entity IDs to specify which entities' data to access.",
28
+ items: {
29
+ type: 'string',
30
+ },
31
+ },
19
32
  individual_id: {
20
33
  type: 'string',
21
34
  },
@@ -25,13 +38,31 @@ export const tool: Tool = {
25
38
  type: 'string',
26
39
  },
27
40
  },
41
+ jq_filter: {
42
+ type: 'string',
43
+ title: 'jq Filter',
44
+ description:
45
+ '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/).',
46
+ },
28
47
  },
48
+ required: [],
49
+ },
50
+ annotations: {
51
+ readOnlyHint: true,
29
52
  },
30
53
  };
31
54
 
32
- export const handler = (client: Finch, args: Record<string, unknown> | undefined) => {
33
- const body = args as any;
34
- return client.payroll.payGroups.list(body);
55
+ export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {
56
+ const { jq_filter, ...body } = args as any;
57
+ const response = await client.payroll.payGroups.list(body).asResponse();
58
+ try {
59
+ return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
60
+ } catch (error) {
61
+ if (error instanceof Finch.APIError || isJqError(error)) {
62
+ return asErrorResult(error.message);
63
+ }
64
+ throw error;
65
+ }
35
66
  };
36
67
 
37
68
  export default { metadata, tool, handler };