dodopayments-mcp 1.37.2 → 1.38.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 (419) hide show
  1. package/filtering.d.mts +2 -0
  2. package/filtering.d.mts.map +1 -0
  3. package/filtering.d.ts +2 -0
  4. package/filtering.d.ts.map +1 -0
  5. package/filtering.js +17 -0
  6. package/filtering.js.map +1 -0
  7. package/filtering.mjs +14 -0
  8. package/filtering.mjs.map +1 -0
  9. package/package.json +3 -2
  10. package/server.js +1 -1
  11. package/server.mjs +1 -1
  12. package/src/filtering.ts +13 -0
  13. package/src/server.ts +1 -1
  14. package/src/tools/addons/create-addons.ts +10 -2
  15. package/src/tools/addons/list-addons.ts +11 -2
  16. package/src/tools/addons/retrieve-addons.ts +10 -2
  17. package/src/tools/addons/update-addons.ts +10 -2
  18. package/src/tools/addons/update-images-addons.ts +10 -2
  19. package/src/tools/brands/create-brands.ts +10 -2
  20. package/src/tools/brands/list-brands.ts +12 -3
  21. package/src/tools/brands/retrieve-brands.ts +10 -2
  22. package/src/tools/brands/update-brands.ts +10 -2
  23. package/src/tools/brands/update-images-brands.ts +10 -2
  24. package/src/tools/customers/create-customers.ts +10 -2
  25. package/src/tools/customers/customer-portal/create-customers-customer-portal.ts +12 -2
  26. package/src/tools/customers/list-customers.ts +11 -2
  27. package/src/tools/customers/retrieve-customers.ts +10 -2
  28. package/src/tools/customers/update-customers.ts +10 -2
  29. package/src/tools/discounts/create-discounts.ts +9 -2
  30. package/src/tools/discounts/delete-discounts.ts +8 -1
  31. package/src/tools/discounts/list-discounts.ts +11 -2
  32. package/src/tools/discounts/retrieve-discounts.ts +10 -2
  33. package/src/tools/discounts/update-discounts.ts +10 -2
  34. package/src/tools/disputes/list-disputes.ts +11 -2
  35. package/src/tools/disputes/retrieve-disputes.ts +10 -2
  36. package/src/tools/invoices/payments/retrieve-invoices-payments.ts +8 -1
  37. package/src/tools/license-key-instances/list-license-key-instances.ts +11 -2
  38. package/src/tools/license-key-instances/retrieve-license-key-instances.ts +10 -2
  39. package/src/tools/license-key-instances/update-license-key-instances.ts +10 -2
  40. package/src/tools/license-keys/list-license-keys.ts +11 -2
  41. package/src/tools/license-keys/retrieve-license-keys.ts +10 -2
  42. package/src/tools/license-keys/update-license-keys.ts +10 -2
  43. package/src/tools/licenses/activate-licenses.ts +10 -2
  44. package/src/tools/licenses/deactivate-licenses.ts +8 -1
  45. package/src/tools/licenses/validate-licenses.ts +10 -2
  46. package/src/tools/misc/list-supported-countries-misc.ts +12 -3
  47. package/src/tools/payments/create-payments.ts +2 -1
  48. package/src/tools/payments/list-payments.ts +11 -2
  49. package/src/tools/payments/retrieve-line-items-payments.ts +10 -2
  50. package/src/tools/payments/retrieve-payments.ts +2 -1
  51. package/src/tools/payouts/list-payouts.ts +11 -2
  52. package/src/tools/products/create-products.ts +2 -1
  53. package/src/tools/products/delete-products.ts +8 -1
  54. package/src/tools/products/images/update-products-images.ts +10 -2
  55. package/src/tools/products/list-products.ts +4 -2
  56. package/src/tools/products/retrieve-products.ts +2 -1
  57. package/src/tools/products/unarchive-products.ts +8 -1
  58. package/src/tools/products/update-files-products.ts +10 -2
  59. package/src/tools/products/update-products.ts +8 -1
  60. package/src/tools/refunds/create-refunds.ts +10 -2
  61. package/src/tools/refunds/list-refunds.ts +11 -2
  62. package/src/tools/refunds/retrieve-refunds.ts +10 -2
  63. package/src/tools/subscriptions/change-plan-subscriptions.ts +8 -1
  64. package/src/tools/subscriptions/charge-subscriptions.ts +12 -2
  65. package/src/tools/subscriptions/create-subscriptions.ts +2 -1
  66. package/src/tools/subscriptions/list-subscriptions.ts +4 -2
  67. package/src/tools/subscriptions/retrieve-subscriptions.ts +2 -1
  68. package/src/tools/subscriptions/update-subscriptions.ts +2 -1
  69. package/src/tools/types.ts +1 -1
  70. package/src/tools/webhook-events/list-webhook-events.ts +11 -2
  71. package/src/tools/webhook-events/retrieve-webhook-events.ts +10 -2
  72. package/tools/addons/create-addons.d.mts.map +1 -1
  73. package/tools/addons/create-addons.d.ts.map +1 -1
  74. package/tools/addons/create-addons.js +8 -2
  75. package/tools/addons/create-addons.js.map +1 -1
  76. package/tools/addons/create-addons.mjs +8 -2
  77. package/tools/addons/create-addons.mjs.map +1 -1
  78. package/tools/addons/list-addons.d.mts.map +1 -1
  79. package/tools/addons/list-addons.d.ts.map +1 -1
  80. package/tools/addons/list-addons.js +9 -2
  81. package/tools/addons/list-addons.js.map +1 -1
  82. package/tools/addons/list-addons.mjs +9 -2
  83. package/tools/addons/list-addons.mjs.map +1 -1
  84. package/tools/addons/retrieve-addons.d.mts.map +1 -1
  85. package/tools/addons/retrieve-addons.d.ts.map +1 -1
  86. package/tools/addons/retrieve-addons.js +8 -2
  87. package/tools/addons/retrieve-addons.js.map +1 -1
  88. package/tools/addons/retrieve-addons.mjs +8 -2
  89. package/tools/addons/retrieve-addons.mjs.map +1 -1
  90. package/tools/addons/update-addons.d.mts.map +1 -1
  91. package/tools/addons/update-addons.d.ts.map +1 -1
  92. package/tools/addons/update-addons.js +8 -2
  93. package/tools/addons/update-addons.js.map +1 -1
  94. package/tools/addons/update-addons.mjs +8 -2
  95. package/tools/addons/update-addons.mjs.map +1 -1
  96. package/tools/addons/update-images-addons.d.mts.map +1 -1
  97. package/tools/addons/update-images-addons.d.ts.map +1 -1
  98. package/tools/addons/update-images-addons.js +8 -2
  99. package/tools/addons/update-images-addons.js.map +1 -1
  100. package/tools/addons/update-images-addons.mjs +8 -2
  101. package/tools/addons/update-images-addons.mjs.map +1 -1
  102. package/tools/brands/create-brands.d.mts.map +1 -1
  103. package/tools/brands/create-brands.d.ts.map +1 -1
  104. package/tools/brands/create-brands.js +8 -2
  105. package/tools/brands/create-brands.js.map +1 -1
  106. package/tools/brands/create-brands.mjs +8 -2
  107. package/tools/brands/create-brands.mjs.map +1 -1
  108. package/tools/brands/list-brands.d.mts.map +1 -1
  109. package/tools/brands/list-brands.d.ts.map +1 -1
  110. package/tools/brands/list-brands.js +10 -3
  111. package/tools/brands/list-brands.js.map +1 -1
  112. package/tools/brands/list-brands.mjs +10 -3
  113. package/tools/brands/list-brands.mjs.map +1 -1
  114. package/tools/brands/retrieve-brands.d.mts.map +1 -1
  115. package/tools/brands/retrieve-brands.d.ts.map +1 -1
  116. package/tools/brands/retrieve-brands.js +8 -2
  117. package/tools/brands/retrieve-brands.js.map +1 -1
  118. package/tools/brands/retrieve-brands.mjs +8 -2
  119. package/tools/brands/retrieve-brands.mjs.map +1 -1
  120. package/tools/brands/update-brands.d.mts.map +1 -1
  121. package/tools/brands/update-brands.d.ts.map +1 -1
  122. package/tools/brands/update-brands.js +8 -2
  123. package/tools/brands/update-brands.js.map +1 -1
  124. package/tools/brands/update-brands.mjs +8 -2
  125. package/tools/brands/update-brands.mjs.map +1 -1
  126. package/tools/brands/update-images-brands.d.mts.map +1 -1
  127. package/tools/brands/update-images-brands.d.ts.map +1 -1
  128. package/tools/brands/update-images-brands.js +8 -2
  129. package/tools/brands/update-images-brands.js.map +1 -1
  130. package/tools/brands/update-images-brands.mjs +8 -2
  131. package/tools/brands/update-images-brands.mjs.map +1 -1
  132. package/tools/customers/create-customers.d.mts.map +1 -1
  133. package/tools/customers/create-customers.d.ts.map +1 -1
  134. package/tools/customers/create-customers.js +8 -2
  135. package/tools/customers/create-customers.js.map +1 -1
  136. package/tools/customers/create-customers.mjs +8 -2
  137. package/tools/customers/create-customers.mjs.map +1 -1
  138. package/tools/customers/customer-portal/create-customers-customer-portal.d.mts.map +1 -1
  139. package/tools/customers/customer-portal/create-customers-customer-portal.d.ts.map +1 -1
  140. package/tools/customers/customer-portal/create-customers-customer-portal.js +8 -2
  141. package/tools/customers/customer-portal/create-customers-customer-portal.js.map +1 -1
  142. package/tools/customers/customer-portal/create-customers-customer-portal.mjs +8 -2
  143. package/tools/customers/customer-portal/create-customers-customer-portal.mjs.map +1 -1
  144. package/tools/customers/list-customers.d.mts.map +1 -1
  145. package/tools/customers/list-customers.d.ts.map +1 -1
  146. package/tools/customers/list-customers.js +9 -2
  147. package/tools/customers/list-customers.js.map +1 -1
  148. package/tools/customers/list-customers.mjs +9 -2
  149. package/tools/customers/list-customers.mjs.map +1 -1
  150. package/tools/customers/retrieve-customers.d.mts.map +1 -1
  151. package/tools/customers/retrieve-customers.d.ts.map +1 -1
  152. package/tools/customers/retrieve-customers.js +8 -2
  153. package/tools/customers/retrieve-customers.js.map +1 -1
  154. package/tools/customers/retrieve-customers.mjs +8 -2
  155. package/tools/customers/retrieve-customers.mjs.map +1 -1
  156. package/tools/customers/update-customers.d.mts.map +1 -1
  157. package/tools/customers/update-customers.d.ts.map +1 -1
  158. package/tools/customers/update-customers.js +8 -2
  159. package/tools/customers/update-customers.js.map +1 -1
  160. package/tools/customers/update-customers.mjs +8 -2
  161. package/tools/customers/update-customers.mjs.map +1 -1
  162. package/tools/discounts/create-discounts.d.mts.map +1 -1
  163. package/tools/discounts/create-discounts.d.ts.map +1 -1
  164. package/tools/discounts/create-discounts.js +8 -2
  165. package/tools/discounts/create-discounts.js.map +1 -1
  166. package/tools/discounts/create-discounts.mjs +8 -2
  167. package/tools/discounts/create-discounts.mjs.map +1 -1
  168. package/tools/discounts/delete-discounts.d.mts.map +1 -1
  169. package/tools/discounts/delete-discounts.d.ts.map +1 -1
  170. package/tools/discounts/delete-discounts.js +6 -1
  171. package/tools/discounts/delete-discounts.js.map +1 -1
  172. package/tools/discounts/delete-discounts.mjs +6 -1
  173. package/tools/discounts/delete-discounts.mjs.map +1 -1
  174. package/tools/discounts/list-discounts.d.mts.map +1 -1
  175. package/tools/discounts/list-discounts.d.ts.map +1 -1
  176. package/tools/discounts/list-discounts.js +9 -2
  177. package/tools/discounts/list-discounts.js.map +1 -1
  178. package/tools/discounts/list-discounts.mjs +9 -2
  179. package/tools/discounts/list-discounts.mjs.map +1 -1
  180. package/tools/discounts/retrieve-discounts.d.mts.map +1 -1
  181. package/tools/discounts/retrieve-discounts.d.ts.map +1 -1
  182. package/tools/discounts/retrieve-discounts.js +8 -2
  183. package/tools/discounts/retrieve-discounts.js.map +1 -1
  184. package/tools/discounts/retrieve-discounts.mjs +8 -2
  185. package/tools/discounts/retrieve-discounts.mjs.map +1 -1
  186. package/tools/discounts/update-discounts.d.mts.map +1 -1
  187. package/tools/discounts/update-discounts.d.ts.map +1 -1
  188. package/tools/discounts/update-discounts.js +8 -2
  189. package/tools/discounts/update-discounts.js.map +1 -1
  190. package/tools/discounts/update-discounts.mjs +8 -2
  191. package/tools/discounts/update-discounts.mjs.map +1 -1
  192. package/tools/disputes/list-disputes.d.mts.map +1 -1
  193. package/tools/disputes/list-disputes.d.ts.map +1 -1
  194. package/tools/disputes/list-disputes.js +9 -2
  195. package/tools/disputes/list-disputes.js.map +1 -1
  196. package/tools/disputes/list-disputes.mjs +9 -2
  197. package/tools/disputes/list-disputes.mjs.map +1 -1
  198. package/tools/disputes/retrieve-disputes.d.mts.map +1 -1
  199. package/tools/disputes/retrieve-disputes.d.ts.map +1 -1
  200. package/tools/disputes/retrieve-disputes.js +8 -2
  201. package/tools/disputes/retrieve-disputes.js.map +1 -1
  202. package/tools/disputes/retrieve-disputes.mjs +8 -2
  203. package/tools/disputes/retrieve-disputes.mjs.map +1 -1
  204. package/tools/invoices/payments/retrieve-invoices-payments.d.mts.map +1 -1
  205. package/tools/invoices/payments/retrieve-invoices-payments.d.ts.map +1 -1
  206. package/tools/invoices/payments/retrieve-invoices-payments.js +6 -1
  207. package/tools/invoices/payments/retrieve-invoices-payments.js.map +1 -1
  208. package/tools/invoices/payments/retrieve-invoices-payments.mjs +6 -1
  209. package/tools/invoices/payments/retrieve-invoices-payments.mjs.map +1 -1
  210. package/tools/license-key-instances/list-license-key-instances.d.mts.map +1 -1
  211. package/tools/license-key-instances/list-license-key-instances.d.ts.map +1 -1
  212. package/tools/license-key-instances/list-license-key-instances.js +9 -2
  213. package/tools/license-key-instances/list-license-key-instances.js.map +1 -1
  214. package/tools/license-key-instances/list-license-key-instances.mjs +9 -2
  215. package/tools/license-key-instances/list-license-key-instances.mjs.map +1 -1
  216. package/tools/license-key-instances/retrieve-license-key-instances.d.mts.map +1 -1
  217. package/tools/license-key-instances/retrieve-license-key-instances.d.ts.map +1 -1
  218. package/tools/license-key-instances/retrieve-license-key-instances.js +8 -2
  219. package/tools/license-key-instances/retrieve-license-key-instances.js.map +1 -1
  220. package/tools/license-key-instances/retrieve-license-key-instances.mjs +8 -2
  221. package/tools/license-key-instances/retrieve-license-key-instances.mjs.map +1 -1
  222. package/tools/license-key-instances/update-license-key-instances.d.mts.map +1 -1
  223. package/tools/license-key-instances/update-license-key-instances.d.ts.map +1 -1
  224. package/tools/license-key-instances/update-license-key-instances.js +8 -2
  225. package/tools/license-key-instances/update-license-key-instances.js.map +1 -1
  226. package/tools/license-key-instances/update-license-key-instances.mjs +8 -2
  227. package/tools/license-key-instances/update-license-key-instances.mjs.map +1 -1
  228. package/tools/license-keys/list-license-keys.d.mts.map +1 -1
  229. package/tools/license-keys/list-license-keys.d.ts.map +1 -1
  230. package/tools/license-keys/list-license-keys.js +9 -2
  231. package/tools/license-keys/list-license-keys.js.map +1 -1
  232. package/tools/license-keys/list-license-keys.mjs +9 -2
  233. package/tools/license-keys/list-license-keys.mjs.map +1 -1
  234. package/tools/license-keys/retrieve-license-keys.d.mts.map +1 -1
  235. package/tools/license-keys/retrieve-license-keys.d.ts.map +1 -1
  236. package/tools/license-keys/retrieve-license-keys.js +8 -2
  237. package/tools/license-keys/retrieve-license-keys.js.map +1 -1
  238. package/tools/license-keys/retrieve-license-keys.mjs +8 -2
  239. package/tools/license-keys/retrieve-license-keys.mjs.map +1 -1
  240. package/tools/license-keys/update-license-keys.d.mts.map +1 -1
  241. package/tools/license-keys/update-license-keys.d.ts.map +1 -1
  242. package/tools/license-keys/update-license-keys.js +8 -2
  243. package/tools/license-keys/update-license-keys.js.map +1 -1
  244. package/tools/license-keys/update-license-keys.mjs +8 -2
  245. package/tools/license-keys/update-license-keys.mjs.map +1 -1
  246. package/tools/licenses/activate-licenses.d.mts.map +1 -1
  247. package/tools/licenses/activate-licenses.d.ts.map +1 -1
  248. package/tools/licenses/activate-licenses.js +8 -2
  249. package/tools/licenses/activate-licenses.js.map +1 -1
  250. package/tools/licenses/activate-licenses.mjs +8 -2
  251. package/tools/licenses/activate-licenses.mjs.map +1 -1
  252. package/tools/licenses/deactivate-licenses.d.mts.map +1 -1
  253. package/tools/licenses/deactivate-licenses.d.ts.map +1 -1
  254. package/tools/licenses/deactivate-licenses.js +6 -1
  255. package/tools/licenses/deactivate-licenses.js.map +1 -1
  256. package/tools/licenses/deactivate-licenses.mjs +6 -1
  257. package/tools/licenses/deactivate-licenses.mjs.map +1 -1
  258. package/tools/licenses/validate-licenses.d.mts.map +1 -1
  259. package/tools/licenses/validate-licenses.d.ts.map +1 -1
  260. package/tools/licenses/validate-licenses.js +8 -2
  261. package/tools/licenses/validate-licenses.js.map +1 -1
  262. package/tools/licenses/validate-licenses.mjs +8 -2
  263. package/tools/licenses/validate-licenses.mjs.map +1 -1
  264. package/tools/misc/list-supported-countries-misc.d.mts.map +1 -1
  265. package/tools/misc/list-supported-countries-misc.d.ts.map +1 -1
  266. package/tools/misc/list-supported-countries-misc.js +10 -3
  267. package/tools/misc/list-supported-countries-misc.js.map +1 -1
  268. package/tools/misc/list-supported-countries-misc.mjs +10 -3
  269. package/tools/misc/list-supported-countries-misc.mjs.map +1 -1
  270. package/tools/payments/create-payments.d.mts.map +1 -1
  271. package/tools/payments/create-payments.d.ts.map +1 -1
  272. package/tools/payments/create-payments.js +1 -1
  273. package/tools/payments/create-payments.js.map +1 -1
  274. package/tools/payments/create-payments.mjs +1 -1
  275. package/tools/payments/create-payments.mjs.map +1 -1
  276. package/tools/payments/list-payments.d.mts.map +1 -1
  277. package/tools/payments/list-payments.d.ts.map +1 -1
  278. package/tools/payments/list-payments.js +9 -2
  279. package/tools/payments/list-payments.js.map +1 -1
  280. package/tools/payments/list-payments.mjs +9 -2
  281. package/tools/payments/list-payments.mjs.map +1 -1
  282. package/tools/payments/retrieve-line-items-payments.d.mts.map +1 -1
  283. package/tools/payments/retrieve-line-items-payments.d.ts.map +1 -1
  284. package/tools/payments/retrieve-line-items-payments.js +8 -2
  285. package/tools/payments/retrieve-line-items-payments.js.map +1 -1
  286. package/tools/payments/retrieve-line-items-payments.mjs +8 -2
  287. package/tools/payments/retrieve-line-items-payments.mjs.map +1 -1
  288. package/tools/payments/retrieve-payments.d.mts.map +1 -1
  289. package/tools/payments/retrieve-payments.d.ts.map +1 -1
  290. package/tools/payments/retrieve-payments.js +1 -1
  291. package/tools/payments/retrieve-payments.js.map +1 -1
  292. package/tools/payments/retrieve-payments.mjs +1 -1
  293. package/tools/payments/retrieve-payments.mjs.map +1 -1
  294. package/tools/payouts/list-payouts.d.mts.map +1 -1
  295. package/tools/payouts/list-payouts.d.ts.map +1 -1
  296. package/tools/payouts/list-payouts.js +9 -2
  297. package/tools/payouts/list-payouts.js.map +1 -1
  298. package/tools/payouts/list-payouts.mjs +9 -2
  299. package/tools/payouts/list-payouts.mjs.map +1 -1
  300. package/tools/products/create-products.d.mts.map +1 -1
  301. package/tools/products/create-products.d.ts.map +1 -1
  302. package/tools/products/create-products.js +1 -1
  303. package/tools/products/create-products.js.map +1 -1
  304. package/tools/products/create-products.mjs +1 -1
  305. package/tools/products/create-products.mjs.map +1 -1
  306. package/tools/products/delete-products.d.mts.map +1 -1
  307. package/tools/products/delete-products.d.ts.map +1 -1
  308. package/tools/products/delete-products.js +6 -1
  309. package/tools/products/delete-products.js.map +1 -1
  310. package/tools/products/delete-products.mjs +6 -1
  311. package/tools/products/delete-products.mjs.map +1 -1
  312. package/tools/products/images/update-products-images.d.mts.map +1 -1
  313. package/tools/products/images/update-products-images.d.ts.map +1 -1
  314. package/tools/products/images/update-products-images.js +8 -2
  315. package/tools/products/images/update-products-images.js.map +1 -1
  316. package/tools/products/images/update-products-images.mjs +8 -2
  317. package/tools/products/images/update-products-images.mjs.map +1 -1
  318. package/tools/products/list-products.d.mts.map +1 -1
  319. package/tools/products/list-products.d.ts.map +1 -1
  320. package/tools/products/list-products.js +3 -2
  321. package/tools/products/list-products.js.map +1 -1
  322. package/tools/products/list-products.mjs +3 -2
  323. package/tools/products/list-products.mjs.map +1 -1
  324. package/tools/products/retrieve-products.d.mts.map +1 -1
  325. package/tools/products/retrieve-products.d.ts.map +1 -1
  326. package/tools/products/retrieve-products.js +1 -1
  327. package/tools/products/retrieve-products.js.map +1 -1
  328. package/tools/products/retrieve-products.mjs +1 -1
  329. package/tools/products/retrieve-products.mjs.map +1 -1
  330. package/tools/products/unarchive-products.d.mts.map +1 -1
  331. package/tools/products/unarchive-products.d.ts.map +1 -1
  332. package/tools/products/unarchive-products.js +6 -1
  333. package/tools/products/unarchive-products.js.map +1 -1
  334. package/tools/products/unarchive-products.mjs +6 -1
  335. package/tools/products/unarchive-products.mjs.map +1 -1
  336. package/tools/products/update-files-products.d.mts.map +1 -1
  337. package/tools/products/update-files-products.d.ts.map +1 -1
  338. package/tools/products/update-files-products.js +8 -2
  339. package/tools/products/update-files-products.js.map +1 -1
  340. package/tools/products/update-files-products.mjs +8 -2
  341. package/tools/products/update-files-products.mjs.map +1 -1
  342. package/tools/products/update-products.d.mts.map +1 -1
  343. package/tools/products/update-products.d.ts.map +1 -1
  344. package/tools/products/update-products.js +6 -1
  345. package/tools/products/update-products.js.map +1 -1
  346. package/tools/products/update-products.mjs +6 -1
  347. package/tools/products/update-products.mjs.map +1 -1
  348. package/tools/refunds/create-refunds.d.mts.map +1 -1
  349. package/tools/refunds/create-refunds.d.ts.map +1 -1
  350. package/tools/refunds/create-refunds.js +8 -2
  351. package/tools/refunds/create-refunds.js.map +1 -1
  352. package/tools/refunds/create-refunds.mjs +8 -2
  353. package/tools/refunds/create-refunds.mjs.map +1 -1
  354. package/tools/refunds/list-refunds.d.mts.map +1 -1
  355. package/tools/refunds/list-refunds.d.ts.map +1 -1
  356. package/tools/refunds/list-refunds.js +9 -2
  357. package/tools/refunds/list-refunds.js.map +1 -1
  358. package/tools/refunds/list-refunds.mjs +9 -2
  359. package/tools/refunds/list-refunds.mjs.map +1 -1
  360. package/tools/refunds/retrieve-refunds.d.mts.map +1 -1
  361. package/tools/refunds/retrieve-refunds.d.ts.map +1 -1
  362. package/tools/refunds/retrieve-refunds.js +8 -2
  363. package/tools/refunds/retrieve-refunds.js.map +1 -1
  364. package/tools/refunds/retrieve-refunds.mjs +8 -2
  365. package/tools/refunds/retrieve-refunds.mjs.map +1 -1
  366. package/tools/subscriptions/change-plan-subscriptions.d.mts.map +1 -1
  367. package/tools/subscriptions/change-plan-subscriptions.d.ts.map +1 -1
  368. package/tools/subscriptions/change-plan-subscriptions.js +6 -1
  369. package/tools/subscriptions/change-plan-subscriptions.js.map +1 -1
  370. package/tools/subscriptions/change-plan-subscriptions.mjs +6 -1
  371. package/tools/subscriptions/change-plan-subscriptions.mjs.map +1 -1
  372. package/tools/subscriptions/charge-subscriptions.d.mts.map +1 -1
  373. package/tools/subscriptions/charge-subscriptions.d.ts.map +1 -1
  374. package/tools/subscriptions/charge-subscriptions.js +8 -2
  375. package/tools/subscriptions/charge-subscriptions.js.map +1 -1
  376. package/tools/subscriptions/charge-subscriptions.mjs +8 -2
  377. package/tools/subscriptions/charge-subscriptions.mjs.map +1 -1
  378. package/tools/subscriptions/create-subscriptions.d.mts.map +1 -1
  379. package/tools/subscriptions/create-subscriptions.d.ts.map +1 -1
  380. package/tools/subscriptions/create-subscriptions.js +1 -1
  381. package/tools/subscriptions/create-subscriptions.js.map +1 -1
  382. package/tools/subscriptions/create-subscriptions.mjs +1 -1
  383. package/tools/subscriptions/create-subscriptions.mjs.map +1 -1
  384. package/tools/subscriptions/list-subscriptions.d.mts.map +1 -1
  385. package/tools/subscriptions/list-subscriptions.d.ts.map +1 -1
  386. package/tools/subscriptions/list-subscriptions.js +3 -2
  387. package/tools/subscriptions/list-subscriptions.js.map +1 -1
  388. package/tools/subscriptions/list-subscriptions.mjs +3 -2
  389. package/tools/subscriptions/list-subscriptions.mjs.map +1 -1
  390. package/tools/subscriptions/retrieve-subscriptions.d.mts.map +1 -1
  391. package/tools/subscriptions/retrieve-subscriptions.d.ts.map +1 -1
  392. package/tools/subscriptions/retrieve-subscriptions.js +1 -1
  393. package/tools/subscriptions/retrieve-subscriptions.js.map +1 -1
  394. package/tools/subscriptions/retrieve-subscriptions.mjs +1 -1
  395. package/tools/subscriptions/retrieve-subscriptions.mjs.map +1 -1
  396. package/tools/subscriptions/update-subscriptions.d.mts.map +1 -1
  397. package/tools/subscriptions/update-subscriptions.d.ts.map +1 -1
  398. package/tools/subscriptions/update-subscriptions.js +1 -1
  399. package/tools/subscriptions/update-subscriptions.js.map +1 -1
  400. package/tools/subscriptions/update-subscriptions.mjs +1 -1
  401. package/tools/subscriptions/update-subscriptions.mjs.map +1 -1
  402. package/tools/types.d.mts +1 -1
  403. package/tools/types.d.mts.map +1 -1
  404. package/tools/types.d.ts +1 -1
  405. package/tools/types.d.ts.map +1 -1
  406. package/tools/types.js.map +1 -1
  407. package/tools/types.mjs.map +1 -1
  408. package/tools/webhook-events/list-webhook-events.d.mts.map +1 -1
  409. package/tools/webhook-events/list-webhook-events.d.ts.map +1 -1
  410. package/tools/webhook-events/list-webhook-events.js +9 -2
  411. package/tools/webhook-events/list-webhook-events.js.map +1 -1
  412. package/tools/webhook-events/list-webhook-events.mjs +9 -2
  413. package/tools/webhook-events/list-webhook-events.mjs.map +1 -1
  414. package/tools/webhook-events/retrieve-webhook-events.d.mts.map +1 -1
  415. package/tools/webhook-events/retrieve-webhook-events.d.ts.map +1 -1
  416. package/tools/webhook-events/retrieve-webhook-events.js +8 -2
  417. package/tools/webhook-events/retrieve-webhook-events.js.map +1 -1
  418. package/tools/webhook-events/retrieve-webhook-events.mjs +8 -2
  419. package/tools/webhook-events/retrieve-webhook-events.mjs.map +1 -1
@@ -0,0 +1,2 @@
1
+ export declare function maybeFilter(args: Record<string, unknown> | undefined, response: any): Promise<any>;
2
+ //# sourceMappingURL=filtering.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering.d.mts","sourceRoot":"","sources":["src/filtering.ts"],"names":[],"mappings":"AAAA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAOxG"}
package/filtering.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function maybeFilter(args: Record<string, unknown> | undefined, response: any): Promise<any>;
2
+ //# sourceMappingURL=filtering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering.d.ts","sourceRoot":"","sources":["src/filtering.ts"],"names":[],"mappings":"AAAA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAOxG"}
package/filtering.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.maybeFilter = maybeFilter;
4
+ async function maybeFilter(args, response) {
5
+ const jqFilter = args?.['jq_filter'];
6
+ if (jqFilter && typeof jqFilter === 'string') {
7
+ return await jq(response, jqFilter);
8
+ }
9
+ else {
10
+ return response;
11
+ }
12
+ }
13
+ var jqWeb = require('jq-web');
14
+ async function jq(json, jqFilter) {
15
+ return (await jqWeb).json(json, jqFilter);
16
+ }
17
+ //# sourceMappingURL=filtering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering.js","sourceRoot":"","sources":["src/filtering.ts"],"names":[],"mappings":";;AAAA,kCAOC;AAPM,KAAK,UAAU,WAAW,CAAC,IAAyC,EAAE,QAAa;IACxF,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9B,KAAK,UAAU,EAAE,CAAC,IAAS,EAAE,QAAgB;IAC3C,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC"}
package/filtering.mjs ADDED
@@ -0,0 +1,14 @@
1
+ export async function maybeFilter(args, response) {
2
+ const jqFilter = args?.['jq_filter'];
3
+ if (jqFilter && typeof jqFilter === 'string') {
4
+ return await jq(response, jqFilter);
5
+ }
6
+ else {
7
+ return response;
8
+ }
9
+ }
10
+ var jqWeb = require('jq-web');
11
+ async function jq(json, jqFilter) {
12
+ return (await jqWeb).json(json, jqFilter);
13
+ }
14
+ //# sourceMappingURL=filtering.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering.mjs","sourceRoot":"","sources":["src/filtering.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAyC,EAAE,QAAa;IACxF,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9B,KAAK,UAAU,EAAE,CAAC,IAAS,EAAE,QAAgB;IAC3C,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dodopayments-mcp",
3
- "version": "1.37.2",
3
+ "version": "1.38.1",
4
4
  "description": "The official MCP Server for the Dodo Payments API",
5
5
  "author": "Dodo Payments <founders@dodopayments.com>",
6
6
  "types": "./index.d.ts",
@@ -24,8 +24,9 @@
24
24
  "fix": "eslint --fix --ext ts,js ."
25
25
  },
26
26
  "dependencies": {
27
- "dodopayments": "^1.37.2",
27
+ "dodopayments": "^1.38.1",
28
28
  "@modelcontextprotocol/sdk": "^1.11.5",
29
+ "jq-web": "^0.6.2",
29
30
  "yargs": "^17.7.2",
30
31
  "@cloudflare/cabidela": "^0.2.4",
31
32
  "zod": "^3.25.20",
package/server.js CHANGED
@@ -20,7 +20,7 @@ Object.defineProperty(exports, "endpoints", { enumerable: true, get: function ()
20
20
  // Create server instance
21
21
  exports.server = new mcp_js_1.McpServer({
22
22
  name: 'dodopayments_api',
23
- version: '1.37.2',
23
+ version: '1.38.1',
24
24
  }, {
25
25
  capabilities: {
26
26
  tools: {},
package/server.mjs CHANGED
@@ -9,7 +9,7 @@ export { endpoints } from "./tools.mjs";
9
9
  // Create server instance
10
10
  export const server = new McpServer({
11
11
  name: 'dodopayments_api',
12
- version: '1.37.2',
12
+ version: '1.38.1',
13
13
  }, {
14
14
  capabilities: {
15
15
  tools: {},
@@ -0,0 +1,13 @@
1
+ export async function maybeFilter(args: Record<string, unknown> | undefined, response: any): Promise<any> {
2
+ const jqFilter = args?.['jq_filter'];
3
+ if (jqFilter && typeof jqFilter === 'string') {
4
+ return await jq(response, jqFilter);
5
+ } else {
6
+ return response;
7
+ }
8
+ }
9
+
10
+ var jqWeb = require('jq-web');
11
+ async function jq(json: any, jqFilter: string) {
12
+ return (await jqWeb).json(json, jqFilter);
13
+ }
package/src/server.ts CHANGED
@@ -26,7 +26,7 @@ export { endpoints } from './tools';
26
26
  export const server = new McpServer(
27
27
  {
28
28
  name: 'dodopayments_api',
29
- version: '1.37.2',
29
+ version: '1.38.1',
30
30
  },
31
31
  {
32
32
  capabilities: {
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,7 +18,8 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'create_addons',
20
- description: '',
21
+ description:
22
+ "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\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/addon_response',\n $defs: {\n addon_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'id of the Addon'\n },\n business_id: {\n type: 'string',\n description: 'Unique identifier for the business to which the addon belongs.'\n },\n created_at: {\n type: 'string',\n description: 'Created time',\n format: 'date-time'\n },\n currency: {\n $ref: '#/$defs/currency'\n },\n name: {\n type: 'string',\n description: 'Name of the Addon'\n },\n price: {\n type: 'integer',\n description: 'Amount of the addon'\n },\n tax_category: {\n $ref: '#/$defs/tax_category'\n },\n updated_at: {\n type: 'string',\n description: 'Updated time',\n format: 'date-time'\n },\n description: {\n type: 'string',\n description: 'Optional description of the Addon'\n },\n image: {\n type: 'string',\n description: 'Image of the Addon'\n }\n },\n required: [ 'id',\n 'business_id',\n 'created_at',\n 'currency',\n 'name',\n 'price',\n 'tax_category',\n 'updated_at'\n ]\n },\n currency: {\n type: 'string',\n enum: [ 'AED',\n 'ALL',\n 'AMD',\n 'ANG',\n 'AOA',\n 'ARS',\n 'AUD',\n 'AWG',\n 'AZN',\n 'BAM',\n 'BBD',\n 'BDT',\n 'BGN',\n 'BHD',\n 'BIF',\n 'BMD',\n 'BND',\n 'BOB',\n 'BRL',\n 'BSD',\n 'BWP',\n 'BYN',\n 'BZD',\n 'CAD',\n 'CHF',\n 'CLP',\n 'CNY',\n 'COP',\n 'CRC',\n 'CUP',\n 'CVE',\n 'CZK',\n 'DJF',\n 'DKK',\n 'DOP',\n 'DZD',\n 'EGP',\n 'ETB',\n 'EUR',\n 'FJD',\n 'FKP',\n 'GBP',\n 'GEL',\n 'GHS',\n 'GIP',\n 'GMD',\n 'GNF',\n 'GTQ',\n 'GYD',\n 'HKD',\n 'HNL',\n 'HRK',\n 'HTG',\n 'HUF',\n 'IDR',\n 'ILS',\n 'INR',\n 'IQD',\n 'JMD',\n 'JOD',\n 'JPY',\n 'KES',\n 'KGS',\n 'KHR',\n 'KMF',\n 'KRW',\n 'KWD',\n 'KYD',\n 'KZT',\n 'LAK',\n 'LBP',\n 'LKR',\n 'LRD',\n 'LSL',\n 'LYD',\n 'MAD',\n 'MDL',\n 'MGA',\n 'MKD',\n 'MMK',\n 'MNT',\n 'MOP',\n 'MRU',\n 'MUR',\n 'MVR',\n 'MWK',\n 'MXN',\n 'MYR',\n 'MZN',\n 'NAD',\n 'NGN',\n 'NIO',\n 'NOK',\n 'NPR',\n 'NZD',\n 'OMR',\n 'PAB',\n 'PEN',\n 'PGK',\n 'PHP',\n 'PKR',\n 'PLN',\n 'PYG',\n 'QAR',\n 'RON',\n 'RSD',\n 'RUB',\n 'RWF',\n 'SAR',\n 'SBD',\n 'SCR',\n 'SEK',\n 'SGD',\n 'SHP',\n 'SLE',\n 'SLL',\n 'SOS',\n 'SRD',\n 'SSP',\n 'STN',\n 'SVC',\n 'SZL',\n 'THB',\n 'TND',\n 'TOP',\n 'TRY',\n 'TTD',\n 'TWD',\n 'TZS',\n 'UAH',\n 'UGX',\n 'USD',\n 'UYU',\n 'UZS',\n 'VES',\n 'VND',\n 'VUV',\n 'WST',\n 'XAF',\n 'XCD',\n 'XOF',\n 'XPF',\n 'YER',\n 'ZAR',\n 'ZMW'\n ]\n },\n tax_category: {\n type: 'string',\n description: 'Represents the different categories of taxation applicable to various products and services.',\n enum: [ 'digital_products',\n 'saas',\n 'e_book',\n 'edtech'\n ]\n }\n }\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
25
  properties: {
@@ -39,6 +41,12 @@ export const tool: Tool = {
39
41
  type: 'string',
40
42
  description: 'Optional description of the Addon',
41
43
  },
44
+ jq_filter: {
45
+ type: 'string',
46
+ title: 'jq Filter',
47
+ description:
48
+ '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/).',
49
+ },
42
50
  },
43
51
  $defs: {
44
52
  currency: {
@@ -203,7 +211,7 @@ export const tool: Tool = {
203
211
 
204
212
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
205
213
  const body = args as any;
206
- return asTextContentResult(await client.addons.create(body));
214
+ return asTextContentResult(await maybeFilter(args, await client.addons.create(body)));
207
215
  };
208
216
 
209
217
  export default { metadata, tool, handler };
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,7 +18,8 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'list_addons',
20
- description: '',
21
+ description:
22
+ "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\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/addon_response'\n }\n }\n },\n required: [ 'items'\n ],\n $defs: {\n addon_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'id of the Addon'\n },\n business_id: {\n type: 'string',\n description: 'Unique identifier for the business to which the addon belongs.'\n },\n created_at: {\n type: 'string',\n description: 'Created time',\n format: 'date-time'\n },\n currency: {\n $ref: '#/$defs/currency'\n },\n name: {\n type: 'string',\n description: 'Name of the Addon'\n },\n price: {\n type: 'integer',\n description: 'Amount of the addon'\n },\n tax_category: {\n $ref: '#/$defs/tax_category'\n },\n updated_at: {\n type: 'string',\n description: 'Updated time',\n format: 'date-time'\n },\n description: {\n type: 'string',\n description: 'Optional description of the Addon'\n },\n image: {\n type: 'string',\n description: 'Image of the Addon'\n }\n },\n required: [ 'id',\n 'business_id',\n 'created_at',\n 'currency',\n 'name',\n 'price',\n 'tax_category',\n 'updated_at'\n ]\n },\n currency: {\n type: 'string',\n enum: [ 'AED',\n 'ALL',\n 'AMD',\n 'ANG',\n 'AOA',\n 'ARS',\n 'AUD',\n 'AWG',\n 'AZN',\n 'BAM',\n 'BBD',\n 'BDT',\n 'BGN',\n 'BHD',\n 'BIF',\n 'BMD',\n 'BND',\n 'BOB',\n 'BRL',\n 'BSD',\n 'BWP',\n 'BYN',\n 'BZD',\n 'CAD',\n 'CHF',\n 'CLP',\n 'CNY',\n 'COP',\n 'CRC',\n 'CUP',\n 'CVE',\n 'CZK',\n 'DJF',\n 'DKK',\n 'DOP',\n 'DZD',\n 'EGP',\n 'ETB',\n 'EUR',\n 'FJD',\n 'FKP',\n 'GBP',\n 'GEL',\n 'GHS',\n 'GIP',\n 'GMD',\n 'GNF',\n 'GTQ',\n 'GYD',\n 'HKD',\n 'HNL',\n 'HRK',\n 'HTG',\n 'HUF',\n 'IDR',\n 'ILS',\n 'INR',\n 'IQD',\n 'JMD',\n 'JOD',\n 'JPY',\n 'KES',\n 'KGS',\n 'KHR',\n 'KMF',\n 'KRW',\n 'KWD',\n 'KYD',\n 'KZT',\n 'LAK',\n 'LBP',\n 'LKR',\n 'LRD',\n 'LSL',\n 'LYD',\n 'MAD',\n 'MDL',\n 'MGA',\n 'MKD',\n 'MMK',\n 'MNT',\n 'MOP',\n 'MRU',\n 'MUR',\n 'MVR',\n 'MWK',\n 'MXN',\n 'MYR',\n 'MZN',\n 'NAD',\n 'NGN',\n 'NIO',\n 'NOK',\n 'NPR',\n 'NZD',\n 'OMR',\n 'PAB',\n 'PEN',\n 'PGK',\n 'PHP',\n 'PKR',\n 'PLN',\n 'PYG',\n 'QAR',\n 'RON',\n 'RSD',\n 'RUB',\n 'RWF',\n 'SAR',\n 'SBD',\n 'SCR',\n 'SEK',\n 'SGD',\n 'SHP',\n 'SLE',\n 'SLL',\n 'SOS',\n 'SRD',\n 'SSP',\n 'STN',\n 'SVC',\n 'SZL',\n 'THB',\n 'TND',\n 'TOP',\n 'TRY',\n 'TTD',\n 'TWD',\n 'TZS',\n 'UAH',\n 'UGX',\n 'USD',\n 'UYU',\n 'UZS',\n 'VES',\n 'VND',\n 'VUV',\n 'WST',\n 'XAF',\n 'XCD',\n 'XOF',\n 'XPF',\n 'YER',\n 'ZAR',\n 'ZMW'\n ]\n },\n tax_category: {\n type: 'string',\n description: 'Represents the different categories of taxation applicable to various products and services.',\n enum: [ 'digital_products',\n 'saas',\n 'e_book',\n 'edtech'\n ]\n }\n }\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
25
  properties: {
@@ -29,13 +31,20 @@ export const tool: Tool = {
29
31
  type: 'integer',
30
32
  description: 'Page size default is 10 max is 100',
31
33
  },
34
+ jq_filter: {
35
+ type: 'string',
36
+ title: 'jq Filter',
37
+ description:
38
+ '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/).',
39
+ },
32
40
  },
33
41
  },
34
42
  };
35
43
 
36
44
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
37
45
  const body = args as any;
38
- return asTextContentResult(await client.addons.list(body));
46
+ const response = await client.addons.list(body).asResponse();
47
+ return asTextContentResult(await maybeFilter(args, await response.json()));
39
48
  };
40
49
 
41
50
  export default { metadata, tool, handler };
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,20 +18,27 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'retrieve_addons',
20
- description: '',
21
+ description:
22
+ "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\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/addon_response',\n $defs: {\n addon_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'id of the Addon'\n },\n business_id: {\n type: 'string',\n description: 'Unique identifier for the business to which the addon belongs.'\n },\n created_at: {\n type: 'string',\n description: 'Created time',\n format: 'date-time'\n },\n currency: {\n $ref: '#/$defs/currency'\n },\n name: {\n type: 'string',\n description: 'Name of the Addon'\n },\n price: {\n type: 'integer',\n description: 'Amount of the addon'\n },\n tax_category: {\n $ref: '#/$defs/tax_category'\n },\n updated_at: {\n type: 'string',\n description: 'Updated time',\n format: 'date-time'\n },\n description: {\n type: 'string',\n description: 'Optional description of the Addon'\n },\n image: {\n type: 'string',\n description: 'Image of the Addon'\n }\n },\n required: [ 'id',\n 'business_id',\n 'created_at',\n 'currency',\n 'name',\n 'price',\n 'tax_category',\n 'updated_at'\n ]\n },\n currency: {\n type: 'string',\n enum: [ 'AED',\n 'ALL',\n 'AMD',\n 'ANG',\n 'AOA',\n 'ARS',\n 'AUD',\n 'AWG',\n 'AZN',\n 'BAM',\n 'BBD',\n 'BDT',\n 'BGN',\n 'BHD',\n 'BIF',\n 'BMD',\n 'BND',\n 'BOB',\n 'BRL',\n 'BSD',\n 'BWP',\n 'BYN',\n 'BZD',\n 'CAD',\n 'CHF',\n 'CLP',\n 'CNY',\n 'COP',\n 'CRC',\n 'CUP',\n 'CVE',\n 'CZK',\n 'DJF',\n 'DKK',\n 'DOP',\n 'DZD',\n 'EGP',\n 'ETB',\n 'EUR',\n 'FJD',\n 'FKP',\n 'GBP',\n 'GEL',\n 'GHS',\n 'GIP',\n 'GMD',\n 'GNF',\n 'GTQ',\n 'GYD',\n 'HKD',\n 'HNL',\n 'HRK',\n 'HTG',\n 'HUF',\n 'IDR',\n 'ILS',\n 'INR',\n 'IQD',\n 'JMD',\n 'JOD',\n 'JPY',\n 'KES',\n 'KGS',\n 'KHR',\n 'KMF',\n 'KRW',\n 'KWD',\n 'KYD',\n 'KZT',\n 'LAK',\n 'LBP',\n 'LKR',\n 'LRD',\n 'LSL',\n 'LYD',\n 'MAD',\n 'MDL',\n 'MGA',\n 'MKD',\n 'MMK',\n 'MNT',\n 'MOP',\n 'MRU',\n 'MUR',\n 'MVR',\n 'MWK',\n 'MXN',\n 'MYR',\n 'MZN',\n 'NAD',\n 'NGN',\n 'NIO',\n 'NOK',\n 'NPR',\n 'NZD',\n 'OMR',\n 'PAB',\n 'PEN',\n 'PGK',\n 'PHP',\n 'PKR',\n 'PLN',\n 'PYG',\n 'QAR',\n 'RON',\n 'RSD',\n 'RUB',\n 'RWF',\n 'SAR',\n 'SBD',\n 'SCR',\n 'SEK',\n 'SGD',\n 'SHP',\n 'SLE',\n 'SLL',\n 'SOS',\n 'SRD',\n 'SSP',\n 'STN',\n 'SVC',\n 'SZL',\n 'THB',\n 'TND',\n 'TOP',\n 'TRY',\n 'TTD',\n 'TWD',\n 'TZS',\n 'UAH',\n 'UGX',\n 'USD',\n 'UYU',\n 'UZS',\n 'VES',\n 'VND',\n 'VUV',\n 'WST',\n 'XAF',\n 'XCD',\n 'XOF',\n 'XPF',\n 'YER',\n 'ZAR',\n 'ZMW'\n ]\n },\n tax_category: {\n type: 'string',\n description: 'Represents the different categories of taxation applicable to various products and services.',\n enum: [ 'digital_products',\n 'saas',\n 'e_book',\n 'edtech'\n ]\n }\n }\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
25
  properties: {
24
26
  id: {
25
27
  type: 'string',
26
28
  },
29
+ jq_filter: {
30
+ type: 'string',
31
+ title: 'jq Filter',
32
+ description:
33
+ '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/).',
34
+ },
27
35
  },
28
36
  },
29
37
  };
30
38
 
31
39
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
32
40
  const { id, ...body } = args as any;
33
- return asTextContentResult(await client.addons.retrieve(id));
41
+ return asTextContentResult(await maybeFilter(args, await client.addons.retrieve(id)));
34
42
  };
35
43
 
36
44
  export default { metadata, tool, handler };
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,7 +18,8 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'update_addons',
20
- description: '',
21
+ description:
22
+ "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\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/addon_response',\n $defs: {\n addon_response: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'id of the Addon'\n },\n business_id: {\n type: 'string',\n description: 'Unique identifier for the business to which the addon belongs.'\n },\n created_at: {\n type: 'string',\n description: 'Created time',\n format: 'date-time'\n },\n currency: {\n $ref: '#/$defs/currency'\n },\n name: {\n type: 'string',\n description: 'Name of the Addon'\n },\n price: {\n type: 'integer',\n description: 'Amount of the addon'\n },\n tax_category: {\n $ref: '#/$defs/tax_category'\n },\n updated_at: {\n type: 'string',\n description: 'Updated time',\n format: 'date-time'\n },\n description: {\n type: 'string',\n description: 'Optional description of the Addon'\n },\n image: {\n type: 'string',\n description: 'Image of the Addon'\n }\n },\n required: [ 'id',\n 'business_id',\n 'created_at',\n 'currency',\n 'name',\n 'price',\n 'tax_category',\n 'updated_at'\n ]\n },\n currency: {\n type: 'string',\n enum: [ 'AED',\n 'ALL',\n 'AMD',\n 'ANG',\n 'AOA',\n 'ARS',\n 'AUD',\n 'AWG',\n 'AZN',\n 'BAM',\n 'BBD',\n 'BDT',\n 'BGN',\n 'BHD',\n 'BIF',\n 'BMD',\n 'BND',\n 'BOB',\n 'BRL',\n 'BSD',\n 'BWP',\n 'BYN',\n 'BZD',\n 'CAD',\n 'CHF',\n 'CLP',\n 'CNY',\n 'COP',\n 'CRC',\n 'CUP',\n 'CVE',\n 'CZK',\n 'DJF',\n 'DKK',\n 'DOP',\n 'DZD',\n 'EGP',\n 'ETB',\n 'EUR',\n 'FJD',\n 'FKP',\n 'GBP',\n 'GEL',\n 'GHS',\n 'GIP',\n 'GMD',\n 'GNF',\n 'GTQ',\n 'GYD',\n 'HKD',\n 'HNL',\n 'HRK',\n 'HTG',\n 'HUF',\n 'IDR',\n 'ILS',\n 'INR',\n 'IQD',\n 'JMD',\n 'JOD',\n 'JPY',\n 'KES',\n 'KGS',\n 'KHR',\n 'KMF',\n 'KRW',\n 'KWD',\n 'KYD',\n 'KZT',\n 'LAK',\n 'LBP',\n 'LKR',\n 'LRD',\n 'LSL',\n 'LYD',\n 'MAD',\n 'MDL',\n 'MGA',\n 'MKD',\n 'MMK',\n 'MNT',\n 'MOP',\n 'MRU',\n 'MUR',\n 'MVR',\n 'MWK',\n 'MXN',\n 'MYR',\n 'MZN',\n 'NAD',\n 'NGN',\n 'NIO',\n 'NOK',\n 'NPR',\n 'NZD',\n 'OMR',\n 'PAB',\n 'PEN',\n 'PGK',\n 'PHP',\n 'PKR',\n 'PLN',\n 'PYG',\n 'QAR',\n 'RON',\n 'RSD',\n 'RUB',\n 'RWF',\n 'SAR',\n 'SBD',\n 'SCR',\n 'SEK',\n 'SGD',\n 'SHP',\n 'SLE',\n 'SLL',\n 'SOS',\n 'SRD',\n 'SSP',\n 'STN',\n 'SVC',\n 'SZL',\n 'THB',\n 'TND',\n 'TOP',\n 'TRY',\n 'TTD',\n 'TWD',\n 'TZS',\n 'UAH',\n 'UGX',\n 'USD',\n 'UYU',\n 'UZS',\n 'VES',\n 'VND',\n 'VUV',\n 'WST',\n 'XAF',\n 'XCD',\n 'XOF',\n 'XPF',\n 'YER',\n 'ZAR',\n 'ZMW'\n ]\n },\n tax_category: {\n type: 'string',\n description: 'Represents the different categories of taxation applicable to various products and services.',\n enum: [ 'digital_products',\n 'saas',\n 'e_book',\n 'edtech'\n ]\n }\n }\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
25
  properties: {
@@ -46,6 +48,12 @@ export const tool: Tool = {
46
48
  tax_category: {
47
49
  $ref: '#/$defs/tax_category',
48
50
  },
51
+ jq_filter: {
52
+ type: 'string',
53
+ title: 'jq Filter',
54
+ description:
55
+ '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/).',
56
+ },
49
57
  },
50
58
  $defs: {
51
59
  currency: {
@@ -210,7 +218,7 @@ export const tool: Tool = {
210
218
 
211
219
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
212
220
  const { id, ...body } = args as any;
213
- return asTextContentResult(await client.addons.update(id, body));
221
+ return asTextContentResult(await maybeFilter(args, await client.addons.update(id, body)));
214
222
  };
215
223
 
216
224
  export default { metadata, tool, handler };
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,20 +18,27 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'update_images_addons',
20
- description: '',
21
+ description:
22
+ "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\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n image_id: {\n type: 'string'\n },\n url: {\n type: 'string'\n }\n },\n required: [ 'image_id',\n 'url'\n ]\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
25
  properties: {
24
26
  id: {
25
27
  type: 'string',
26
28
  },
29
+ jq_filter: {
30
+ type: 'string',
31
+ title: 'jq Filter',
32
+ description:
33
+ '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/).',
34
+ },
27
35
  },
28
36
  },
29
37
  };
30
38
 
31
39
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
32
40
  const { id, ...body } = args as any;
33
- return asTextContentResult(await client.addons.updateImages(id));
41
+ return asTextContentResult(await maybeFilter(args, await client.addons.updateImages(id)));
34
42
  };
35
43
 
36
44
  export default { metadata, tool, handler };
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,7 +18,8 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'create_brands',
20
- description: '',
21
+ description:
22
+ "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\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n brand_id: {\n type: 'string'\n },\n business_id: {\n type: 'string'\n },\n enabled: {\n type: 'boolean'\n },\n statement_descriptor: {\n type: 'string'\n },\n verification_enabled: {\n type: 'boolean'\n },\n verification_status: {\n type: 'string',\n enum: [ 'Success',\n 'Fail',\n 'Review',\n 'Hold'\n ]\n },\n description: {\n type: 'string'\n },\n image: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n reason_for_hold: {\n type: 'string',\n description: 'Incase the brand verification fails or is put on hold'\n },\n support_email: {\n type: 'string'\n },\n url: {\n type: 'string'\n }\n },\n required: [ 'brand_id',\n 'business_id',\n 'enabled',\n 'statement_descriptor',\n 'verification_enabled',\n 'verification_status'\n ]\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
25
  properties: {
@@ -36,13 +38,19 @@ export const tool: Tool = {
36
38
  url: {
37
39
  type: 'string',
38
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
+ },
39
47
  },
40
48
  },
41
49
  };
42
50
 
43
51
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
44
52
  const body = args as any;
45
- return asTextContentResult(await client.brands.create(body));
53
+ return asTextContentResult(await maybeFilter(args, await client.brands.create(body)));
46
54
  };
47
55
 
48
56
  export default { metadata, tool, handler };
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,15 +18,23 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'list_brands',
20
- description: '',
21
+ description:
22
+ "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\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n items: {\n type: 'array',\n description: 'List of brands for this business',\n items: {\n type: 'object',\n properties: {\n brand_id: {\n type: 'string'\n },\n business_id: {\n type: 'string'\n },\n enabled: {\n type: 'boolean'\n },\n statement_descriptor: {\n type: 'string'\n },\n verification_enabled: {\n type: 'boolean'\n },\n verification_status: {\n type: 'string',\n enum: [ 'Success',\n 'Fail',\n 'Review',\n 'Hold'\n ]\n },\n description: {\n type: 'string'\n },\n image: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n reason_for_hold: {\n type: 'string',\n description: 'Incase the brand verification fails or is put on hold'\n },\n support_email: {\n type: 'string'\n },\n url: {\n type: 'string'\n }\n },\n required: [ 'brand_id',\n 'business_id',\n 'enabled',\n 'statement_descriptor',\n 'verification_enabled',\n 'verification_status'\n ]\n }\n }\n },\n required: [ 'items'\n ]\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
- properties: {},
25
+ properties: {
26
+ jq_filter: {
27
+ type: 'string',
28
+ title: 'jq Filter',
29
+ description:
30
+ '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/).',
31
+ },
32
+ },
24
33
  },
25
34
  };
26
35
 
27
36
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
28
- return asTextContentResult(await client.brands.list());
37
+ return asTextContentResult(await maybeFilter(args, await client.brands.list()));
29
38
  };
30
39
 
31
40
  export default { metadata, tool, handler };
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,20 +18,27 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'retrieve_brands',
20
- description: 'Thin handler just calls `get_brand` and wraps in `Json(...)`',
21
+ description:
22
+ "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\nThin handler just calls `get_brand` and wraps in `Json(...)`\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n brand_id: {\n type: 'string'\n },\n business_id: {\n type: 'string'\n },\n enabled: {\n type: 'boolean'\n },\n statement_descriptor: {\n type: 'string'\n },\n verification_enabled: {\n type: 'boolean'\n },\n verification_status: {\n type: 'string',\n enum: [ 'Success',\n 'Fail',\n 'Review',\n 'Hold'\n ]\n },\n description: {\n type: 'string'\n },\n image: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n reason_for_hold: {\n type: 'string',\n description: 'Incase the brand verification fails or is put on hold'\n },\n support_email: {\n type: 'string'\n },\n url: {\n type: 'string'\n }\n },\n required: [ 'brand_id',\n 'business_id',\n 'enabled',\n 'statement_descriptor',\n 'verification_enabled',\n 'verification_status'\n ]\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
25
  properties: {
24
26
  id: {
25
27
  type: 'string',
26
28
  },
29
+ jq_filter: {
30
+ type: 'string',
31
+ title: 'jq Filter',
32
+ description:
33
+ '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/).',
34
+ },
27
35
  },
28
36
  },
29
37
  };
30
38
 
31
39
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
32
40
  const { id, ...body } = args as any;
33
- return asTextContentResult(await client.brands.retrieve(id));
41
+ return asTextContentResult(await maybeFilter(args, await client.brands.retrieve(id)));
34
42
  };
35
43
 
36
44
  export default { metadata, tool, handler };
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,7 +18,8 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'update_brands',
20
- description: '',
21
+ description:
22
+ "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\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n brand_id: {\n type: 'string'\n },\n business_id: {\n type: 'string'\n },\n enabled: {\n type: 'boolean'\n },\n statement_descriptor: {\n type: 'string'\n },\n verification_enabled: {\n type: 'boolean'\n },\n verification_status: {\n type: 'string',\n enum: [ 'Success',\n 'Fail',\n 'Review',\n 'Hold'\n ]\n },\n description: {\n type: 'string'\n },\n image: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n reason_for_hold: {\n type: 'string',\n description: 'Incase the brand verification fails or is put on hold'\n },\n support_email: {\n type: 'string'\n },\n url: {\n type: 'string'\n }\n },\n required: [ 'brand_id',\n 'business_id',\n 'enabled',\n 'statement_descriptor',\n 'verification_enabled',\n 'verification_status'\n ]\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
25
  properties: {
@@ -37,13 +39,19 @@ export const tool: Tool = {
37
39
  support_email: {
38
40
  type: 'string',
39
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
+ },
40
48
  },
41
49
  },
42
50
  };
43
51
 
44
52
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
45
53
  const { id, ...body } = args as any;
46
- return asTextContentResult(await client.brands.update(id, body));
54
+ return asTextContentResult(await maybeFilter(args, await client.brands.update(id, body)));
47
55
  };
48
56
 
49
57
  export default { metadata, tool, handler };
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,20 +18,27 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'update_images_brands',
20
- description: '',
21
+ description:
22
+ "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\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n image_id: {\n type: 'string',\n description: 'UUID that will be used as the image identifier/key suffix'\n },\n url: {\n type: 'string',\n description: 'Presigned URL to upload the image'\n }\n },\n required: [ 'image_id',\n 'url'\n ]\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
25
  properties: {
24
26
  id: {
25
27
  type: 'string',
26
28
  },
29
+ jq_filter: {
30
+ type: 'string',
31
+ title: 'jq Filter',
32
+ description:
33
+ '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/).',
34
+ },
27
35
  },
28
36
  },
29
37
  };
30
38
 
31
39
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
32
40
  const { id, ...body } = args as any;
33
- return asTextContentResult(await client.brands.updateImages(id));
41
+ return asTextContentResult(await maybeFilter(args, await client.brands.updateImages(id)));
34
42
  };
35
43
 
36
44
  export default { metadata, tool, handler };
@@ -1,5 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { maybeFilter } from 'dodopayments-mcp/filtering';
3
4
  import { asTextContentResult } from 'dodopayments-mcp/tools/types';
4
5
 
5
6
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
@@ -17,7 +18,8 @@ export const metadata: Metadata = {
17
18
 
18
19
  export const tool: Tool = {
19
20
  name: 'create_customers',
20
- description: '',
21
+ description:
22
+ "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\n\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/customer',\n $defs: {\n customer: {\n type: 'object',\n properties: {\n business_id: {\n type: 'string'\n },\n created_at: {\n type: 'string',\n format: 'date-time'\n },\n customer_id: {\n type: 'string'\n },\n email: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n phone_number: {\n type: 'string'\n }\n },\n required: [ 'business_id',\n 'created_at',\n 'customer_id',\n 'email',\n 'name'\n ]\n }\n }\n}\n```",
21
23
  inputSchema: {
22
24
  type: 'object',
23
25
  properties: {
@@ -30,13 +32,19 @@ export const tool: Tool = {
30
32
  phone_number: {
31
33
  type: 'string',
32
34
  },
35
+ jq_filter: {
36
+ type: 'string',
37
+ title: 'jq Filter',
38
+ description:
39
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
40
+ },
33
41
  },
34
42
  },
35
43
  };
36
44
 
37
45
  export const handler = async (client: DodoPayments, args: Record<string, unknown> | undefined) => {
38
46
  const body = args as any;
39
- return asTextContentResult(await client.customers.create(body));
47
+ return asTextContentResult(await maybeFilter(args, await client.customers.create(body)));
40
48
  };
41
49
 
42
50
  export default { metadata, tool, handler };