@metronome/mcp 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/README.md +26 -0
  2. package/filtering.d.mts +1 -1
  3. package/filtering.d.mts.map +1 -1
  4. package/filtering.d.ts +1 -1
  5. package/filtering.d.ts.map +1 -1
  6. package/filtering.js +1 -2
  7. package/filtering.js.map +1 -1
  8. package/filtering.mjs +1 -2
  9. package/filtering.mjs.map +1 -1
  10. package/headers.d.mts +4 -0
  11. package/headers.d.mts.map +1 -0
  12. package/headers.d.ts +4 -0
  13. package/headers.d.ts.map +1 -0
  14. package/headers.js +22 -0
  15. package/headers.js.map +1 -0
  16. package/headers.mjs +18 -0
  17. package/headers.mjs.map +1 -0
  18. package/http.d.mts +6 -0
  19. package/http.d.mts.map +1 -0
  20. package/http.d.ts +6 -0
  21. package/http.d.ts.map +1 -0
  22. package/http.js +93 -0
  23. package/http.js.map +1 -0
  24. package/http.mjs +85 -0
  25. package/http.mjs.map +1 -0
  26. package/index.js +12 -7
  27. package/index.js.map +1 -1
  28. package/index.mjs +13 -8
  29. package/index.mjs.map +1 -1
  30. package/options.d.mts +3 -0
  31. package/options.d.mts.map +1 -1
  32. package/options.d.ts +3 -0
  33. package/options.d.ts.map +1 -1
  34. package/options.js +18 -0
  35. package/options.js.map +1 -1
  36. package/options.mjs +18 -0
  37. package/options.mjs.map +1 -1
  38. package/package.json +4 -3
  39. package/server.d.mts +1 -0
  40. package/server.d.mts.map +1 -1
  41. package/server.d.ts +1 -0
  42. package/server.d.ts.map +1 -1
  43. package/server.js +7 -5
  44. package/server.js.map +1 -1
  45. package/server.mjs +5 -4
  46. package/server.mjs.map +1 -1
  47. package/src/filtering.ts +1 -2
  48. package/src/headers.ts +24 -0
  49. package/src/http.ts +99 -0
  50. package/src/index.ts +15 -11
  51. package/src/options.ts +22 -0
  52. package/src/server.ts +11 -8
  53. package/src/stdio.ts +14 -0
  54. package/src/tools/v1/billable-metrics/create-v1-billable-metrics.ts +1 -0
  55. package/src/tools/v1/billable-metrics/list-v1-billable-metrics.ts +1 -1
  56. package/src/tools/v1/billable-metrics/retrieve-v1-billable-metrics.ts +1 -1
  57. package/src/tools/v1/contracts/amend-v1-contracts.ts +37 -0
  58. package/src/tools/v1/contracts/create-historical-invoices-v1-contracts.ts +3 -0
  59. package/src/tools/v1/contracts/create-v1-contracts.ts +48 -2
  60. package/src/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.ts +1 -1
  61. package/src/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.ts +1 -0
  62. package/src/tools/v1/contracts/products/create-contracts-v1-products.ts +4 -0
  63. package/src/tools/v1/contracts/products/list-contracts-v1-products.ts +1 -1
  64. package/src/tools/v1/contracts/products/retrieve-contracts-v1-products.ts +1 -1
  65. package/src/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.ts +1 -0
  66. package/src/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.ts +2 -1
  67. package/src/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.ts +1 -1
  68. package/src/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.ts +1 -0
  69. package/src/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.ts +2 -0
  70. package/src/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.ts +3 -1
  71. package/src/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.ts +3 -1
  72. package/src/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.ts +1 -1
  73. package/src/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.ts +3 -1
  74. package/src/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.ts +3 -1
  75. package/src/tools/v1/credit-grants/create-v1-credit-grants.ts +1 -0
  76. package/src/tools/v1/credit-grants/list-v1-credit-grants.ts +1 -1
  77. package/src/tools/v1/custom-fields/set-values-v1-custom-fields.ts +1 -0
  78. package/src/tools/v1/customers/commits/create-customers-v1-commits.ts +8 -0
  79. package/src/tools/v1/customers/create-v1-customers.ts +3 -1
  80. package/src/tools/v1/customers/credits/create-customers-v1-credits.ts +3 -0
  81. package/src/tools/v1/customers/list-billable-metrics-v1-customers.ts +1 -1
  82. package/src/tools/v1/customers/list-costs-v1-customers.ts +1 -1
  83. package/src/tools/v1/customers/list-v1-customers.ts +1 -1
  84. package/src/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.ts +1 -1
  85. package/src/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.ts +1 -0
  86. package/src/tools/v1/customers/plans/list-customers-v1-plans.ts +1 -1
  87. package/src/tools/v1/customers/preview-events-v1-customers.ts +1 -0
  88. package/src/tools/v1/customers/retrieve-v1-customers.ts +1 -1
  89. package/src/tools/v1/customers/set-name-v1-customers.ts +1 -1
  90. package/src/tools/v1/dashboards/get-embeddable-url-v1-dashboards.ts +1 -0
  91. package/src/tools/v1/plans/get-details-v1-plans.ts +1 -1
  92. package/src/tools/v1/plans/list-charges-v1-plans.ts +1 -1
  93. package/src/tools/v1/plans/list-customers-v1-plans.ts +1 -1
  94. package/src/tools/v1/plans/list-v1-plans.ts +1 -1
  95. package/src/tools/v1/usage/ingest-v1-usage.ts +1 -0
  96. package/src/tools/v1/usage/list-v1-usage.ts +1 -1
  97. package/src/tools/v1/usage/search-v1-usage.ts +1 -1
  98. package/src/tools/v2/contracts/edit-commit-v2-contracts.ts +6 -0
  99. package/src/tools/v2/contracts/edit-credit-v2-contracts.ts +6 -0
  100. package/src/tools/v2/contracts/edit-v2-contracts.ts +59 -4
  101. package/stdio.d.mts +4 -0
  102. package/stdio.d.mts.map +1 -0
  103. package/stdio.d.ts +4 -0
  104. package/stdio.d.ts.map +1 -0
  105. package/stdio.js +14 -0
  106. package/stdio.js.map +1 -0
  107. package/stdio.mjs +10 -0
  108. package/stdio.mjs.map +1 -0
  109. package/tools/v1/billable-metrics/create-v1-billable-metrics.d.mts.map +1 -1
  110. package/tools/v1/billable-metrics/create-v1-billable-metrics.d.ts.map +1 -1
  111. package/tools/v1/billable-metrics/create-v1-billable-metrics.js +1 -0
  112. package/tools/v1/billable-metrics/create-v1-billable-metrics.js.map +1 -1
  113. package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs +1 -0
  114. package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs.map +1 -1
  115. package/tools/v1/billable-metrics/list-v1-billable-metrics.js +1 -1
  116. package/tools/v1/billable-metrics/list-v1-billable-metrics.js.map +1 -1
  117. package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs +1 -1
  118. package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs.map +1 -1
  119. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js +1 -1
  120. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js.map +1 -1
  121. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs +1 -1
  122. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs.map +1 -1
  123. package/tools/v1/contracts/amend-v1-contracts.d.mts.map +1 -1
  124. package/tools/v1/contracts/amend-v1-contracts.d.ts.map +1 -1
  125. package/tools/v1/contracts/amend-v1-contracts.js +33 -0
  126. package/tools/v1/contracts/amend-v1-contracts.js.map +1 -1
  127. package/tools/v1/contracts/amend-v1-contracts.mjs +33 -0
  128. package/tools/v1/contracts/amend-v1-contracts.mjs.map +1 -1
  129. package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.mts.map +1 -1
  130. package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.ts.map +1 -1
  131. package/tools/v1/contracts/create-historical-invoices-v1-contracts.js +3 -0
  132. package/tools/v1/contracts/create-historical-invoices-v1-contracts.js.map +1 -1
  133. package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs +3 -0
  134. package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs.map +1 -1
  135. package/tools/v1/contracts/create-v1-contracts.d.mts.map +1 -1
  136. package/tools/v1/contracts/create-v1-contracts.d.ts.map +1 -1
  137. package/tools/v1/contracts/create-v1-contracts.js +44 -2
  138. package/tools/v1/contracts/create-v1-contracts.js.map +1 -1
  139. package/tools/v1/contracts/create-v1-contracts.mjs +44 -2
  140. package/tools/v1/contracts/create-v1-contracts.mjs.map +1 -1
  141. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.js +1 -1
  142. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.js.map +1 -1
  143. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.mjs +1 -1
  144. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.mjs.map +1 -1
  145. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.d.mts.map +1 -1
  146. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.d.ts.map +1 -1
  147. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.js +1 -0
  148. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.js.map +1 -1
  149. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.mjs +1 -0
  150. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.mjs.map +1 -1
  151. package/tools/v1/contracts/products/create-contracts-v1-products.d.mts.map +1 -1
  152. package/tools/v1/contracts/products/create-contracts-v1-products.d.ts.map +1 -1
  153. package/tools/v1/contracts/products/create-contracts-v1-products.js +4 -0
  154. package/tools/v1/contracts/products/create-contracts-v1-products.js.map +1 -1
  155. package/tools/v1/contracts/products/create-contracts-v1-products.mjs +4 -0
  156. package/tools/v1/contracts/products/create-contracts-v1-products.mjs.map +1 -1
  157. package/tools/v1/contracts/products/list-contracts-v1-products.js +1 -1
  158. package/tools/v1/contracts/products/list-contracts-v1-products.js.map +1 -1
  159. package/tools/v1/contracts/products/list-contracts-v1-products.mjs +1 -1
  160. package/tools/v1/contracts/products/list-contracts-v1-products.mjs.map +1 -1
  161. package/tools/v1/contracts/products/retrieve-contracts-v1-products.js +1 -1
  162. package/tools/v1/contracts/products/retrieve-contracts-v1-products.js.map +1 -1
  163. package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs +1 -1
  164. package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs.map +1 -1
  165. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.mts.map +1 -1
  166. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.ts.map +1 -1
  167. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js +1 -0
  168. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js.map +1 -1
  169. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs +1 -0
  170. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs.map +1 -1
  171. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.d.mts.map +1 -1
  172. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.d.ts.map +1 -1
  173. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js +2 -1
  174. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js.map +1 -1
  175. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs +2 -1
  176. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs.map +1 -1
  177. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.js +1 -1
  178. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.js.map +1 -1
  179. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.mjs +1 -1
  180. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.mjs.map +1 -1
  181. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.d.mts.map +1 -1
  182. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.d.ts.map +1 -1
  183. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.js +1 -0
  184. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.js.map +1 -1
  185. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.mjs +1 -0
  186. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.mjs.map +1 -1
  187. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  188. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  189. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js +2 -0
  190. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js.map +1 -1
  191. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs +2 -0
  192. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs.map +1 -1
  193. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  194. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  195. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js +3 -1
  196. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js.map +1 -1
  197. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs +3 -1
  198. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs.map +1 -1
  199. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  200. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  201. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js +3 -1
  202. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js.map +1 -1
  203. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs +3 -1
  204. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs.map +1 -1
  205. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js +1 -1
  206. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js.map +1 -1
  207. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs +1 -1
  208. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs.map +1 -1
  209. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.d.mts.map +1 -1
  210. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.d.ts.map +1 -1
  211. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js +3 -1
  212. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js.map +1 -1
  213. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs +3 -1
  214. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs.map +1 -1
  215. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.d.mts.map +1 -1
  216. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.d.ts.map +1 -1
  217. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js +3 -1
  218. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js.map +1 -1
  219. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs +3 -1
  220. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs.map +1 -1
  221. package/tools/v1/credit-grants/create-v1-credit-grants.d.mts.map +1 -1
  222. package/tools/v1/credit-grants/create-v1-credit-grants.d.ts.map +1 -1
  223. package/tools/v1/credit-grants/create-v1-credit-grants.js +1 -0
  224. package/tools/v1/credit-grants/create-v1-credit-grants.js.map +1 -1
  225. package/tools/v1/credit-grants/create-v1-credit-grants.mjs +1 -0
  226. package/tools/v1/credit-grants/create-v1-credit-grants.mjs.map +1 -1
  227. package/tools/v1/credit-grants/list-v1-credit-grants.js +1 -1
  228. package/tools/v1/credit-grants/list-v1-credit-grants.js.map +1 -1
  229. package/tools/v1/credit-grants/list-v1-credit-grants.mjs +1 -1
  230. package/tools/v1/credit-grants/list-v1-credit-grants.mjs.map +1 -1
  231. package/tools/v1/custom-fields/set-values-v1-custom-fields.d.mts.map +1 -1
  232. package/tools/v1/custom-fields/set-values-v1-custom-fields.d.ts.map +1 -1
  233. package/tools/v1/custom-fields/set-values-v1-custom-fields.js +1 -0
  234. package/tools/v1/custom-fields/set-values-v1-custom-fields.js.map +1 -1
  235. package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs +1 -0
  236. package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs.map +1 -1
  237. package/tools/v1/customers/commits/create-customers-v1-commits.d.mts.map +1 -1
  238. package/tools/v1/customers/commits/create-customers-v1-commits.d.ts.map +1 -1
  239. package/tools/v1/customers/commits/create-customers-v1-commits.js +7 -0
  240. package/tools/v1/customers/commits/create-customers-v1-commits.js.map +1 -1
  241. package/tools/v1/customers/commits/create-customers-v1-commits.mjs +7 -0
  242. package/tools/v1/customers/commits/create-customers-v1-commits.mjs.map +1 -1
  243. package/tools/v1/customers/create-v1-customers.d.mts.map +1 -1
  244. package/tools/v1/customers/create-v1-customers.d.ts.map +1 -1
  245. package/tools/v1/customers/create-v1-customers.js +3 -1
  246. package/tools/v1/customers/create-v1-customers.js.map +1 -1
  247. package/tools/v1/customers/create-v1-customers.mjs +3 -1
  248. package/tools/v1/customers/create-v1-customers.mjs.map +1 -1
  249. package/tools/v1/customers/credits/create-customers-v1-credits.d.mts.map +1 -1
  250. package/tools/v1/customers/credits/create-customers-v1-credits.d.ts.map +1 -1
  251. package/tools/v1/customers/credits/create-customers-v1-credits.js +3 -0
  252. package/tools/v1/customers/credits/create-customers-v1-credits.js.map +1 -1
  253. package/tools/v1/customers/credits/create-customers-v1-credits.mjs +3 -0
  254. package/tools/v1/customers/credits/create-customers-v1-credits.mjs.map +1 -1
  255. package/tools/v1/customers/list-billable-metrics-v1-customers.js +1 -1
  256. package/tools/v1/customers/list-billable-metrics-v1-customers.js.map +1 -1
  257. package/tools/v1/customers/list-billable-metrics-v1-customers.mjs +1 -1
  258. package/tools/v1/customers/list-billable-metrics-v1-customers.mjs.map +1 -1
  259. package/tools/v1/customers/list-costs-v1-customers.js +1 -1
  260. package/tools/v1/customers/list-costs-v1-customers.js.map +1 -1
  261. package/tools/v1/customers/list-costs-v1-customers.mjs +1 -1
  262. package/tools/v1/customers/list-costs-v1-customers.mjs.map +1 -1
  263. package/tools/v1/customers/list-v1-customers.js +1 -1
  264. package/tools/v1/customers/list-v1-customers.js.map +1 -1
  265. package/tools/v1/customers/list-v1-customers.mjs +1 -1
  266. package/tools/v1/customers/list-v1-customers.mjs.map +1 -1
  267. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.js +1 -1
  268. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.js.map +1 -1
  269. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.mjs +1 -1
  270. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.mjs.map +1 -1
  271. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.d.mts.map +1 -1
  272. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.d.ts.map +1 -1
  273. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.js +1 -0
  274. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.js.map +1 -1
  275. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.mjs +1 -0
  276. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.mjs.map +1 -1
  277. package/tools/v1/customers/plans/list-customers-v1-plans.js +1 -1
  278. package/tools/v1/customers/plans/list-customers-v1-plans.js.map +1 -1
  279. package/tools/v1/customers/plans/list-customers-v1-plans.mjs +1 -1
  280. package/tools/v1/customers/plans/list-customers-v1-plans.mjs.map +1 -1
  281. package/tools/v1/customers/preview-events-v1-customers.d.mts.map +1 -1
  282. package/tools/v1/customers/preview-events-v1-customers.d.ts.map +1 -1
  283. package/tools/v1/customers/preview-events-v1-customers.js +1 -0
  284. package/tools/v1/customers/preview-events-v1-customers.js.map +1 -1
  285. package/tools/v1/customers/preview-events-v1-customers.mjs +1 -0
  286. package/tools/v1/customers/preview-events-v1-customers.mjs.map +1 -1
  287. package/tools/v1/customers/retrieve-v1-customers.js +1 -1
  288. package/tools/v1/customers/retrieve-v1-customers.js.map +1 -1
  289. package/tools/v1/customers/retrieve-v1-customers.mjs +1 -1
  290. package/tools/v1/customers/retrieve-v1-customers.mjs.map +1 -1
  291. package/tools/v1/customers/set-name-v1-customers.js +1 -1
  292. package/tools/v1/customers/set-name-v1-customers.js.map +1 -1
  293. package/tools/v1/customers/set-name-v1-customers.mjs +1 -1
  294. package/tools/v1/customers/set-name-v1-customers.mjs.map +1 -1
  295. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.d.mts.map +1 -1
  296. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.d.ts.map +1 -1
  297. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js +1 -0
  298. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js.map +1 -1
  299. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs +1 -0
  300. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs.map +1 -1
  301. package/tools/v1/plans/get-details-v1-plans.js +1 -1
  302. package/tools/v1/plans/get-details-v1-plans.js.map +1 -1
  303. package/tools/v1/plans/get-details-v1-plans.mjs +1 -1
  304. package/tools/v1/plans/get-details-v1-plans.mjs.map +1 -1
  305. package/tools/v1/plans/list-charges-v1-plans.js +1 -1
  306. package/tools/v1/plans/list-charges-v1-plans.js.map +1 -1
  307. package/tools/v1/plans/list-charges-v1-plans.mjs +1 -1
  308. package/tools/v1/plans/list-charges-v1-plans.mjs.map +1 -1
  309. package/tools/v1/plans/list-customers-v1-plans.js +1 -1
  310. package/tools/v1/plans/list-customers-v1-plans.js.map +1 -1
  311. package/tools/v1/plans/list-customers-v1-plans.mjs +1 -1
  312. package/tools/v1/plans/list-customers-v1-plans.mjs.map +1 -1
  313. package/tools/v1/plans/list-v1-plans.js +1 -1
  314. package/tools/v1/plans/list-v1-plans.js.map +1 -1
  315. package/tools/v1/plans/list-v1-plans.mjs +1 -1
  316. package/tools/v1/plans/list-v1-plans.mjs.map +1 -1
  317. package/tools/v1/usage/ingest-v1-usage.d.mts.map +1 -1
  318. package/tools/v1/usage/ingest-v1-usage.d.ts.map +1 -1
  319. package/tools/v1/usage/ingest-v1-usage.js +1 -0
  320. package/tools/v1/usage/ingest-v1-usage.js.map +1 -1
  321. package/tools/v1/usage/ingest-v1-usage.mjs +1 -0
  322. package/tools/v1/usage/ingest-v1-usage.mjs.map +1 -1
  323. package/tools/v1/usage/list-v1-usage.js +1 -1
  324. package/tools/v1/usage/list-v1-usage.js.map +1 -1
  325. package/tools/v1/usage/list-v1-usage.mjs +1 -1
  326. package/tools/v1/usage/list-v1-usage.mjs.map +1 -1
  327. package/tools/v1/usage/search-v1-usage.js +1 -1
  328. package/tools/v1/usage/search-v1-usage.js.map +1 -1
  329. package/tools/v1/usage/search-v1-usage.mjs +1 -1
  330. package/tools/v1/usage/search-v1-usage.mjs.map +1 -1
  331. package/tools/v2/contracts/edit-commit-v2-contracts.d.mts.map +1 -1
  332. package/tools/v2/contracts/edit-commit-v2-contracts.d.ts.map +1 -1
  333. package/tools/v2/contracts/edit-commit-v2-contracts.js +6 -0
  334. package/tools/v2/contracts/edit-commit-v2-contracts.js.map +1 -1
  335. package/tools/v2/contracts/edit-commit-v2-contracts.mjs +6 -0
  336. package/tools/v2/contracts/edit-commit-v2-contracts.mjs.map +1 -1
  337. package/tools/v2/contracts/edit-credit-v2-contracts.d.mts.map +1 -1
  338. package/tools/v2/contracts/edit-credit-v2-contracts.d.ts.map +1 -1
  339. package/tools/v2/contracts/edit-credit-v2-contracts.js +6 -0
  340. package/tools/v2/contracts/edit-credit-v2-contracts.js.map +1 -1
  341. package/tools/v2/contracts/edit-credit-v2-contracts.mjs +6 -0
  342. package/tools/v2/contracts/edit-credit-v2-contracts.mjs.map +1 -1
  343. package/tools/v2/contracts/edit-v2-contracts.d.mts.map +1 -1
  344. package/tools/v2/contracts/edit-v2-contracts.d.ts.map +1 -1
  345. package/tools/v2/contracts/edit-v2-contracts.js +55 -4
  346. package/tools/v2/contracts/edit-v2-contracts.js.map +1 -1
  347. package/tools/v2/contracts/edit-v2-contracts.mjs +55 -4
  348. package/tools/v2/contracts/edit-v2-contracts.mjs.map +1 -1
