@tryfinch/finch-api-mcp 6.22.1

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 (463) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +247 -0
  3. package/index.d.mts +2 -0
  4. package/index.d.mts.map +1 -0
  5. package/index.d.ts +2 -0
  6. package/index.d.ts.map +1 -0
  7. package/index.js +162 -0
  8. package/index.js.map +1 -0
  9. package/index.mjs +156 -0
  10. package/index.mjs.map +1 -0
  11. package/package.json +50 -0
  12. package/server.d.mts +30 -0
  13. package/server.d.mts.map +1 -0
  14. package/server.d.ts +30 -0
  15. package/server.d.ts.map +1 -0
  16. package/server.js +77 -0
  17. package/server.js.map +1 -0
  18. package/server.mjs +67 -0
  19. package/server.mjs.map +1 -0
  20. package/src/index.ts +190 -0
  21. package/src/server.ts +89 -0
  22. package/src/tools/access-tokens/create-access-tokens.ts +40 -0
  23. package/src/tools/account/disconnect-account.ts +27 -0
  24. package/src/tools/account/introspect-account.ts +27 -0
  25. package/src/tools/connect/sessions/new-connect-sessions.ts +81 -0
  26. package/src/tools/connect/sessions/reauthenticate-connect-sessions.ts +58 -0
  27. package/src/tools/hris/benefits/create-hris-benefits.ts +67 -0
  28. package/src/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.ts +101 -0
  29. package/src/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.ts +31 -0
  30. package/src/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.ts +36 -0
  31. package/src/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.ts +38 -0
  32. package/src/tools/hris/benefits/list-hris-benefits.ts +27 -0
  33. package/src/tools/hris/benefits/list-supported-benefits-hris-benefits.ts +27 -0
  34. package/src/tools/hris/benefits/retrieve-hris-benefits.ts +31 -0
  35. package/src/tools/hris/benefits/update-hris-benefits.ts +35 -0
  36. package/src/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.ts +58 -0
  37. package/src/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.ts +78 -0
  38. package/src/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.ts +32 -0
  39. package/src/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.ts +28 -0
  40. package/src/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.ts +35 -0
  41. package/src/tools/hris/company/retrieve-hris-company.ts +27 -0
  42. package/src/tools/hris/directory/list-hris-directory.ts +36 -0
  43. package/src/tools/hris/directory/list-individuals-hris-directory.ts +36 -0
  44. package/src/tools/hris/documents/list-hris-documents.ts +53 -0
  45. package/src/tools/hris/documents/retreive-hris-documents.ts +32 -0
  46. package/src/tools/hris/employments/retrieve-many-hris-employments.ts +43 -0
  47. package/src/tools/hris/individuals/retrieve-many-hris-individuals.ts +52 -0
  48. package/src/tools/hris/pay-statements/retrieve-many-hris-pay-statements.ts +51 -0
  49. package/src/tools/hris/payments/list-hris-payments.ts +38 -0
  50. package/src/tools/index.ts +165 -0
  51. package/src/tools/jobs/automated/create-jobs-automated.ts +59 -0
  52. package/src/tools/jobs/automated/list-jobs-automated.ts +37 -0
  53. package/src/tools/jobs/automated/retrieve-jobs-automated.ts +31 -0
  54. package/src/tools/jobs/manual/retrieve-jobs-manual.ts +32 -0
  55. package/src/tools/payroll/pay-groups/list-payroll-pay-groups.ts +37 -0
  56. package/src/tools/payroll/pay-groups/retrieve-payroll-pay-groups.ts +31 -0
  57. package/src/tools/providers/list-providers.ts +27 -0
  58. package/src/tools/request-forwarding/forward-request-forwarding.ts +54 -0
  59. package/src/tools/sandbox/company/update-sandbox-company.ts +158 -0
  60. package/src/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.ts +48 -0
  61. package/src/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.ts +34 -0
  62. package/src/tools/sandbox/connections/create-sandbox-connections.ts +48 -0
  63. package/src/tools/sandbox/directory/create-sandbox-directory.ts +294 -0
  64. package/src/tools/sandbox/employment/update-sandbox-employment.ts +214 -0
  65. package/src/tools/sandbox/individual/update-sandbox-individual.ts +149 -0
  66. package/src/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.ts +27 -0
  67. package/src/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.ts +36 -0
  68. package/src/tools/sandbox/jobs/create-sandbox-jobs.ts +33 -0
  69. package/src/tools/sandbox/payment/create-sandbox-payment.ts +300 -0
  70. package/src/tools.ts +1 -0
  71. package/src/tsconfig.json +11 -0
  72. package/tools/access-tokens/create-access-tokens.d.mts +24 -0
  73. package/tools/access-tokens/create-access-tokens.d.mts.map +1 -0
  74. package/tools/access-tokens/create-access-tokens.d.ts +24 -0
  75. package/tools/access-tokens/create-access-tokens.d.ts.map +1 -0
  76. package/tools/access-tokens/create-access-tokens.js +37 -0
  77. package/tools/access-tokens/create-access-tokens.js.map +1 -0
  78. package/tools/access-tokens/create-access-tokens.mjs +33 -0
  79. package/tools/access-tokens/create-access-tokens.mjs.map +1 -0
  80. package/tools/account/disconnect-account.d.mts +24 -0
  81. package/tools/account/disconnect-account.d.mts.map +1 -0
  82. package/tools/account/disconnect-account.d.ts +24 -0
  83. package/tools/account/disconnect-account.d.ts.map +1 -0
  84. package/tools/account/disconnect-account.js +24 -0
  85. package/tools/account/disconnect-account.js.map +1 -0
  86. package/tools/account/disconnect-account.mjs +20 -0
  87. package/tools/account/disconnect-account.mjs.map +1 -0
  88. package/tools/account/introspect-account.d.mts +24 -0
  89. package/tools/account/introspect-account.d.mts.map +1 -0
  90. package/tools/account/introspect-account.d.ts +24 -0
  91. package/tools/account/introspect-account.d.ts.map +1 -0
  92. package/tools/account/introspect-account.js +24 -0
  93. package/tools/account/introspect-account.js.map +1 -0
  94. package/tools/account/introspect-account.mjs +20 -0
  95. package/tools/account/introspect-account.mjs.map +1 -0
  96. package/tools/connect/sessions/new-connect-sessions.d.mts +24 -0
  97. package/tools/connect/sessions/new-connect-sessions.d.mts.map +1 -0
  98. package/tools/connect/sessions/new-connect-sessions.d.ts +24 -0
  99. package/tools/connect/sessions/new-connect-sessions.d.ts.map +1 -0
  100. package/tools/connect/sessions/new-connect-sessions.js +78 -0
  101. package/tools/connect/sessions/new-connect-sessions.js.map +1 -0
  102. package/tools/connect/sessions/new-connect-sessions.mjs +74 -0
  103. package/tools/connect/sessions/new-connect-sessions.mjs.map +1 -0
  104. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts +24 -0
  105. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts.map +1 -0
  106. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts +24 -0
  107. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts.map +1 -0
  108. package/tools/connect/sessions/reauthenticate-connect-sessions.js +55 -0
  109. package/tools/connect/sessions/reauthenticate-connect-sessions.js.map +1 -0
  110. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs +51 -0
  111. package/tools/connect/sessions/reauthenticate-connect-sessions.mjs.map +1 -0
  112. package/tools/hris/benefits/create-hris-benefits.d.mts +24 -0
  113. package/tools/hris/benefits/create-hris-benefits.d.mts.map +1 -0
  114. package/tools/hris/benefits/create-hris-benefits.d.ts +24 -0
  115. package/tools/hris/benefits/create-hris-benefits.d.ts.map +1 -0
  116. package/tools/hris/benefits/create-hris-benefits.js +62 -0
  117. package/tools/hris/benefits/create-hris-benefits.js.map +1 -0
  118. package/tools/hris/benefits/create-hris-benefits.mjs +58 -0
  119. package/tools/hris/benefits/create-hris-benefits.mjs.map +1 -0
  120. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts +24 -0
  121. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts.map +1 -0
  122. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts +24 -0
  123. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts.map +1 -0
  124. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js +94 -0
  125. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.js.map +1 -0
  126. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs +90 -0
  127. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.mjs.map +1 -0
  128. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts +24 -0
  129. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts.map +1 -0
  130. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts +24 -0
  131. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts.map +1 -0
  132. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js +28 -0
  133. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.js.map +1 -0
  134. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs +24 -0
  135. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.mjs.map +1 -0
  136. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts +24 -0
  137. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts.map +1 -0
  138. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts +24 -0
  139. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts.map +1 -0
  140. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js +32 -0
  141. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.js.map +1 -0
  142. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs +28 -0
  143. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.mjs.map +1 -0
  144. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts +24 -0
  145. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts.map +1 -0
  146. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts +24 -0
  147. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts.map +1 -0
  148. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js +35 -0
  149. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.js.map +1 -0
  150. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs +31 -0
  151. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.mjs.map +1 -0
  152. package/tools/hris/benefits/list-hris-benefits.d.mts +24 -0
  153. package/tools/hris/benefits/list-hris-benefits.d.mts.map +1 -0
  154. package/tools/hris/benefits/list-hris-benefits.d.ts +24 -0
  155. package/tools/hris/benefits/list-hris-benefits.d.ts.map +1 -0
  156. package/tools/hris/benefits/list-hris-benefits.js +24 -0
  157. package/tools/hris/benefits/list-hris-benefits.js.map +1 -0
  158. package/tools/hris/benefits/list-hris-benefits.mjs +20 -0
  159. package/tools/hris/benefits/list-hris-benefits.mjs.map +1 -0
  160. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts +24 -0
  161. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts.map +1 -0
  162. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts +24 -0
  163. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts.map +1 -0
  164. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js +24 -0
  165. package/tools/hris/benefits/list-supported-benefits-hris-benefits.js.map +1 -0
  166. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs +20 -0
  167. package/tools/hris/benefits/list-supported-benefits-hris-benefits.mjs.map +1 -0
  168. package/tools/hris/benefits/retrieve-hris-benefits.d.mts +24 -0
  169. package/tools/hris/benefits/retrieve-hris-benefits.d.mts.map +1 -0
  170. package/tools/hris/benefits/retrieve-hris-benefits.d.ts +24 -0
  171. package/tools/hris/benefits/retrieve-hris-benefits.d.ts.map +1 -0
  172. package/tools/hris/benefits/retrieve-hris-benefits.js +28 -0
  173. package/tools/hris/benefits/retrieve-hris-benefits.js.map +1 -0
  174. package/tools/hris/benefits/retrieve-hris-benefits.mjs +24 -0
  175. package/tools/hris/benefits/retrieve-hris-benefits.mjs.map +1 -0
  176. package/tools/hris/benefits/update-hris-benefits.d.mts +24 -0
  177. package/tools/hris/benefits/update-hris-benefits.d.mts.map +1 -0
  178. package/tools/hris/benefits/update-hris-benefits.d.ts +24 -0
  179. package/tools/hris/benefits/update-hris-benefits.d.ts.map +1 -0
  180. package/tools/hris/benefits/update-hris-benefits.js +32 -0
  181. package/tools/hris/benefits/update-hris-benefits.js.map +1 -0
  182. package/tools/hris/benefits/update-hris-benefits.mjs +28 -0
  183. package/tools/hris/benefits/update-hris-benefits.mjs.map +1 -0
  184. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts +24 -0
  185. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts.map +1 -0
  186. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts +24 -0
  187. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts.map +1 -0
  188. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js +51 -0
  189. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.js.map +1 -0
  190. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs +47 -0
  191. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.mjs.map +1 -0
  192. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts +24 -0
  193. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts.map +1 -0
  194. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts +24 -0
  195. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts.map +1 -0
  196. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js +73 -0
  197. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.js.map +1 -0
  198. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs +69 -0
  199. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.mjs.map +1 -0
  200. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts +24 -0
  201. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts.map +1 -0
  202. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts +24 -0
  203. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts.map +1 -0
  204. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js +28 -0
  205. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.js.map +1 -0
  206. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs +24 -0
  207. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.mjs.map +1 -0
  208. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts +24 -0
  209. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts.map +1 -0
  210. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts +24 -0
  211. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts.map +1 -0
  212. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js +24 -0
  213. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.js.map +1 -0
  214. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs +20 -0
  215. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.mjs.map +1 -0
  216. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts +24 -0
  217. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts.map +1 -0
  218. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts +24 -0
  219. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts.map +1 -0
  220. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js +31 -0
  221. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.js.map +1 -0
  222. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs +27 -0
  223. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.mjs.map +1 -0
  224. package/tools/hris/company/retrieve-hris-company.d.mts +24 -0
  225. package/tools/hris/company/retrieve-hris-company.d.mts.map +1 -0
  226. package/tools/hris/company/retrieve-hris-company.d.ts +24 -0
  227. package/tools/hris/company/retrieve-hris-company.d.ts.map +1 -0
  228. package/tools/hris/company/retrieve-hris-company.js +24 -0
  229. package/tools/hris/company/retrieve-hris-company.js.map +1 -0
  230. package/tools/hris/company/retrieve-hris-company.mjs +20 -0
  231. package/tools/hris/company/retrieve-hris-company.mjs.map +1 -0
  232. package/tools/hris/directory/list-hris-directory.d.mts +24 -0
  233. package/tools/hris/directory/list-hris-directory.d.mts.map +1 -0
  234. package/tools/hris/directory/list-hris-directory.d.ts +24 -0
  235. package/tools/hris/directory/list-hris-directory.d.ts.map +1 -0
  236. package/tools/hris/directory/list-hris-directory.js +33 -0
  237. package/tools/hris/directory/list-hris-directory.js.map +1 -0
  238. package/tools/hris/directory/list-hris-directory.mjs +29 -0
  239. package/tools/hris/directory/list-hris-directory.mjs.map +1 -0
  240. package/tools/hris/directory/list-individuals-hris-directory.d.mts +24 -0
  241. package/tools/hris/directory/list-individuals-hris-directory.d.mts.map +1 -0
  242. package/tools/hris/directory/list-individuals-hris-directory.d.ts +24 -0
  243. package/tools/hris/directory/list-individuals-hris-directory.d.ts.map +1 -0
  244. package/tools/hris/directory/list-individuals-hris-directory.js +33 -0
  245. package/tools/hris/directory/list-individuals-hris-directory.js.map +1 -0
  246. package/tools/hris/directory/list-individuals-hris-directory.mjs +29 -0
  247. package/tools/hris/directory/list-individuals-hris-directory.mjs.map +1 -0
  248. package/tools/hris/documents/list-hris-documents.d.mts +24 -0
  249. package/tools/hris/documents/list-hris-documents.d.mts.map +1 -0
  250. package/tools/hris/documents/list-hris-documents.d.ts +24 -0
  251. package/tools/hris/documents/list-hris-documents.d.ts.map +1 -0
  252. package/tools/hris/documents/list-hris-documents.js +48 -0
  253. package/tools/hris/documents/list-hris-documents.js.map +1 -0
  254. package/tools/hris/documents/list-hris-documents.mjs +44 -0
  255. package/tools/hris/documents/list-hris-documents.mjs.map +1 -0
  256. package/tools/hris/documents/retreive-hris-documents.d.mts +24 -0
  257. package/tools/hris/documents/retreive-hris-documents.d.mts.map +1 -0
  258. package/tools/hris/documents/retreive-hris-documents.d.ts +24 -0
  259. package/tools/hris/documents/retreive-hris-documents.d.ts.map +1 -0
  260. package/tools/hris/documents/retreive-hris-documents.js +28 -0
  261. package/tools/hris/documents/retreive-hris-documents.js.map +1 -0
  262. package/tools/hris/documents/retreive-hris-documents.mjs +24 -0
  263. package/tools/hris/documents/retreive-hris-documents.mjs.map +1 -0
  264. package/tools/hris/employments/retrieve-many-hris-employments.d.mts +24 -0
  265. package/tools/hris/employments/retrieve-many-hris-employments.d.mts.map +1 -0
  266. package/tools/hris/employments/retrieve-many-hris-employments.d.ts +24 -0
  267. package/tools/hris/employments/retrieve-many-hris-employments.d.ts.map +1 -0
  268. package/tools/hris/employments/retrieve-many-hris-employments.js +39 -0
  269. package/tools/hris/employments/retrieve-many-hris-employments.js.map +1 -0
  270. package/tools/hris/employments/retrieve-many-hris-employments.mjs +35 -0
  271. package/tools/hris/employments/retrieve-many-hris-employments.mjs.map +1 -0
  272. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts +24 -0
  273. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts.map +1 -0
  274. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts +24 -0
  275. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts.map +1 -0
  276. package/tools/hris/individuals/retrieve-many-hris-individuals.js +49 -0
  277. package/tools/hris/individuals/retrieve-many-hris-individuals.js.map +1 -0
  278. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs +45 -0
  279. package/tools/hris/individuals/retrieve-many-hris-individuals.mjs.map +1 -0
  280. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts +24 -0
  281. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts.map +1 -0
  282. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts +24 -0
  283. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts.map +1 -0
  284. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js +47 -0
  285. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.js.map +1 -0
  286. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs +43 -0
  287. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.mjs.map +1 -0
  288. package/tools/hris/payments/list-hris-payments.d.mts +24 -0
  289. package/tools/hris/payments/list-hris-payments.d.mts.map +1 -0
  290. package/tools/hris/payments/list-hris-payments.d.ts +24 -0
  291. package/tools/hris/payments/list-hris-payments.d.ts.map +1 -0
  292. package/tools/hris/payments/list-hris-payments.js +35 -0
  293. package/tools/hris/payments/list-hris-payments.js.map +1 -0
  294. package/tools/hris/payments/list-hris-payments.mjs +31 -0
  295. package/tools/hris/payments/list-hris-payments.mjs.map +1 -0
  296. package/tools/index.d.mts +21 -0
  297. package/tools/index.d.mts.map +1 -0
  298. package/tools/index.d.ts +21 -0
  299. package/tools/index.d.ts.map +1 -0
  300. package/tools/index.js +140 -0
  301. package/tools/index.js.map +1 -0
  302. package/tools/index.mjs +133 -0
  303. package/tools/index.mjs.map +1 -0
  304. package/tools/jobs/automated/create-jobs-automated.d.mts +24 -0
  305. package/tools/jobs/automated/create-jobs-automated.d.mts.map +1 -0
  306. package/tools/jobs/automated/create-jobs-automated.d.ts +24 -0
  307. package/tools/jobs/automated/create-jobs-automated.d.ts.map +1 -0
  308. package/tools/jobs/automated/create-jobs-automated.js +55 -0
  309. package/tools/jobs/automated/create-jobs-automated.js.map +1 -0
  310. package/tools/jobs/automated/create-jobs-automated.mjs +51 -0
  311. package/tools/jobs/automated/create-jobs-automated.mjs.map +1 -0
  312. package/tools/jobs/automated/list-jobs-automated.d.mts +24 -0
  313. package/tools/jobs/automated/list-jobs-automated.d.mts.map +1 -0
  314. package/tools/jobs/automated/list-jobs-automated.d.ts +24 -0
  315. package/tools/jobs/automated/list-jobs-automated.d.ts.map +1 -0
  316. package/tools/jobs/automated/list-jobs-automated.js +33 -0
  317. package/tools/jobs/automated/list-jobs-automated.js.map +1 -0
  318. package/tools/jobs/automated/list-jobs-automated.mjs +29 -0
  319. package/tools/jobs/automated/list-jobs-automated.mjs.map +1 -0
  320. package/tools/jobs/automated/retrieve-jobs-automated.d.mts +24 -0
  321. package/tools/jobs/automated/retrieve-jobs-automated.d.mts.map +1 -0
  322. package/tools/jobs/automated/retrieve-jobs-automated.d.ts +24 -0
  323. package/tools/jobs/automated/retrieve-jobs-automated.d.ts.map +1 -0
  324. package/tools/jobs/automated/retrieve-jobs-automated.js +28 -0
  325. package/tools/jobs/automated/retrieve-jobs-automated.js.map +1 -0
  326. package/tools/jobs/automated/retrieve-jobs-automated.mjs +24 -0
  327. package/tools/jobs/automated/retrieve-jobs-automated.mjs.map +1 -0
  328. package/tools/jobs/manual/retrieve-jobs-manual.d.mts +24 -0
  329. package/tools/jobs/manual/retrieve-jobs-manual.d.mts.map +1 -0
  330. package/tools/jobs/manual/retrieve-jobs-manual.d.ts +24 -0
  331. package/tools/jobs/manual/retrieve-jobs-manual.d.ts.map +1 -0
  332. package/tools/jobs/manual/retrieve-jobs-manual.js +28 -0
  333. package/tools/jobs/manual/retrieve-jobs-manual.js.map +1 -0
  334. package/tools/jobs/manual/retrieve-jobs-manual.mjs +24 -0
  335. package/tools/jobs/manual/retrieve-jobs-manual.mjs.map +1 -0
  336. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts +24 -0
  337. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts.map +1 -0
  338. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts +24 -0
  339. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts.map +1 -0
  340. package/tools/payroll/pay-groups/list-payroll-pay-groups.js +34 -0
  341. package/tools/payroll/pay-groups/list-payroll-pay-groups.js.map +1 -0
  342. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs +30 -0
  343. package/tools/payroll/pay-groups/list-payroll-pay-groups.mjs.map +1 -0
  344. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts +24 -0
  345. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts.map +1 -0
  346. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts +24 -0
  347. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts.map +1 -0
  348. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js +28 -0
  349. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.js.map +1 -0
  350. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs +24 -0
  351. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.mjs.map +1 -0
  352. package/tools/providers/list-providers.d.mts +24 -0
  353. package/tools/providers/list-providers.d.mts.map +1 -0
  354. package/tools/providers/list-providers.d.ts +24 -0
  355. package/tools/providers/list-providers.d.ts.map +1 -0
  356. package/tools/providers/list-providers.js +24 -0
  357. package/tools/providers/list-providers.js.map +1 -0
  358. package/tools/providers/list-providers.mjs +20 -0
  359. package/tools/providers/list-providers.mjs.map +1 -0
  360. package/tools/request-forwarding/forward-request-forwarding.d.mts +24 -0
  361. package/tools/request-forwarding/forward-request-forwarding.d.mts.map +1 -0
  362. package/tools/request-forwarding/forward-request-forwarding.d.ts +24 -0
  363. package/tools/request-forwarding/forward-request-forwarding.d.ts.map +1 -0
  364. package/tools/request-forwarding/forward-request-forwarding.js +45 -0
  365. package/tools/request-forwarding/forward-request-forwarding.js.map +1 -0
  366. package/tools/request-forwarding/forward-request-forwarding.mjs +41 -0
  367. package/tools/request-forwarding/forward-request-forwarding.mjs.map +1 -0
  368. package/tools/sandbox/company/update-sandbox-company.d.mts +24 -0
  369. package/tools/sandbox/company/update-sandbox-company.d.mts.map +1 -0
  370. package/tools/sandbox/company/update-sandbox-company.d.ts +24 -0
  371. package/tools/sandbox/company/update-sandbox-company.d.ts.map +1 -0
  372. package/tools/sandbox/company/update-sandbox-company.js +154 -0
  373. package/tools/sandbox/company/update-sandbox-company.js.map +1 -0
  374. package/tools/sandbox/company/update-sandbox-company.mjs +150 -0
  375. package/tools/sandbox/company/update-sandbox-company.mjs.map +1 -0
  376. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts +24 -0
  377. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts.map +1 -0
  378. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts +24 -0
  379. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts.map +1 -0
  380. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js +44 -0
  381. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.js.map +1 -0
  382. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs +40 -0
  383. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.mjs.map +1 -0
  384. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts +24 -0
  385. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts.map +1 -0
  386. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts +24 -0
  387. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts.map +1 -0
  388. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js +30 -0
  389. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.js.map +1 -0
  390. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs +26 -0
  391. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.mjs.map +1 -0
  392. package/tools/sandbox/connections/create-sandbox-connections.d.mts +24 -0
  393. package/tools/sandbox/connections/create-sandbox-connections.d.mts.map +1 -0
  394. package/tools/sandbox/connections/create-sandbox-connections.d.ts +24 -0
  395. package/tools/sandbox/connections/create-sandbox-connections.d.ts.map +1 -0
  396. package/tools/sandbox/connections/create-sandbox-connections.js +44 -0
  397. package/tools/sandbox/connections/create-sandbox-connections.js.map +1 -0
  398. package/tools/sandbox/connections/create-sandbox-connections.mjs +40 -0
  399. package/tools/sandbox/connections/create-sandbox-connections.mjs.map +1 -0
  400. package/tools/sandbox/directory/create-sandbox-directory.d.mts +24 -0
  401. package/tools/sandbox/directory/create-sandbox-directory.d.mts.map +1 -0
  402. package/tools/sandbox/directory/create-sandbox-directory.d.ts +24 -0
  403. package/tools/sandbox/directory/create-sandbox-directory.d.ts.map +1 -0
  404. package/tools/sandbox/directory/create-sandbox-directory.js +284 -0
  405. package/tools/sandbox/directory/create-sandbox-directory.js.map +1 -0
  406. package/tools/sandbox/directory/create-sandbox-directory.mjs +280 -0
  407. package/tools/sandbox/directory/create-sandbox-directory.mjs.map +1 -0
  408. package/tools/sandbox/employment/update-sandbox-employment.d.mts +24 -0
  409. package/tools/sandbox/employment/update-sandbox-employment.d.mts.map +1 -0
  410. package/tools/sandbox/employment/update-sandbox-employment.d.ts +24 -0
  411. package/tools/sandbox/employment/update-sandbox-employment.d.ts.map +1 -0
  412. package/tools/sandbox/employment/update-sandbox-employment.js +207 -0
  413. package/tools/sandbox/employment/update-sandbox-employment.js.map +1 -0
  414. package/tools/sandbox/employment/update-sandbox-employment.mjs +203 -0
  415. package/tools/sandbox/employment/update-sandbox-employment.mjs.map +1 -0
  416. package/tools/sandbox/individual/update-sandbox-individual.d.mts +24 -0
  417. package/tools/sandbox/individual/update-sandbox-individual.d.mts.map +1 -0
  418. package/tools/sandbox/individual/update-sandbox-individual.d.ts +24 -0
  419. package/tools/sandbox/individual/update-sandbox-individual.d.ts.map +1 -0
  420. package/tools/sandbox/individual/update-sandbox-individual.js +144 -0
  421. package/tools/sandbox/individual/update-sandbox-individual.js.map +1 -0
  422. package/tools/sandbox/individual/update-sandbox-individual.mjs +140 -0
  423. package/tools/sandbox/individual/update-sandbox-individual.mjs.map +1 -0
  424. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts +24 -0
  425. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts.map +1 -0
  426. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts +24 -0
  427. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts.map +1 -0
  428. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js +24 -0
  429. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.js.map +1 -0
  430. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs +20 -0
  431. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.mjs.map +1 -0
  432. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts +24 -0
  433. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts.map +1 -0
  434. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts +24 -0
  435. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts.map +1 -0
  436. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js +33 -0
  437. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.js.map +1 -0
  438. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs +29 -0
  439. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.mjs.map +1 -0
  440. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts +24 -0
  441. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts.map +1 -0
  442. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts +24 -0
  443. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts.map +1 -0
  444. package/tools/sandbox/jobs/create-sandbox-jobs.js +30 -0
  445. package/tools/sandbox/jobs/create-sandbox-jobs.js.map +1 -0
  446. package/tools/sandbox/jobs/create-sandbox-jobs.mjs +26 -0
  447. package/tools/sandbox/jobs/create-sandbox-jobs.mjs.map +1 -0
  448. package/tools/sandbox/payment/create-sandbox-payment.d.mts +24 -0
  449. package/tools/sandbox/payment/create-sandbox-payment.d.mts.map +1 -0
  450. package/tools/sandbox/payment/create-sandbox-payment.d.ts +24 -0
  451. package/tools/sandbox/payment/create-sandbox-payment.d.ts.map +1 -0
  452. package/tools/sandbox/payment/create-sandbox-payment.js +292 -0
  453. package/tools/sandbox/payment/create-sandbox-payment.js.map +1 -0
  454. package/tools/sandbox/payment/create-sandbox-payment.mjs +288 -0
  455. package/tools/sandbox/payment/create-sandbox-payment.mjs.map +1 -0
  456. package/tools.d.mts +2 -0
  457. package/tools.d.mts.map +1 -0
  458. package/tools.d.ts +2 -0
  459. package/tools.d.ts.map +1 -0
  460. package/tools.js +18 -0
  461. package/tools.js.map +1 -0
  462. package/tools.mjs +2 -0
  463. package/tools.mjs.map +1 -0
package/index.mjs ADDED
@@ -0,0 +1,156 @@
1
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
+ import yargs from 'yargs';
3
+ import { hideBin } from 'yargs/helpers';
4
+ import { init, server } from "./server.mjs";
5
+ import { endpoints, query } from "./tools.mjs";
6
+ async function main() {
7
+ const opts = yargs(hideBin(process.argv))
8
+ .option('tool', {
9
+ type: 'string',
10
+ array: true,
11
+ description: 'Include tools matching the specified names',
12
+ })
13
+ .option('resource', {
14
+ type: 'string',
15
+ array: true,
16
+ description: 'Include tools matching the specified resources',
17
+ })
18
+ .option('operation', {
19
+ type: 'string',
20
+ array: true,
21
+ choices: ['read', 'write'],
22
+ description: 'Include tools matching the specified operations',
23
+ })
24
+ .option('tag', {
25
+ type: 'string',
26
+ array: true,
27
+ description: 'Include tools with the specified tags',
28
+ })
29
+ .option('no-tool', {
30
+ type: 'string',
31
+ array: true,
32
+ description: 'Exclude tools matching the specified names',
33
+ })
34
+ .option('no-resource', {
35
+ type: 'string',
36
+ array: true,
37
+ description: 'Exclude tools matching the specified resources',
38
+ })
39
+ .option('no-operation', {
40
+ type: 'string',
41
+ array: true,
42
+ description: 'Exclude tools matching the specified operations',
43
+ })
44
+ .option('no-tag', {
45
+ type: 'string',
46
+ array: true,
47
+ description: 'Exclude tools with the specified tags',
48
+ })
49
+ .option('list', {
50
+ type: 'boolean',
51
+ description: 'List all tools and exit',
52
+ })
53
+ .help();
54
+ for (const [command, desc] of examples()) {
55
+ opts.example(command, desc);
56
+ }
57
+ const argv = opts.parseSync();
58
+ if (argv.list) {
59
+ listAllTools();
60
+ return;
61
+ }
62
+ const filters = [];
63
+ for (const tag of argv.tag || []) {
64
+ filters.push({ type: 'tag', op: 'include', value: tag });
65
+ }
66
+ for (const tag of argv.noTag || []) {
67
+ filters.push({ type: 'tag', op: 'exclude', value: tag });
68
+ }
69
+ for (const resource of argv.resource || []) {
70
+ filters.push({ type: 'resource', op: 'include', value: resource });
71
+ }
72
+ for (const resource of argv.noResource || []) {
73
+ filters.push({ type: 'resource', op: 'exclude', value: resource });
74
+ }
75
+ for (const tool of argv.tool || []) {
76
+ filters.push({ type: 'tool', op: 'include', value: tool });
77
+ }
78
+ for (const tool of argv.noTool || []) {
79
+ filters.push({ type: 'tool', op: 'exclude', value: tool });
80
+ }
81
+ for (const operation of argv.operation || []) {
82
+ filters.push({ type: 'operation', op: 'include', value: operation });
83
+ }
84
+ for (const operation of argv.noOperation || []) {
85
+ filters.push({ type: 'operation', op: 'exclude', value: operation });
86
+ }
87
+ const filteredEndpoints = query(filters, endpoints);
88
+ if (filteredEndpoints.length === 0) {
89
+ console.error('No tools match the provided filters.');
90
+ process.exit(1);
91
+ }
92
+ console.error(`MCP Server starting with ${filteredEndpoints.length} tools:`, filteredEndpoints.map((e) => e.tool.name));
93
+ init({ server, endpoints: filteredEndpoints });
94
+ const transport = new StdioServerTransport();
95
+ await server.connect(transport);
96
+ console.error('MCP Server running on stdio');
97
+ }
98
+ if (require.main === module) {
99
+ main().catch((error) => {
100
+ console.error('Fatal error in main():', error);
101
+ process.exit(1);
102
+ });
103
+ }
104
+ function listAllTools() {
105
+ if (endpoints.length === 0) {
106
+ console.error('No tools available.');
107
+ return;
108
+ }
109
+ console.error('Available tools:\n');
110
+ // Group endpoints by resource
111
+ const resourceGroups = new Map();
112
+ for (const endpoint of endpoints) {
113
+ const resource = endpoint.metadata.resource;
114
+ if (!resourceGroups.has(resource)) {
115
+ resourceGroups.set(resource, []);
116
+ }
117
+ resourceGroups.get(resource).push(endpoint);
118
+ }
119
+ // Sort resources alphabetically
120
+ const sortedResources = Array.from(resourceGroups.keys()).sort();
121
+ // Display hierarchically by resource
122
+ for (const resource of sortedResources) {
123
+ console.error(`Resource: ${resource}`);
124
+ const resourceEndpoints = resourceGroups.get(resource);
125
+ // Sort endpoints by tool name
126
+ resourceEndpoints.sort((a, b) => a.tool.name.localeCompare(b.tool.name));
127
+ for (const endpoint of resourceEndpoints) {
128
+ const { tool, metadata: { operation, tags }, } = endpoint;
129
+ console.error(` - ${tool.name} (${operation}) ${tags.length > 0 ? `tags: ${tags.join(', ')}` : ''}`);
130
+ console.error(` Description: ${tool.description}`);
131
+ }
132
+ console.error('');
133
+ }
134
+ }
135
+ function examples() {
136
+ const firstEndpoint = endpoints[0];
137
+ const secondEndpoint = endpoints.find((e) => e.metadata.resource !== firstEndpoint.metadata.resource) || endpoints[1];
138
+ const tag = endpoints.find((e) => e.metadata.tags.length > 0)?.metadata.tags[0];
139
+ const otherEndpoint = secondEndpoint || firstEndpoint;
140
+ return [
141
+ [
142
+ `--tool="${firstEndpoint.tool.name}" ${secondEndpoint ? `--tool="${secondEndpoint.tool.name}"` : ''}`,
143
+ 'Include tools by name',
144
+ ],
145
+ [
146
+ `--resource="${firstEndpoint.metadata.resource}" --operation="read"`,
147
+ 'Filter by resource and operation',
148
+ ],
149
+ [
150
+ `--resource="${otherEndpoint.metadata.resource}*" --no-tool="${otherEndpoint.tool.name}"`,
151
+ 'Use resource wildcards and exclusions',
152
+ ],
153
+ ...(tag ? [[`--tag="${tag}"`, 'Filter based on tags']] : []),
154
+ ];
155
+ }
156
+ //# sourceMappingURL=index.mjs.map
package/index.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@tryfinch/finch-api-mcp",
3
+ "version": "6.22.1",
4
+ "description": "The official MCP Server for the Finch API",
5
+ "author": "Finch <founders@tryfinch.com>",
6
+ "types": "./index.d.ts",
7
+ "main": "./index.js",
8
+ "type": "commonjs",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/Finch-API/finch-api-node.git",
12
+ "directory": "packages/mcp-server"
13
+ },
14
+ "homepage": "https://github.com/Finch-API/finch-api-node/tree/main/packages/mcp-server#readme",
15
+ "license": "Apache-2.0",
16
+ "packageManager": "yarn@1.22.22",
17
+ "private": false,
18
+ "scripts": {
19
+ "test": "jest",
20
+ "build": "bash ./build",
21
+ "format": "prettier --write --cache --cache-strategy metadata . !dist",
22
+ "tsn": "ts-node -r tsconfig-paths/register",
23
+ "lint": "eslint --ext ts,js .",
24
+ "fix": "eslint --fix --ext ts,js ."
25
+ },
26
+ "dependencies": {
27
+ "@tryfinch/finch-api": "^6.22.1",
28
+ "@modelcontextprotocol/sdk": "^1.6.1",
29
+ "yargs": "^17.7.2"
30
+ },
31
+ "bin": {
32
+ "mcp-server": "./index.js"
33
+ },
34
+ "imports": {
35
+ "@tryfinch/finch-api-mcp": ".",
36
+ "@tryfinch/finch-api-mcp/*": "./src/*"
37
+ },
38
+ "exports": {
39
+ ".": {
40
+ "require": "./index.js",
41
+ "default": "./index.mjs"
42
+ },
43
+ "./*.mjs": "./*.mjs",
44
+ "./*.js": "./*.js",
45
+ "./*": {
46
+ "require": "./*.js",
47
+ "default": "./*.mjs"
48
+ }
49
+ }
50
+ }
package/server.d.mts ADDED
@@ -0,0 +1,30 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { HandlerFunction } from "./tools.mjs";
4
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ import Finch from '@tryfinch/finch-api';
6
+ export { endpoints } from "./tools.mjs";
7
+ export declare const server: McpServer;
8
+ /**
9
+ * Initializes the provided MCP Server with the given tools and handlers.
10
+ * If not provided, the default client, tools and handlers will be used.
11
+ */
12
+ export declare function init(params: {
13
+ server: Server | McpServer;
14
+ client?: Finch;
15
+ endpoints?: {
16
+ tool: Tool;
17
+ handler: HandlerFunction;
18
+ }[];
19
+ }): void;
20
+ /**
21
+ * Runs the provided handler with the given client and arguments.
22
+ */
23
+ export declare function executeHandler(handler: HandlerFunction, client: Finch, args: Record<string, unknown> | undefined): Promise<{
24
+ content: {
25
+ type: string;
26
+ text: string;
27
+ }[];
28
+ }>;
29
+ export declare const readEnv: (env: string) => string;
30
+ //# sourceMappingURL=server.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.mts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAa,eAAe,EAAE;OAC9B,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,KAAK,MAAM,qBAAqB;OAChC,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAUlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CACxD,QA0BA;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;;;;GAW1C;AAED,eAAO,MAAM,OAAO,QAAS,MAAM,KAAG,MAWrC,CAAC"}
package/server.d.ts ADDED
@@ -0,0 +1,30 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { HandlerFunction } from "./tools.js";
4
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ import Finch from '@tryfinch/finch-api';
6
+ export { endpoints } from "./tools.js";
7
+ export declare const server: McpServer;
8
+ /**
9
+ * Initializes the provided MCP Server with the given tools and handlers.
10
+ * If not provided, the default client, tools and handlers will be used.
11
+ */
12
+ export declare function init(params: {
13
+ server: Server | McpServer;
14
+ client?: Finch;
15
+ endpoints?: {
16
+ tool: Tool;
17
+ handler: HandlerFunction;
18
+ }[];
19
+ }): void;
20
+ /**
21
+ * Runs the provided handler with the given client and arguments.
22
+ */
23
+ export declare function executeHandler(handler: HandlerFunction, client: Finch, args: Record<string, unknown> | undefined): Promise<{
24
+ content: {
25
+ type: string;
26
+ text: string;
27
+ }[];
28
+ }>;
29
+ export declare const readEnv: (env: string) => string;
30
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAa,eAAe,EAAE;OAC9B,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,KAAK,MAAM,qBAAqB;OAChC,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAUlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CACxD,QA0BA;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;;;;GAW1C;AAED,eAAO,MAAM,OAAO,QAAS,MAAM,KAAG,MAWrC,CAAC"}
package/server.js ADDED
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.readEnv = exports.executeHandler = exports.init = exports.server = exports.endpoints = void 0;
8
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
9
+ const tools_1 = require("./tools.js");
10
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
11
+ const finch_api_1 = __importDefault(require("@tryfinch/finch-api"));
12
+ var tools_2 = require("./tools.js");
13
+ Object.defineProperty(exports, "endpoints", { enumerable: true, get: function () { return tools_2.endpoints; } });
14
+ // Create server instance
15
+ exports.server = new mcp_js_1.McpServer({
16
+ name: 'tryfinch_finch_api_api',
17
+ version: '6.22.1',
18
+ }, {
19
+ capabilities: {
20
+ tools: {},
21
+ },
22
+ });
23
+ /**
24
+ * Initializes the provided MCP Server with the given tools and handlers.
25
+ * If not provided, the default client, tools and handlers will be used.
26
+ */
27
+ function init(params) {
28
+ const server = params.server instanceof mcp_js_1.McpServer ? params.server.server : params.server;
29
+ const providedEndpoints = params.endpoints || tools_1.endpoints;
30
+ const tools = providedEndpoints.map((endpoint) => endpoint.tool);
31
+ const handlers = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint.handler]));
32
+ const client = params.client || new finch_api_1.default({});
33
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
34
+ return {
35
+ tools,
36
+ };
37
+ });
38
+ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
39
+ const { name, arguments: args } = request.params;
40
+ const handler = handlers[name];
41
+ if (!handler) {
42
+ throw new Error(`Unknown tool: ${name}`);
43
+ }
44
+ return executeHandler(handler, client, args);
45
+ });
46
+ }
47
+ exports.init = init;
48
+ /**
49
+ * Runs the provided handler with the given client and arguments.
50
+ */
51
+ async function executeHandler(handler, client, args) {
52
+ const result = await handler(client, args || {});
53
+ return {
54
+ content: [
55
+ {
56
+ type: 'text',
57
+ text: JSON.stringify(result, null, 2),
58
+ },
59
+ ],
60
+ };
61
+ }
62
+ exports.executeHandler = executeHandler;
63
+ const readEnv = (env) => {
64
+ let envValue = undefined;
65
+ if (typeof globalThis.process !== 'undefined') {
66
+ envValue = globalThis.process.env?.[env]?.trim();
67
+ }
68
+ else if (typeof globalThis.Deno !== 'undefined') {
69
+ envValue = globalThis.Deno.env?.get?.(env)?.trim();
70
+ }
71
+ if (envValue === undefined) {
72
+ throw new Error(`Environment variable ${env} is not set`);
73
+ }
74
+ return envValue;
75
+ };
76
+ exports.readEnv = readEnv;
77
+ //# sourceMappingURL=server.js.map
package/server.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
package/server.mjs ADDED
@@ -0,0 +1,67 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { endpoints } from "./tools.mjs";
4
+ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
5
+ import Finch from '@tryfinch/finch-api';
6
+ export { endpoints } from "./tools.mjs";
7
+ // Create server instance
8
+ export const server = new McpServer({
9
+ name: 'tryfinch_finch_api_api',
10
+ version: '6.22.1',
11
+ }, {
12
+ capabilities: {
13
+ tools: {},
14
+ },
15
+ });
16
+ /**
17
+ * Initializes the provided MCP Server with the given tools and handlers.
18
+ * If not provided, the default client, tools and handlers will be used.
19
+ */
20
+ export function init(params) {
21
+ const server = params.server instanceof McpServer ? params.server.server : params.server;
22
+ const providedEndpoints = params.endpoints || endpoints;
23
+ const tools = providedEndpoints.map((endpoint) => endpoint.tool);
24
+ const handlers = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint.handler]));
25
+ const client = params.client || new Finch({});
26
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
27
+ return {
28
+ tools,
29
+ };
30
+ });
31
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
32
+ const { name, arguments: args } = request.params;
33
+ const handler = handlers[name];
34
+ if (!handler) {
35
+ throw new Error(`Unknown tool: ${name}`);
36
+ }
37
+ return executeHandler(handler, client, args);
38
+ });
39
+ }
40
+ /**
41
+ * Runs the provided handler with the given client and arguments.
42
+ */
43
+ export async function executeHandler(handler, client, args) {
44
+ const result = await handler(client, args || {});
45
+ return {
46
+ content: [
47
+ {
48
+ type: 'text',
49
+ text: JSON.stringify(result, null, 2),
50
+ },
51
+ ],
52
+ };
53
+ }
54
+ export const readEnv = (env) => {
55
+ let envValue = undefined;
56
+ if (typeof globalThis.process !== 'undefined') {
57
+ envValue = globalThis.process.env?.[env]?.trim();
58
+ }
59
+ else if (typeof globalThis.Deno !== 'undefined') {
60
+ envValue = globalThis.Deno.env?.get?.(env)?.trim();
61
+ }
62
+ if (envValue === undefined) {
63
+ throw new Error(`Environment variable ${env} is not set`);
64
+ }
65
+ return envValue;
66
+ };
67
+ //# sourceMappingURL=server.mjs.map
package/server.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
package/src/index.ts ADDED
@@ -0,0 +1,190 @@
1
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
+ import yargs from 'yargs';
3
+ import { hideBin } from 'yargs/helpers';
4
+ import { init, server } from './server';
5
+ import { endpoints, Filter, query } from './tools';
6
+
7
+ async function main() {
8
+ const opts = yargs(hideBin(process.argv))
9
+ .option('tool', {
10
+ type: 'string',
11
+ array: true,
12
+ description: 'Include tools matching the specified names',
13
+ })
14
+ .option('resource', {
15
+ type: 'string',
16
+ array: true,
17
+ description: 'Include tools matching the specified resources',
18
+ })
19
+ .option('operation', {
20
+ type: 'string',
21
+ array: true,
22
+ choices: ['read', 'write'],
23
+ description: 'Include tools matching the specified operations',
24
+ })
25
+ .option('tag', {
26
+ type: 'string',
27
+ array: true,
28
+ description: 'Include tools with the specified tags',
29
+ })
30
+ .option('no-tool', {
31
+ type: 'string',
32
+ array: true,
33
+ description: 'Exclude tools matching the specified names',
34
+ })
35
+ .option('no-resource', {
36
+ type: 'string',
37
+ array: true,
38
+ description: 'Exclude tools matching the specified resources',
39
+ })
40
+ .option('no-operation', {
41
+ type: 'string',
42
+ array: true,
43
+ description: 'Exclude tools matching the specified operations',
44
+ })
45
+ .option('no-tag', {
46
+ type: 'string',
47
+ array: true,
48
+ description: 'Exclude tools with the specified tags',
49
+ })
50
+ .option('list', {
51
+ type: 'boolean',
52
+ description: 'List all tools and exit',
53
+ })
54
+ .help();
55
+
56
+ for (const [command, desc] of examples()) {
57
+ opts.example(command, desc);
58
+ }
59
+
60
+ const argv = opts.parseSync();
61
+
62
+ if (argv.list) {
63
+ listAllTools();
64
+ return;
65
+ }
66
+ const filters: Filter[] = [];
67
+
68
+ for (const tag of argv.tag || []) {
69
+ filters.push({ type: 'tag', op: 'include', value: tag });
70
+ }
71
+
72
+ for (const tag of argv.noTag || []) {
73
+ filters.push({ type: 'tag', op: 'exclude', value: tag });
74
+ }
75
+
76
+ for (const resource of argv.resource || []) {
77
+ filters.push({ type: 'resource', op: 'include', value: resource });
78
+ }
79
+
80
+ for (const resource of argv.noResource || []) {
81
+ filters.push({ type: 'resource', op: 'exclude', value: resource });
82
+ }
83
+
84
+ for (const tool of argv.tool || []) {
85
+ filters.push({ type: 'tool', op: 'include', value: tool });
86
+ }
87
+
88
+ for (const tool of argv.noTool || []) {
89
+ filters.push({ type: 'tool', op: 'exclude', value: tool });
90
+ }
91
+
92
+ for (const operation of argv.operation || []) {
93
+ filters.push({ type: 'operation', op: 'include', value: operation });
94
+ }
95
+
96
+ for (const operation of argv.noOperation || []) {
97
+ filters.push({ type: 'operation', op: 'exclude', value: operation });
98
+ }
99
+
100
+ const filteredEndpoints = query(filters, endpoints);
101
+
102
+ if (filteredEndpoints.length === 0) {
103
+ console.error('No tools match the provided filters.');
104
+ process.exit(1);
105
+ }
106
+
107
+ console.error(
108
+ `MCP Server starting with ${filteredEndpoints.length} tools:`,
109
+ filteredEndpoints.map((e) => e.tool.name),
110
+ );
111
+
112
+ init({ server, endpoints: filteredEndpoints });
113
+
114
+ const transport = new StdioServerTransport();
115
+ await server.connect(transport);
116
+ console.error('MCP Server running on stdio');
117
+ }
118
+
119
+ if (require.main === module) {
120
+ main().catch((error) => {
121
+ console.error('Fatal error in main():', error);
122
+ process.exit(1);
123
+ });
124
+ }
125
+
126
+ function listAllTools() {
127
+ if (endpoints.length === 0) {
128
+ console.error('No tools available.');
129
+ return;
130
+ }
131
+ console.error('Available tools:\n');
132
+
133
+ // Group endpoints by resource
134
+ const resourceGroups = new Map<string, typeof endpoints>();
135
+
136
+ for (const endpoint of endpoints) {
137
+ const resource = endpoint.metadata.resource;
138
+ if (!resourceGroups.has(resource)) {
139
+ resourceGroups.set(resource, []);
140
+ }
141
+ resourceGroups.get(resource)!.push(endpoint);
142
+ }
143
+
144
+ // Sort resources alphabetically
145
+ const sortedResources = Array.from(resourceGroups.keys()).sort();
146
+
147
+ // Display hierarchically by resource
148
+ for (const resource of sortedResources) {
149
+ console.error(`Resource: ${resource}`);
150
+
151
+ const resourceEndpoints = resourceGroups.get(resource)!;
152
+ // Sort endpoints by tool name
153
+ resourceEndpoints.sort((a, b) => a.tool.name.localeCompare(b.tool.name));
154
+
155
+ for (const endpoint of resourceEndpoints) {
156
+ const {
157
+ tool,
158
+ metadata: { operation, tags },
159
+ } = endpoint;
160
+
161
+ console.error(` - ${tool.name} (${operation}) ${tags.length > 0 ? `tags: ${tags.join(', ')}` : ''}`);
162
+ console.error(` Description: ${tool.description}`);
163
+ }
164
+ console.error('');
165
+ }
166
+ }
167
+
168
+ function examples(): [string, string][] {
169
+ const firstEndpoint = endpoints[0]!;
170
+ const secondEndpoint =
171
+ endpoints.find((e) => e.metadata.resource !== firstEndpoint.metadata.resource) || endpoints[1];
172
+ const tag = endpoints.find((e) => e.metadata.tags.length > 0)?.metadata.tags[0];
173
+ const otherEndpoint = secondEndpoint || firstEndpoint;
174
+
175
+ return [
176
+ [
177
+ `--tool="${firstEndpoint.tool.name}" ${secondEndpoint ? `--tool="${secondEndpoint.tool.name}"` : ''}`,
178
+ 'Include tools by name',
179
+ ],
180
+ [
181
+ `--resource="${firstEndpoint.metadata.resource}" --operation="read"`,
182
+ 'Filter by resource and operation',
183
+ ],
184
+ [
185
+ `--resource="${otherEndpoint.metadata.resource}*" --no-tool="${otherEndpoint.tool.name}"`,
186
+ 'Use resource wildcards and exclusions',
187
+ ],
188
+ ...(tag ? [[`--tag="${tag}"`, 'Filter based on tags'] as [string, string]] : []),
189
+ ];
190
+ }