package/options.mjs CHANGED
@@ -111,6 +111,20 @@ export function parseOptions() {
111
111
  .option('describe-capabilities', {
112
112
  type: 'boolean',
113
113
  description: 'Print detailed explanation of client capabilities and exit',
114
+ })
115
+ .option('transport', {
116
+ type: 'string',
117
+ choices: ['stdio', 'http'],
118
+ default: 'stdio',
119
+ description: 'What transport to use; stdio for local servers or http for remote servers',
120
+ })
121
+ .option('port', {
122
+ type: 'number',
123
+ description: 'Port to serve on if using http transport',
124
+ })
125
+ .option('socket', {
126
+ type: 'string',
127
+ description: 'Unix socket to serve on if using http transport',
114
128
  })
115
129
  .help();
116
130
  for (const [command, desc] of examples()) {
@@ -212,6 +226,7 @@ export function parseOptions() {
212
226
  const explicitTools = Boolean(argv.tools || argv.noTools);
213
227
  const includeDynamicTools = explicitTools ? argv.tools?.includes('dynamic') && !argv.noTools?.includes('dynamic') : undefined;
214
228
  const includeAllTools = explicitTools ? argv.tools?.includes('all') && !argv.noTools?.includes('all') : undefined;
229
+ const transport = argv.transport;
215
230
  const client = argv.client;
216
231
  return {
217
232
  client: client && knownClients[client] ? client : undefined,
@@ -220,6 +235,9 @@ export function parseOptions() {
220
235
  filters,
221
236
  capabilities: clientCapabilities,
222
237
  list: argv.list || false,
238
+ transport,
239
+ port: argv.port,
240
+ socket: argv.socket,
223
241
  };
224
242
  }
225
243
  function getCapabilitiesExplanation() {
package/options.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"options.mjs","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.mjs","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metronome/mcp",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "The official MCP Server for the Metronome API",
5
5
  "author": "Metronome <dev-feedback@metronome.com>",
6
6
  "types": "./index.d.ts",
@@ -24,9 +24,10 @@
24
24
  "fix": "eslint --fix --ext ts,js ."
25
25
  },
26
26
  "dependencies": {
27
- "@metronome/sdk": "^0.2.0",
27
+ "@metronome/sdk": "^0.3.0",
28
28
  "@modelcontextprotocol/sdk": "^1.11.5",
29
- "jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.2/jq-web.tar.gz",
29
+ "express": "^5.1.0",
30
+ "jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz",
30
31
  "yargs": "^17.7.2",
31
32
  "@cloudflare/cabidela": "^0.2.4",
32
33
  "zod": "^3.25.20",
package/server.d.mts CHANGED
@@ -11,6 +11,7 @@ export { ClientType } from "./compat.mjs";
11
11
  export { Filter } from "./tools.mjs";
12
12
  export { ClientOptions } from '@metronome/sdk';
13
13
  export { endpoints } from "./tools.mjs";
14
+ export declare const newMcpServer: () => McpServer;
14
15
  export declare const server: McpServer;
15
16
  /**
16
17
  * Initializes the provided MCP Server with the given tools and handlers.
package/server.d.mts.map CHANGED
@@ -1 +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,EAAE,QAAQ,EAAa,eAAe,EAAS;OAC/C,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,EAAE,aAAa,EAAE,MAAM,gBAAgB;OACvC,SAAS,MAAM,gBAAgB;OAC/B,EAEL,kBAAkB,EAInB;OAEM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,gBAAgB;OACvC,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAMlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CACxD,QAQA;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC5C,QAuBA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,cAqBrE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,mDAOnD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC"}
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,EAAE,QAAQ,EAAa,eAAe,EAAS;OAC/C,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,EAAE,aAAa,EAAE,MAAM,gBAAgB;OACvC,SAAS,MAAM,gBAAgB;OAC/B,EAEL,kBAAkB,EAInB;OAEM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,gBAAgB;OACvC,EAAE,SAAS,EAAE;AAEpB,eAAO,MAAM,YAAY,iBAOtB,CAAC;AAGJ,eAAO,MAAM,MAAM,WAAiB,CAAC;AAErC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CACxD,QAQA;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC5C,QAuBA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,EAAE,CAqBlF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,mDAOnD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC"}
package/server.d.ts CHANGED
@@ -11,6 +11,7 @@ export { ClientType } from "./compat.js";
11
11
  export { Filter } from "./tools.js";
12
12
  export { ClientOptions } from '@metronome/sdk';
13
13
  export { endpoints } from "./tools.js";
14
+ export declare const newMcpServer: () => McpServer;
14
15
  export declare const server: McpServer;
15
16
  /**
16
17
  * Initializes the provided MCP Server with the given tools and handlers.
package/server.d.ts.map CHANGED
@@ -1 +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,EAAE,QAAQ,EAAa,eAAe,EAAS;OAC/C,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,EAAE,aAAa,EAAE,MAAM,gBAAgB;OACvC,SAAS,MAAM,gBAAgB;OAC/B,EAEL,kBAAkB,EAInB;OAEM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,gBAAgB;OACvC,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAMlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CACxD,QAQA;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC5C,QAuBA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,cAqBrE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,mDAOnD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC"}
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,EAAE,QAAQ,EAAa,eAAe,EAAS;OAC/C,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,EAAE,aAAa,EAAE,MAAM,gBAAgB;OACvC,SAAS,MAAM,gBAAgB;OAC/B,EAEL,kBAAkB,EAInB;OAEM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,gBAAgB;OACvC,EAAE,SAAS,EAAE;AAEpB,eAAO,MAAM,YAAY,iBAOtB,CAAC;AAGJ,eAAO,MAAM,MAAM,WAAiB,CAAC;AAErC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CACxD,QAQA;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC5C,QAuBA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,EAAE,CAqBlF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,mDAOnD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC"}
package/server.js CHANGED
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.readEnvOrError = exports.readEnv = exports.server = exports.endpoints = void 0;
7
+ exports.readEnvOrError = exports.readEnv = exports.server = exports.newMcpServer = exports.endpoints = void 0;
8
8
  exports.initMcpServer = initMcpServer;
9
9
  exports.init = init;
10
10
  exports.selectTools = selectTools;
@@ -17,11 +17,13 @@ const compat_1 = require("./compat.js");
17
17
  const dynamic_tools_1 = require("./dynamic-tools.js");
18
18
  var tools_2 = require("./tools.js");
19
19
  Object.defineProperty(exports, "endpoints", { enumerable: true, get: function () { return tools_2.endpoints; } });
20
- // Create server instance
21
- exports.server = new mcp_js_1.McpServer({
20
+ const newMcpServer = () => new mcp_js_1.McpServer({
22
21
  name: 'metronome_sdk_api',
23
- version: '0.2.0',
24
- }, { capabilities: { tools: {} } });
22
+ version: '0.3.0',
23
+ }, { capabilities: { tools: {}, logging: {} } });
24
+ exports.newMcpServer = newMcpServer;
25
+ // Create server instance
26
+ exports.server = (0, exports.newMcpServer)();
25
27
  /**
26
28
  * Initializes the provided MCP Server with the given tools and handlers.
27
29
  * If not provided, the default client, tools and handlers will be used.
package/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
package/server.mjs CHANGED
@@ -6,11 +6,12 @@ import Metronome from '@metronome/sdk';
6
6
  import { applyCompatibilityTransformations, defaultClientCapabilities, knownClients, parseEmbeddedJSON, } from "./compat.mjs";
7
7
  import { dynamicTools } from "./dynamic-tools.mjs";
8
8
  export { endpoints } from "./tools.mjs";
9
- // Create server instance
10
- export const server = new McpServer({
9
+ export const newMcpServer = () => new McpServer({
11
10
  name: 'metronome_sdk_api',
12
- version: '0.2.0',
13
- }, { capabilities: { tools: {} } });
11
+ version: '0.3.0',
12
+ }, { capabilities: { tools: {}, logging: {} } });
13
+ // Create server instance
14
+ export const server = newMcpServer();
14
15
  /**
15
16
  * Initializes the provided MCP Server with the given tools and handlers.
16
17
  * If not provided, the default client, tools and handlers will be used.
package/server.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
package/src/filtering.ts CHANGED
@@ -1,8 +1,7 @@
1
1
  // @ts-nocheck
2
2
  import initJq from 'jq-web';
3
3
 
4
- export async function maybeFilter(args: Record<string, unknown> | undefined, response: any): Promise<any> {
5
- const jqFilter = args?.['jq_filter'];
4
+ export async function maybeFilter(jqFilter: unknown | undefined, response: any): Promise<any> {
6
5
  if (jqFilter && typeof jqFilter === 'string') {
7
6
  return await jq(response, jqFilter);
8
7
  } else {
package/src/headers.ts ADDED
@@ -0,0 +1,24 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { type ClientOptions } from '@metronome/sdk/index';
4
+
5
+ import { IncomingMessage } from 'node:http';
6
+
7
+ export const parseAuthHeaders = (req: IncomingMessage): Partial<ClientOptions> => {
8
+ if (req.headers.authorization) {
9
+ const scheme = req.headers.authorization.split(' ')[0]!;
10
+ const value = req.headers.authorization.slice(scheme.length + 1);
11
+ switch (scheme) {
12
+ case 'Bearer':
13
+ return { bearerToken: req.headers.authorization.slice('Bearer '.length) };
14
+ default:
15
+ throw new Error(`Unsupported authorization scheme`);
16
+ }
17
+ }
18
+
19
+ const bearerToken =
20
+ req.headers['x-metronome-bearer-token'] instanceof Array ?
21
+ req.headers['x-metronome-bearer-token'][0]
22
+ : req.headers['x-metronome-bearer-token'];
23
+ return { bearerToken };
24
+ };
package/src/http.ts ADDED
@@ -0,0 +1,99 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp';
4
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
5
+
6
+ import express from 'express';
7
+ import { McpOptions } from './options';
8
+ import { initMcpServer, newMcpServer } from './server';
9
+ import { parseAuthHeaders } from './headers';
10
+ import { Endpoint } from './tools';
11
+
12
+ const newServer = (mcpOptions: McpOptions, req: express.Request, res: express.Response): McpServer | null => {
13
+ const server = newMcpServer();
14
+ try {
15
+ const authOptions = parseAuthHeaders(req);
16
+ initMcpServer({
17
+ server: server,
18
+ clientOptions: {
19
+ ...authOptions,
20
+ defaultHeaders: {
21
+ 'X-Stainless-MCP': 'true',
22
+ },
23
+ },
24
+ mcpOptions,
25
+ });
26
+ } catch {
27
+ res.status(401).json({
28
+ jsonrpc: '2.0',
29
+ error: {
30
+ code: -32000,
31
+ message: 'Unauthorized',
32
+ },
33
+ });
34
+ return null;
35
+ }
36
+
37
+ return server;
38
+ };
39
+
40
+ const post = (defaultOptions: McpOptions) => async (req: express.Request, res: express.Response) => {
41
+ const server = newServer(defaultOptions, req, res);
42
+ // If we return null, we already set the authorization error.
43
+ if (server === null) return;
44
+ const transport = new StreamableHTTPServerTransport({
45
+ // Stateless server
46
+ sessionIdGenerator: undefined,
47
+ });
48
+ await server.connect(transport);
49
+ await transport.handleRequest(req, res, req.body);
50
+ };
51
+
52
+ const get = async (req: express.Request, res: express.Response) => {
53
+ res.status(405).json({
54
+ jsonrpc: '2.0',
55
+ error: {
56
+ code: -32000,
57
+ message: 'Method not supported',
58
+ },
59
+ });
60
+ };
61
+
62
+ const del = async (req: express.Request, res: express.Response) => {
63
+ res.status(405).json({
64
+ jsonrpc: '2.0',
65
+ error: {
66
+ code: -32000,
67
+ message: 'Method not supported',
68
+ },
69
+ });
70
+ };
71
+
72
+ export const streamableHTTPApp = (options: McpOptions): express.Express => {
73
+ const app = express();
74
+ app.use(express.json());
75
+
76
+ app.get('/', get);
77
+ app.post('/', post(options));
78
+ app.delete('/', del);
79
+
80
+ return app;
81
+ };
82
+
83
+ export const launchStreamableHTTPServer = async (
84
+ options: McpOptions,
85
+ endpoints: Endpoint[],
86
+ port: number | string | undefined,
87
+ ) => {
88
+ const app = streamableHTTPApp(options);
89
+ const server = app.listen(port);
90
+ const address = server.address();
91
+
92
+ if (typeof address === 'string') {
93
+ console.error(`MCP Server running on streamable HTTP at ${address}`);
94
+ } else if (address !== null) {
95
+ console.error(`MCP Server running on streamable HTTP on port ${address.port}`);
96
+ } else {
97
+ console.error(`MCP Server running on streamable HTTP on port ${port}`);
98
+ }
99
+ };
package/src/index.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
- import { init, selectTools, server } from './server';
3
+ import { selectTools } from './server';
5
4
  import { Endpoint, endpoints } from './tools';
6
5
  import { McpOptions, parseOptions } from './options';
6
+ import { launchStdioServer } from './stdio';
7
+ import { launchStreamableHTTPServer } from './http';
7
8
 
8
9
  async function main() {
9
10
  const options = parseOptionsOrError();
@@ -13,18 +14,21 @@ async function main() {
13
14
  return;
14
15
  }
15
16
 
16
- const includedTools = selectToolsOrError(endpoints, options);
17
+ const selectedTools = selectToolsOrError(endpoints, options);
17
18
 
18
19
  console.error(
19
- `MCP Server starting with ${includedTools.length} tools:`,
20
- includedTools.map((e) => e.tool.name),
20
+ `MCP Server starting with ${selectedTools.length} tools:`,
21
+ selectedTools.map((e) => e.tool.name),
21
22
  );
22
23
 
23
- init({ server, endpoints: includedTools });
24
-
25
- const transport = new StdioServerTransport();
26
- await server.connect(transport);
27
- console.error('MCP Server running on stdio');
24
+ switch (options.transport) {
25
+ case 'stdio':
26
+ await launchStdioServer(options, selectedTools);
27
+ break;
28
+ case 'http':
29
+ await launchStreamableHTTPServer(options, selectedTools, options.port ?? options.socket);
30
+ break;
31
+ }
28
32
  }
29
33
 
30
34
  if (require.main === module) {
@@ -43,7 +47,7 @@ function parseOptionsOrError() {
43
47
  }
44
48
  }
45
49
 
46
- function selectToolsOrError(endpoints: Endpoint[], options: McpOptions) {
50
+ function selectToolsOrError(endpoints: Endpoint[], options: McpOptions): Endpoint[] {
47
51
  try {
48
52
  const includedTools = selectTools(endpoints, options);
49
53
  if (includedTools.length === 0) {
package/src/options.ts CHANGED
@@ -5,6 +5,9 @@ import { ClientCapabilities, knownClients, ClientType } from './compat';
5
5
 
6
6
  export type CLIOptions = McpOptions & {
7
7
  list: boolean;
8
+ transport: 'stdio' | 'http';
9
+ port: number | undefined;
10
+ socket: string | undefined;
8
11
  };
9
12
 
10
13
  export type McpOptions = {
@@ -129,6 +132,20 @@ export function parseOptions(): CLIOptions {
129
132
  type: 'boolean',
130
133
  description: 'Print detailed explanation of client capabilities and exit',
131
134
  })
135
+ .option('transport', {
136
+ type: 'string',
137
+ choices: ['stdio', 'http'],
138
+ default: 'stdio',
139
+ description: 'What transport to use; stdio for local servers or http for remote servers',
140
+ })
141
+ .option('port', {
142
+ type: 'number',
143
+ description: 'Port to serve on if using http transport',
144
+ })
145
+ .option('socket', {
146
+ type: 'string',
147
+ description: 'Unix socket to serve on if using http transport',
148
+ })
132
149
  .help();
133
150
 
134
151
  for (const [command, desc] of examples()) {
@@ -238,6 +255,8 @@ export function parseOptions(): CLIOptions {
238
255
  const includeAllTools =
239
256
  explicitTools ? argv.tools?.includes('all') && !argv.noTools?.includes('all') : undefined;
240
257
 
258
+ const transport = argv.transport as 'stdio' | 'http';
259
+
241
260
  const client = argv.client as ClientType;
242
261
  return {
243
262
  client: client && knownClients[client] ? client : undefined,
@@ -246,6 +265,9 @@ export function parseOptions(): CLIOptions {
246
265
  filters,
247
266
  capabilities: clientCapabilities,
248
267
  list: argv.list || false,
268
+ transport,
269
+ port: argv.port,
270
+ socket: argv.socket,
249
271
  };
250
272
  }
251
273
 
package/src/server.ts CHANGED
@@ -22,14 +22,17 @@ export { Filter } from './tools';
22
22
  export { ClientOptions } from '@metronome/sdk';
23
23
  export { endpoints } from './tools';
24
24
 
25
+ export const newMcpServer = () =>
26
+ new McpServer(
27
+ {
28
+ name: 'metronome_sdk_api',
29
+ version: '0.3.0',
30
+ },
31
+ { capabilities: { tools: {}, logging: {} } },
32
+ );
33
+
25
34
  // Create server instance
26
- export const server = new McpServer(
27
- {
28
- name: 'metronome_sdk_api',
29
- version: '0.2.0',
30
- },
31
- { capabilities: { tools: {} } },
32
- );
35
+ export const server = newMcpServer();
33
36
 
34
37
  /**
35
38
  * Initializes the provided MCP Server with the given tools and handlers.
@@ -83,7 +86,7 @@ export function init(params: {
83
86
  /**
84
87
  * Selects the tools to include in the MCP Server based on the provided options.
85
88
  */
86
- export function selectTools(endpoints: Endpoint[], options: McpOptions) {
89
+ export function selectTools(endpoints: Endpoint[], options: McpOptions): Endpoint[] {
87
90
  const filteredEndpoints = query(options.filters, endpoints);
88
91
 
89
92
  let includedTools = filteredEndpoints;
package/src/stdio.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
+ import { init, newMcpServer } from './server';
3
+ import { Endpoint } from './tools';
4
+ import { McpOptions } from './options';
5
+
6
+ export const launchStdioServer = async (options: McpOptions, endpoints: Endpoint[]) => {
7
+ const server = newMcpServer();
8
+
9
+ init({ server, endpoints });
10
+
11
+ const transport = new StdioServerTransport();
12
+ await server.connect(transport);
13
+ console.error('MCP Server running on stdio');
14
+ };
@@ -39,6 +39,7 @@ export const tool: Tool = {
39
39
  custom_fields: {
40
40
  type: 'object',
41
41
  description: 'Custom fields to attach to the billable metric.',
42
+ additionalProperties: true,
42
43
  },
43
44
  event_type_filter: {
44
45
  $ref: '#/$defs/event_type_filter',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_v1_billable_metrics',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all billable metrics.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'ID of the billable metric'\n },\n name: {\n type: 'string',\n description: 'The display name of the billable metric.'\n },\n aggregation_key: {\n type: 'string',\n description: 'A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is \\'count\\'.'\n },\n aggregation_type: {\n type: 'string',\n description: 'Specifies the type of aggregation performed on matching events.',\n enum: [ 'COUNT',\n 'LATEST',\n 'MAX',\n 'SUM',\n 'UNIQUE'\n ]\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object'\n },\n event_type_filter: {\n $ref: '#/$defs/event_type_filter'\n },\n group_keys: {\n type: 'array',\n description: 'Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n },\n property_filters: {\n type: 'array',\n description: 'A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.',\n items: {\n $ref: '#/$defs/property_filter'\n }\n },\n sql: {\n type: 'string',\n description: 'The SQL query associated with the billable metric'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n event_type_filter: {\n type: 'object',\n description: 'An optional filtering rule to match the \\'event_type\\' property of an event.',\n properties: {\n in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n }\n },\n property_filter: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the event property.'\n },\n exists: {\n type: 'boolean',\n description: 'Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional.'\n },\n in_values: {\n type: 'array',\n description: 'Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n },\n required: [ 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all billable metrics.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'ID of the billable metric'\n },\n name: {\n type: 'string',\n description: 'The display name of the billable metric.'\n },\n aggregation_key: {\n type: 'string',\n description: 'A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is \\'count\\'.'\n },\n aggregation_type: {\n type: 'string',\n description: 'Specifies the type of aggregation performed on matching events.',\n enum: [ 'COUNT',\n 'LATEST',\n 'MAX',\n 'SUM',\n 'UNIQUE'\n ]\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n event_type_filter: {\n $ref: '#/$defs/event_type_filter'\n },\n group_keys: {\n type: 'array',\n description: 'Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n },\n property_filters: {\n type: 'array',\n description: 'A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.',\n items: {\n $ref: '#/$defs/property_filter'\n }\n },\n sql: {\n type: 'string',\n description: 'The SQL query associated with the billable metric'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n event_type_filter: {\n type: 'object',\n description: 'An optional filtering rule to match the \\'event_type\\' property of an event.',\n properties: {\n in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n }\n },\n property_filter: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the event property.'\n },\n exists: {\n type: 'boolean',\n description: 'Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional.'\n },\n in_values: {\n type: 'array',\n description: 'Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n },\n required: [ 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'retrieve_v1_billable_metrics',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet a billable metric.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'ID of the billable metric'\n },\n name: {\n type: 'string',\n description: 'The display name of the billable metric.'\n },\n aggregation_key: {\n type: 'string',\n description: 'A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is \\'count\\'.'\n },\n aggregation_type: {\n type: 'string',\n description: 'Specifies the type of aggregation performed on matching events.',\n enum: [ 'COUNT',\n 'LATEST',\n 'MAX',\n 'SUM',\n 'UNIQUE'\n ]\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object'\n },\n event_type_filter: {\n $ref: '#/$defs/event_type_filter'\n },\n group_keys: {\n type: 'array',\n description: 'Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n },\n property_filters: {\n type: 'array',\n description: 'A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.',\n items: {\n $ref: '#/$defs/property_filter'\n }\n },\n sql: {\n type: 'string',\n description: 'The SQL query associated with the billable metric'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n required: [ 'data'\n ],\n $defs: {\n event_type_filter: {\n type: 'object',\n description: 'An optional filtering rule to match the \\'event_type\\' property of an event.',\n properties: {\n in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n }\n },\n property_filter: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the event property.'\n },\n exists: {\n type: 'boolean',\n description: 'Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional.'\n },\n in_values: {\n type: 'array',\n description: 'Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n },\n required: [ 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet a billable metric.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'ID of the billable metric'\n },\n name: {\n type: 'string',\n description: 'The display name of the billable metric.'\n },\n aggregation_key: {\n type: 'string',\n description: 'A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is \\'count\\'.'\n },\n aggregation_type: {\n type: 'string',\n description: 'Specifies the type of aggregation performed on matching events.',\n enum: [ 'COUNT',\n 'LATEST',\n 'MAX',\n 'SUM',\n 'UNIQUE'\n ]\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n event_type_filter: {\n $ref: '#/$defs/event_type_filter'\n },\n group_keys: {\n type: 'array',\n description: 'Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n },\n property_filters: {\n type: 'array',\n description: 'A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.',\n items: {\n $ref: '#/$defs/property_filter'\n }\n },\n sql: {\n type: 'string',\n description: 'The SQL query associated with the billable metric'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n required: [ 'data'\n ],\n $defs: {\n event_type_filter: {\n type: 'object',\n description: 'An optional filtering rule to match the \\'event_type\\' property of an event.',\n properties: {\n in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n }\n },\n property_filter: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the event property.'\n },\n exists: {\n type: 'boolean',\n description: 'Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional.'\n },\n in_values: {\n type: 'array',\n description: 'Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n },\n required: [ 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {