@henrylabs/mcp 0.2.0 → 0.5.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 (192) hide show
  1. package/README.md +17 -37
  2. package/code-tool.d.mts.map +1 -1
  3. package/code-tool.d.ts.map +1 -1
  4. package/code-tool.js +0 -1
  5. package/code-tool.js.map +1 -1
  6. package/code-tool.mjs +0 -1
  7. package/code-tool.mjs.map +1 -1
  8. package/headers.d.mts.map +1 -1
  9. package/headers.d.ts.map +1 -1
  10. package/headers.js +1 -4
  11. package/headers.js.map +1 -1
  12. package/headers.mjs +1 -4
  13. package/headers.mjs.map +1 -1
  14. package/package.json +2 -2
  15. package/server.js +1 -1
  16. package/server.mjs +1 -1
  17. package/src/code-tool.ts +0 -1
  18. package/src/headers.ts +1 -5
  19. package/src/server.ts +1 -1
  20. package/src/tools/cart/{create-checkout-cart.ts → create-cart-checkout.ts} +2 -2
  21. package/src/tools/cart/items/add-cart-items.ts +1 -1
  22. package/src/tools/cart/items/clear-cart-items.ts +1 -1
  23. package/src/tools/cart/items/list-cart-items.ts +1 -1
  24. package/src/tools/cart/items/remove-cart-items.ts +1 -1
  25. package/src/tools/checkout/session/confirm-checkout-session.ts +101 -0
  26. package/src/tools/checkout/session/{create-quote-checkout-session.ts → create-checkout-session.ts} +3 -3
  27. package/src/tools/index.ts +10 -24
  28. package/src/tools/orders/retrieve-status-orders.ts +1 -1
  29. package/src/tools/products/retrieve-product-details.ts +48 -0
  30. package/src/tools/products/search-products.ts +2 -2
  31. package/src/tools/wallet/{create-card-collection-wallet.ts → collect-payment-details.ts} +3 -3
  32. package/tools/cart/{create-checkout-cart.d.mts → create-cart-checkout.d.mts} +1 -1
  33. package/tools/cart/{create-checkout-cart.d.mts.map → create-cart-checkout.d.mts.map} +1 -1
  34. package/tools/cart/{create-checkout-cart.d.ts → create-cart-checkout.d.ts} +1 -1
  35. package/tools/cart/{create-checkout-cart.d.ts.map → create-cart-checkout.d.ts.map} +1 -1
  36. package/tools/cart/{create-checkout-cart.js → create-cart-checkout.js} +3 -3
  37. package/tools/cart/{create-checkout-cart.js.map → create-cart-checkout.js.map} +1 -1
  38. package/tools/cart/{create-checkout-cart.mjs → create-cart-checkout.mjs} +3 -3
  39. package/tools/cart/{create-checkout-cart.mjs.map → create-cart-checkout.mjs.map} +1 -1
  40. package/tools/cart/items/add-cart-items.js +1 -1
  41. package/tools/cart/items/add-cart-items.js.map +1 -1
  42. package/tools/cart/items/add-cart-items.mjs +1 -1
  43. package/tools/cart/items/add-cart-items.mjs.map +1 -1
  44. package/tools/cart/items/clear-cart-items.js +1 -1
  45. package/tools/cart/items/clear-cart-items.js.map +1 -1
  46. package/tools/cart/items/clear-cart-items.mjs +1 -1
  47. package/tools/cart/items/clear-cart-items.mjs.map +1 -1
  48. package/tools/cart/items/list-cart-items.js +1 -1
  49. package/tools/cart/items/list-cart-items.js.map +1 -1
  50. package/tools/cart/items/list-cart-items.mjs +1 -1
  51. package/tools/cart/items/list-cart-items.mjs.map +1 -1
  52. package/tools/cart/items/remove-cart-items.js +1 -1
  53. package/tools/cart/items/remove-cart-items.js.map +1 -1
  54. package/tools/cart/items/remove-cart-items.mjs +1 -1
  55. package/tools/cart/items/remove-cart-items.mjs.map +1 -1
  56. package/tools/checkout/session/confirm-checkout-session.d.mts +45 -0
  57. package/tools/checkout/session/confirm-checkout-session.d.mts.map +1 -0
  58. package/tools/checkout/session/confirm-checkout-session.d.ts +45 -0
  59. package/tools/checkout/session/confirm-checkout-session.d.ts.map +1 -0
  60. package/tools/checkout/session/confirm-checkout-session.js +94 -0
  61. package/tools/checkout/session/confirm-checkout-session.js.map +1 -0
  62. package/tools/checkout/session/confirm-checkout-session.mjs +90 -0
  63. package/tools/checkout/session/confirm-checkout-session.mjs.map +1 -0
  64. package/tools/checkout/session/create-checkout-session.d.mts +45 -0
  65. package/tools/checkout/session/create-checkout-session.d.mts.map +1 -0
  66. package/tools/{merchants/check-status-merchants.d.mts → checkout/session/create-checkout-session.d.ts} +1 -1
  67. package/tools/checkout/session/create-checkout-session.d.ts.map +1 -0
  68. package/tools/checkout/session/{create-quote-checkout-session.js → create-checkout-session.js} +4 -4
  69. package/tools/checkout/session/create-checkout-session.js.map +1 -0
  70. package/tools/checkout/session/{create-quote-checkout-session.mjs → create-checkout-session.mjs} +4 -4
  71. package/tools/checkout/session/create-checkout-session.mjs.map +1 -0
  72. package/tools/index.d.mts.map +1 -1
  73. package/tools/index.d.ts.map +1 -1
  74. package/tools/index.js +10 -24
  75. package/tools/index.js.map +1 -1
  76. package/tools/index.mjs +10 -24
  77. package/tools/index.mjs.map +1 -1
  78. package/tools/orders/retrieve-status-orders.js +1 -1
  79. package/tools/orders/retrieve-status-orders.js.map +1 -1
  80. package/tools/orders/retrieve-status-orders.mjs +1 -1
  81. package/tools/orders/retrieve-status-orders.mjs.map +1 -1
  82. package/tools/products/retrieve-product-details.d.mts +45 -0
  83. package/tools/products/retrieve-product-details.d.mts.map +1 -0
  84. package/tools/products/retrieve-product-details.d.ts +45 -0
  85. package/tools/products/retrieve-product-details.d.ts.map +1 -0
  86. package/tools/products/retrieve-product-details.js +43 -0
  87. package/tools/products/retrieve-product-details.js.map +1 -0
  88. package/tools/products/retrieve-product-details.mjs +39 -0
  89. package/tools/products/retrieve-product-details.mjs.map +1 -0
  90. package/tools/products/search-products.js +2 -2
  91. package/tools/products/search-products.js.map +1 -1
  92. package/tools/products/search-products.mjs +2 -2
  93. package/tools/products/search-products.mjs.map +1 -1
  94. package/tools/wallet/collect-payment-details.d.mts +45 -0
  95. package/tools/wallet/collect-payment-details.d.mts.map +1 -0
  96. package/tools/{merchants/check-status-merchants.d.ts → wallet/collect-payment-details.d.ts} +1 -1
  97. package/tools/wallet/collect-payment-details.d.ts.map +1 -0
  98. package/tools/wallet/{create-card-collection-wallet.js → collect-payment-details.js} +4 -4
  99. package/tools/wallet/collect-payment-details.js.map +1 -0
  100. package/tools/wallet/{create-card-collection-wallet.mjs → collect-payment-details.mjs} +4 -4
  101. package/tools/wallet/collect-payment-details.mjs.map +1 -0
  102. package/src/tools/checkout/session/confirm-checkout-checkout-session.ts +0 -101
  103. package/src/tools/checkout/session/list-products-checkout-session.ts +0 -47
  104. package/src/tools/checkout/session/retrieve-shipping-info-checkout-session.ts +0 -49
  105. package/src/tools/merchants/check-status-merchants.ts +0 -56
  106. package/src/tools/merchants/get-shipping-info-merchants.ts +0 -60
  107. package/src/tools/merchants/list-supported-merchants.ts +0 -52
  108. package/src/tools/products/retrieve-details-products.ts +0 -48
  109. package/src/tools/products/variant-check/create-products-variant-check.ts +0 -85
  110. package/src/tools/products/variant-check/retrieve-status-products-variant-check.ts +0 -50
  111. package/tools/checkout/session/confirm-checkout-checkout-session.d.mts +0 -45
  112. package/tools/checkout/session/confirm-checkout-checkout-session.d.mts.map +0 -1
  113. package/tools/checkout/session/confirm-checkout-checkout-session.d.ts +0 -45
  114. package/tools/checkout/session/confirm-checkout-checkout-session.d.ts.map +0 -1
  115. package/tools/checkout/session/confirm-checkout-checkout-session.js +0 -94
  116. package/tools/checkout/session/confirm-checkout-checkout-session.js.map +0 -1
  117. package/tools/checkout/session/confirm-checkout-checkout-session.mjs +0 -90
  118. package/tools/checkout/session/confirm-checkout-checkout-session.mjs.map +0 -1
  119. package/tools/checkout/session/create-quote-checkout-session.d.mts +0 -45
  120. package/tools/checkout/session/create-quote-checkout-session.d.mts.map +0 -1
  121. package/tools/checkout/session/create-quote-checkout-session.d.ts +0 -45
  122. package/tools/checkout/session/create-quote-checkout-session.d.ts.map +0 -1
  123. package/tools/checkout/session/create-quote-checkout-session.js.map +0 -1
  124. package/tools/checkout/session/create-quote-checkout-session.mjs.map +0 -1
  125. package/tools/checkout/session/list-products-checkout-session.d.mts +0 -45
  126. package/tools/checkout/session/list-products-checkout-session.d.mts.map +0 -1
  127. package/tools/checkout/session/list-products-checkout-session.d.ts +0 -45
  128. package/tools/checkout/session/list-products-checkout-session.d.ts.map +0 -1
  129. package/tools/checkout/session/list-products-checkout-session.js +0 -42
  130. package/tools/checkout/session/list-products-checkout-session.js.map +0 -1
  131. package/tools/checkout/session/list-products-checkout-session.mjs +0 -38
  132. package/tools/checkout/session/list-products-checkout-session.mjs.map +0 -1
  133. package/tools/checkout/session/retrieve-shipping-info-checkout-session.d.mts +0 -45
  134. package/tools/checkout/session/retrieve-shipping-info-checkout-session.d.mts.map +0 -1
  135. package/tools/checkout/session/retrieve-shipping-info-checkout-session.d.ts +0 -45
  136. package/tools/checkout/session/retrieve-shipping-info-checkout-session.d.ts.map +0 -1
  137. package/tools/checkout/session/retrieve-shipping-info-checkout-session.js +0 -42
  138. package/tools/checkout/session/retrieve-shipping-info-checkout-session.js.map +0 -1
  139. package/tools/checkout/session/retrieve-shipping-info-checkout-session.mjs +0 -38
  140. package/tools/checkout/session/retrieve-shipping-info-checkout-session.mjs.map +0 -1
  141. package/tools/merchants/check-status-merchants.d.mts.map +0 -1
  142. package/tools/merchants/check-status-merchants.d.ts.map +0 -1
  143. package/tools/merchants/check-status-merchants.js +0 -48
  144. package/tools/merchants/check-status-merchants.js.map +0 -1
  145. package/tools/merchants/check-status-merchants.mjs +0 -44
  146. package/tools/merchants/check-status-merchants.mjs.map +0 -1
  147. package/tools/merchants/get-shipping-info-merchants.d.mts +0 -45
  148. package/tools/merchants/get-shipping-info-merchants.d.mts.map +0 -1
  149. package/tools/merchants/get-shipping-info-merchants.d.ts +0 -45
  150. package/tools/merchants/get-shipping-info-merchants.d.ts.map +0 -1
  151. package/tools/merchants/get-shipping-info-merchants.js +0 -55
  152. package/tools/merchants/get-shipping-info-merchants.js.map +0 -1
  153. package/tools/merchants/get-shipping-info-merchants.mjs +0 -51
  154. package/tools/merchants/get-shipping-info-merchants.mjs.map +0 -1
  155. package/tools/merchants/list-supported-merchants.d.mts +0 -45
  156. package/tools/merchants/list-supported-merchants.d.mts.map +0 -1
  157. package/tools/merchants/list-supported-merchants.d.ts +0 -45
  158. package/tools/merchants/list-supported-merchants.d.ts.map +0 -1
  159. package/tools/merchants/list-supported-merchants.js +0 -47
  160. package/tools/merchants/list-supported-merchants.js.map +0 -1
  161. package/tools/merchants/list-supported-merchants.mjs +0 -43
  162. package/tools/merchants/list-supported-merchants.mjs.map +0 -1
  163. package/tools/products/retrieve-details-products.d.mts +0 -45
  164. package/tools/products/retrieve-details-products.d.mts.map +0 -1
  165. package/tools/products/retrieve-details-products.d.ts +0 -45
  166. package/tools/products/retrieve-details-products.d.ts.map +0 -1
  167. package/tools/products/retrieve-details-products.js +0 -43
  168. package/tools/products/retrieve-details-products.js.map +0 -1
  169. package/tools/products/retrieve-details-products.mjs +0 -39
  170. package/tools/products/retrieve-details-products.mjs.map +0 -1
  171. package/tools/products/variant-check/create-products-variant-check.d.mts +0 -45
  172. package/tools/products/variant-check/create-products-variant-check.d.mts.map +0 -1
  173. package/tools/products/variant-check/create-products-variant-check.d.ts +0 -45
  174. package/tools/products/variant-check/create-products-variant-check.d.ts.map +0 -1
  175. package/tools/products/variant-check/create-products-variant-check.js +0 -79
  176. package/tools/products/variant-check/create-products-variant-check.js.map +0 -1
  177. package/tools/products/variant-check/create-products-variant-check.mjs +0 -75
  178. package/tools/products/variant-check/create-products-variant-check.mjs.map +0 -1
  179. package/tools/products/variant-check/retrieve-status-products-variant-check.d.mts +0 -45
  180. package/tools/products/variant-check/retrieve-status-products-variant-check.d.mts.map +0 -1
  181. package/tools/products/variant-check/retrieve-status-products-variant-check.d.ts +0 -45
  182. package/tools/products/variant-check/retrieve-status-products-variant-check.d.ts.map +0 -1
  183. package/tools/products/variant-check/retrieve-status-products-variant-check.js +0 -43
  184. package/tools/products/variant-check/retrieve-status-products-variant-check.js.map +0 -1
  185. package/tools/products/variant-check/retrieve-status-products-variant-check.mjs +0 -39
  186. package/tools/products/variant-check/retrieve-status-products-variant-check.mjs.map +0 -1
  187. package/tools/wallet/create-card-collection-wallet.d.mts +0 -45
  188. package/tools/wallet/create-card-collection-wallet.d.mts.map +0 -1
  189. package/tools/wallet/create-card-collection-wallet.d.ts +0 -45
  190. package/tools/wallet/create-card-collection-wallet.d.ts.map +0 -1
  191. package/tools/wallet/create-card-collection-wallet.js.map +0 -1
  192. package/tools/wallet/create-card-collection-wallet.mjs.map +0 -1
@@ -4,14 +4,14 @@ import { asTextContentResult } from '@henrylabs/mcp/tools/types';
4
4
  export const metadata = {
5
5
  resource: 'products',
6
6
  operation: 'write',
7
- tags: [],
7
+ tags: ['headless', 'hosted'],
8
8
  httpMethod: 'post',
9
9
  httpPath: '/products/search',
10
10
  operationId: 'searchProducts',
11
11
  };
12
12
  export const tool = {
13
13
  name: 'search_products',
14
- description: "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\nSearch for products using keyword and passing various filters and criteria\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/product_search_response',\n $defs: {\n product_search_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n currency: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n imageUrl: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n price: {\n type: 'number'\n },\n productLink: {\n type: 'string'\n },\n source: {\n type: 'string'\n },\n originalPrice: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'currency',\n 'description',\n 'imageUrl',\n 'name',\n 'price',\n 'productLink',\n 'source'\n ]\n }\n },\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n }\n },\n required: [ 'data',\n 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
14
+ description: "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\nSearch for products using keyword and passing various filters and criteria\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/product_search_response',\n $defs: {\n product_search_response: {\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n currency: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n imageUrl: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n price: {\n type: 'number'\n },\n source: {\n type: 'string'\n },\n originalPrice: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'currency',\n 'description',\n 'imageUrl',\n 'name',\n 'price',\n 'source'\n ]\n }\n },\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n }\n },\n required: [ 'data',\n 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
15
15
  inputSchema: {
16
16
  type: 'object',
17
17
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"search-products.mjs","sourceRoot":"","sources":["../../src/tools/products/search-products.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE,MAAM,0BAA0B;OAC/C,EAAY,mBAAmB,EAAE,MAAM,4BAA4B;AAK1E,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,6wDAA6wD;IAC/wD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,cAAc;aAC5B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,OAAO;aACrB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oBAAoB;aAClC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,6BAA6B;aAC3C;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kBAAkB;aAChC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,cAAc;aAC5B;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;aACpB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAgB,EAAE,IAAyC,EAAE,EAAE;IAC3F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC3C,OAAO,mBAAmB,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"search-products.mjs","sourceRoot":"","sources":["../../src/tools/products/search-products.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE,MAAM,0BAA0B;OAC/C,EAAY,mBAAmB,EAAE,MAAM,4BAA4B;AAK1E,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC5B,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,+pDAA+pD;IACjqD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,cAAc;aAC5B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,OAAO;aACrB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oBAAoB;aAClC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,6BAA6B;aAC3C;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kBAAkB;aAChC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,cAAc;aAC5B;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;aACpB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAgB,EAAE,IAAyC,EAAE,EAAE;IAC3F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC3C,OAAO,mBAAmB,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { Metadata } from '@henrylabs/mcp/tools/types';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import HenrySDK from '@henrylabs/sdk';
4
+ export declare const metadata: Metadata;
5
+ export declare const tool: Tool;
6
+ export declare const handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
7
+ declare const _default: {
8
+ metadata: Metadata;
9
+ tool: {
10
+ [x: string]: unknown;
11
+ name: string;
12
+ inputSchema: {
13
+ [x: string]: unknown;
14
+ type: "object";
15
+ properties?: {
16
+ [x: string]: unknown;
17
+ } | undefined;
18
+ required?: string[] | undefined;
19
+ };
20
+ title?: string | undefined;
21
+ description?: string | undefined;
22
+ outputSchema?: {
23
+ [x: string]: unknown;
24
+ type: "object";
25
+ properties?: {
26
+ [x: string]: unknown;
27
+ } | undefined;
28
+ required?: string[] | undefined;
29
+ } | undefined;
30
+ annotations?: {
31
+ [x: string]: unknown;
32
+ title?: string | undefined;
33
+ readOnlyHint?: boolean | undefined;
34
+ destructiveHint?: boolean | undefined;
35
+ idempotentHint?: boolean | undefined;
36
+ openWorldHint?: boolean | undefined;
37
+ } | undefined;
38
+ _meta?: {
39
+ [x: string]: unknown;
40
+ } | undefined;
41
+ };
42
+ handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
43
+ };
44
+ export default _default;
45
+ //# sourceMappingURL=collect-payment-details.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collect-payment-details.d.mts","sourceRoot":"","sources":["../../src/tools/wallet/collect-payment-details.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B;OAEnE,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,QAAQ,MAAM,gBAAgB;AAErC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAwBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAGxF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAHoC,QAAQ,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAKzF,wBAA2C"}
@@ -42,4 +42,4 @@ declare const _default: {
42
42
  handler: (client: HenrySDK, args: Record<string, unknown> | undefined) => Promise<import("@henrylabs/mcp/tools/types").ToolCallResult>;
43
43
  };
44
44
  export default _default;
45
- //# sourceMappingURL=check-status-merchants.d.ts.map
45
+ //# sourceMappingURL=collect-payment-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collect-payment-details.d.ts","sourceRoot":"","sources":["../../src/tools/wallet/collect-payment-details.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B;OAEnE,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,QAAQ,MAAM,gBAAgB;AAErC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAwBlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,iEAGxF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAHoC,QAAQ,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAKzF,wBAA2C"}
@@ -7,14 +7,14 @@ const types_1 = require("@henrylabs/mcp/tools/types");
7
7
  exports.metadata = {
8
8
  resource: 'wallet',
9
9
  operation: 'write',
10
- tags: [],
10
+ tags: ['headless'],
11
11
  httpMethod: 'post',
12
12
  httpPath: '/wallet/card-collect',
13
13
  operationId: 'initiateCardCollect',
14
14
  };
15
15
  exports.tool = {
16
- name: 'create_card_collection_wallet',
17
- description: "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\nReturns a modal URL for users to save payment cards. Supports both authenticated and guest card collection\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/wallet_create_card_collection_response',\n $defs: {\n wallet_create_card_collection_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n modal_url: {\n type: 'string'\n }\n },\n required: [ 'modal_url'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
16
+ name: 'collect_payment_details',
17
+ description: "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\nReturns a modal URL for users to save payment cards. Supports both authenticated and guest card collection. Must be called at some point before checkout session is confirmed. After payment details are saved, they can proceed with checkout confirmation.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/wallet_create_card_collection_response',\n $defs: {\n wallet_create_card_collection_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n modal_url: {\n type: 'string'\n }\n },\n required: [ 'modal_url'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
18
18
  inputSchema: {
19
19
  type: 'object',
20
20
  properties: {
@@ -41,4 +41,4 @@ const handler = async (client, args) => {
41
41
  };
42
42
  exports.handler = handler;
43
43
  exports.default = { metadata: exports.metadata, tool: exports.tool, handler: exports.handler };
44
- //# sourceMappingURL=create-card-collection-wallet.js.map
44
+ //# sourceMappingURL=collect-payment-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collect-payment-details.js","sourceRoot":"","sources":["../../src/tools/wallet/collect-payment-details.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,wDAAuD;AACvD,sDAA2E;AAK9D,QAAA,QAAQ,GAAa;IAChC,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,sBAAsB;IAChC,WAAW,EAAE,qBAAqB;CACnC,CAAC;AAEW,QAAA,IAAI,GAAS;IACxB,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,ymCAAymC;IAC3mC,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;aACf;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wEAAwE;aACtF;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,WAAW,EAAE,EAAE;CAChB,CAAC;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,MAAgB,EAAE,IAAyC,EAAE,EAAE;IAC3F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC3C,OAAO,IAAA,2BAAmB,EAAC,MAAM,IAAA,uBAAW,EAAC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB;AAEF,kBAAe,EAAE,QAAQ,EAAR,gBAAQ,EAAE,IAAI,EAAJ,YAAI,EAAE,OAAO,EAAP,eAAO,EAAE,CAAC"}
@@ -4,14 +4,14 @@ import { asTextContentResult } from '@henrylabs/mcp/tools/types';
4
4
  export const metadata = {
5
5
  resource: 'wallet',
6
6
  operation: 'write',
7
- tags: [],
7
+ tags: ['headless'],
8
8
  httpMethod: 'post',
9
9
  httpPath: '/wallet/card-collect',
10
10
  operationId: 'initiateCardCollect',
11
11
  };
12
12
  export const tool = {
13
- name: 'create_card_collection_wallet',
14
- description: "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\nReturns a modal URL for users to save payment cards. Supports both authenticated and guest card collection\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/wallet_create_card_collection_response',\n $defs: {\n wallet_create_card_collection_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n modal_url: {\n type: 'string'\n }\n },\n required: [ 'modal_url'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
13
+ name: 'collect_payment_details',
14
+ description: "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\nReturns a modal URL for users to save payment cards. Supports both authenticated and guest card collection. Must be called at some point before checkout session is confirmed. After payment details are saved, they can proceed with checkout confirmation.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/wallet_create_card_collection_response',\n $defs: {\n wallet_create_card_collection_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n modal_url: {\n type: 'string'\n }\n },\n required: [ 'modal_url'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
15
15
  inputSchema: {
16
16
  type: 'object',
17
17
  properties: {
@@ -37,4 +37,4 @@ export const handler = async (client, args) => {
37
37
  return asTextContentResult(await maybeFilter(jq_filter, await client.wallet.createCardCollection(body)));
38
38
  };
39
39
  export default { metadata, tool, handler };
40
- //# sourceMappingURL=create-card-collection-wallet.mjs.map
40
+ //# sourceMappingURL=collect-payment-details.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collect-payment-details.mjs","sourceRoot":"","sources":["../../src/tools/wallet/collect-payment-details.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE,MAAM,0BAA0B;OAC/C,EAAY,mBAAmB,EAAE,MAAM,4BAA4B;AAK1E,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,sBAAsB;IAChC,WAAW,EAAE,qBAAqB;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,ymCAAymC;IAC3mC,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;aACf;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wEAAwE;aACtF;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAgB,EAAE,IAAyC,EAAE,EAAE;IAC3F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IAC3C,OAAO,mBAAmB,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
@@ -1,101 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { maybeFilter } from '@henrylabs/mcp/filtering';
4
- import { Metadata, asTextContentResult } from '@henrylabs/mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import HenrySDK from '@henrylabs/sdk';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'checkout.session',
11
- operation: 'write',
12
- tags: [],
13
- httpMethod: 'post',
14
- httpPath: '/checkout/session/confirm',
15
- operationId: 'confirmCheckoutSession',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'confirm_checkout_checkout_session',
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\nConfirms the checkout session and creates an order\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/session_confirm_checkout_response',\n $defs: {\n session_confirm_checkout_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n currency: {\n type: 'string'\n },\n grandTotal: {\n type: 'string'\n },\n products: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n productName: {\n type: 'string'\n },\n quantity: {\n type: 'number'\n },\n productMetadata: {\n type: 'object',\n additionalProperties: true\n }\n },\n required: [ 'productName',\n 'quantity'\n ]\n }\n },\n shipping: {\n type: 'string'\n },\n shippingDetails: {\n type: 'object',\n properties: {\n addressLine1: {\n type: 'string',\n description: 'Address line 1'\n },\n city: {\n type: 'string',\n description: 'City'\n },\n countryCode: {\n type: 'string',\n description: 'Country code'\n },\n email: {\n type: 'string',\n description: 'Email'\n },\n fullName: {\n type: 'string',\n description: 'Full name'\n },\n phoneNumber: {\n type: 'string',\n description: 'Phone number'\n },\n postalCode: {\n type: 'string',\n description: 'Postal code'\n },\n stateOrProvince: {\n type: 'string',\n description: 'State or province'\n },\n addressLine2: {\n type: 'string',\n description: 'Address line 2'\n }\n },\n required: [ 'addressLine1',\n 'city',\n 'countryCode',\n 'email',\n 'fullName',\n 'phoneNumber',\n 'postalCode',\n 'stateOrProvince'\n ]\n },\n status: {\n type: 'string'\n },\n statusMessage: {\n type: 'string'\n },\n subtotal: {\n type: 'string'\n },\n tax: {\n type: 'string'\n },\n cardLast4: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'currency',\n 'grandTotal',\n 'products',\n 'shipping',\n 'shippingDetails',\n 'status',\n 'statusMessage',\n 'subtotal',\n 'tax'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- 'x-session-token': {
26
- type: 'string',
27
- },
28
- shippingDetails: {
29
- type: 'object',
30
- properties: {
31
- addressLine1: {
32
- type: 'string',
33
- description: 'Address line 1',
34
- },
35
- city: {
36
- type: 'string',
37
- description: 'City',
38
- },
39
- countryCode: {
40
- type: 'string',
41
- description: 'Country code',
42
- },
43
- email: {
44
- type: 'string',
45
- description: 'Email',
46
- },
47
- fullName: {
48
- type: 'string',
49
- description: 'Full name',
50
- },
51
- phoneNumber: {
52
- type: 'string',
53
- description: 'Phone number',
54
- },
55
- postalCode: {
56
- type: 'string',
57
- description: 'Postal code',
58
- },
59
- stateOrProvince: {
60
- type: 'string',
61
- description: 'State or province',
62
- },
63
- addressLine2: {
64
- type: 'string',
65
- description: 'Address line 2',
66
- },
67
- },
68
- required: [
69
- 'addressLine1',
70
- 'city',
71
- 'countryCode',
72
- 'email',
73
- 'fullName',
74
- 'phoneNumber',
75
- 'postalCode',
76
- 'stateOrProvince',
77
- ],
78
- },
79
- 'x-user-id': {
80
- type: 'string',
81
- },
82
- jq_filter: {
83
- type: 'string',
84
- title: 'jq Filter',
85
- description:
86
- '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/).',
87
- },
88
- },
89
- required: ['x-session-token'],
90
- },
91
- annotations: {},
92
- };
93
-
94
- export const handler = async (client: HenrySDK, args: Record<string, unknown> | undefined) => {
95
- const { jq_filter, ...body } = args as any;
96
- return asTextContentResult(
97
- await maybeFilter(jq_filter, await client.checkout.session.confirmCheckout(body)),
98
- );
99
- };
100
-
101
- export default { metadata, tool, handler };
@@ -1,47 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { maybeFilter } from '@henrylabs/mcp/filtering';
4
- import { Metadata, asTextContentResult } from '@henrylabs/mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import HenrySDK from '@henrylabs/sdk';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'checkout.session',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/checkout/session/products',
15
- operationId: 'getCheckoutSessionProducts',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'list_products_checkout_session',
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\nReturns products for the checkout session\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/session_list_products_response',\n $defs: {\n session_list_products_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n products: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'Product name'\n },\n price: {\n type: 'string',\n description: 'Product price'\n },\n productLink: {\n type: 'string',\n description: 'Product link'\n },\n quantity: {\n type: 'number',\n description: 'Quantity'\n },\n affiliateProductLink: {\n type: 'string',\n description: 'Affiliate product link (if provided, will be used instead of productLink for order fulfillment)'\n },\n metadata: {\n type: 'object',\n description: 'Product metadata',\n additionalProperties: true\n },\n productId: {\n type: 'string',\n description: 'Product Id'\n },\n productImageLink: {\n type: 'string',\n description: 'Product image link (thumbnail)'\n },\n variantCheck: {\n type: 'object',\n properties: {\n completedAt: {\n type: 'string'\n },\n createdAt: {\n type: 'string'\n },\n errorMessage: {\n type: 'string'\n },\n requestId: {\n type: 'string'\n },\n result: {\n type: 'object',\n additionalProperties: true\n },\n status: {\n type: 'string'\n }\n },\n required: [ 'completedAt',\n 'createdAt',\n 'errorMessage',\n 'requestId',\n 'result',\n 'status'\n ]\n }\n },\n required: [ 'name',\n 'price',\n 'productLink',\n 'quantity'\n ]\n }\n }\n },\n required: [ 'products'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- 'x-session-token': {
26
- type: 'string',
27
- },
28
- jq_filter: {
29
- type: 'string',
30
- title: 'jq Filter',
31
- description:
32
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
33
- },
34
- },
35
- required: ['x-session-token'],
36
- },
37
- annotations: {
38
- readOnlyHint: true,
39
- },
40
- };
41
-
42
- export const handler = async (client: HenrySDK, args: Record<string, unknown> | undefined) => {
43
- const { jq_filter, ...body } = args as any;
44
- return asTextContentResult(await maybeFilter(jq_filter, await client.checkout.session.listProducts(body)));
45
- };
46
-
47
- export default { metadata, tool, handler };
@@ -1,49 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { maybeFilter } from '@henrylabs/mcp/filtering';
4
- import { Metadata, asTextContentResult } from '@henrylabs/mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import HenrySDK from '@henrylabs/sdk';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'checkout.session',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/checkout/session/shipping',
15
- operationId: 'getCheckoutSessionShipping',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'retrieve_shipping_info_checkout_session',
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\nRetrieves the shipping details for the current checkout session.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/session_retrieve_shipping_info_response',\n $defs: {\n session_retrieve_shipping_info_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n hasShipping: {\n type: 'boolean'\n },\n shippingDetails: {\n type: 'object',\n properties: {\n addressLine1: {\n type: 'string',\n description: 'Address line 1'\n },\n city: {\n type: 'string',\n description: 'City'\n },\n countryCode: {\n type: 'string',\n description: 'Country code'\n },\n email: {\n type: 'string',\n description: 'Email'\n },\n fullName: {\n type: 'string',\n description: 'Full name'\n },\n phoneNumber: {\n type: 'string',\n description: 'Phone number'\n },\n postalCode: {\n type: 'string',\n description: 'Postal code'\n },\n stateOrProvince: {\n type: 'string',\n description: 'State or province'\n },\n addressLine2: {\n type: 'string',\n description: 'Address line 2'\n }\n },\n required: [ 'addressLine1',\n 'city',\n 'countryCode',\n 'email',\n 'fullName',\n 'phoneNumber',\n 'postalCode',\n 'stateOrProvince'\n ]\n }\n },\n required: [ 'hasShipping',\n 'shippingDetails'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- 'x-user-id': {
26
- type: 'string',
27
- },
28
- jq_filter: {
29
- type: 'string',
30
- title: 'jq Filter',
31
- description:
32
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
33
- },
34
- },
35
- required: [],
36
- },
37
- annotations: {
38
- readOnlyHint: true,
39
- },
40
- };
41
-
42
- export const handler = async (client: HenrySDK, args: Record<string, unknown> | undefined) => {
43
- const { jq_filter, ...body } = args as any;
44
- return asTextContentResult(
45
- await maybeFilter(jq_filter, await client.checkout.session.retrieveShippingInfo(body)),
46
- );
47
- };
48
-
49
- export default { metadata, tool, handler };
@@ -1,56 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { maybeFilter } from '@henrylabs/mcp/filtering';
4
- import { Metadata, asTextContentResult } from '@henrylabs/mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import HenrySDK from '@henrylabs/sdk';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'merchants',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/merchants/{merchantDomain}/status',
15
- operationId: 'merchantSupport',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'check_status_merchants',
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\nVerifies whether a merchant is supported by checking their domain\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/merchant_check_status_response',\n $defs: {\n merchant_check_status_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n merchantSupportStatus: {\n type: 'boolean'\n }\n },\n required: [ 'merchantSupportStatus'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- merchantDomain: {
26
- type: 'string',
27
- description: 'Merchant Domain',
28
- },
29
- checkoutMode: {
30
- type: 'string',
31
- description:
32
- "Checkout mode to check merchant support against. 'allowlist' only allows explicitly approved merchants, 'blocklist' allows all except explicitly blocked merchants.",
33
- enum: ['allowlist', 'blocklist'],
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
- },
41
- },
42
- required: ['merchantDomain'],
43
- },
44
- annotations: {
45
- readOnlyHint: true,
46
- },
47
- };
48
-
49
- export const handler = async (client: HenrySDK, args: Record<string, unknown> | undefined) => {
50
- const { merchantDomain, jq_filter, ...body } = args as any;
51
- return asTextContentResult(
52
- await maybeFilter(jq_filter, await client.merchants.checkStatus(merchantDomain, body)),
53
- );
54
- };
55
-
56
- export default { metadata, tool, handler };
@@ -1,60 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { maybeFilter } from '@henrylabs/mcp/filtering';
4
- import { Metadata, asTextContentResult } from '@henrylabs/mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import HenrySDK from '@henrylabs/sdk';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'merchants',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/merchants/shipping-info',
15
- operationId: 'getMerchantShippingInfo',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'get_shipping_info_merchants',
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\nRetrieve shipping information including shipping tiers and free shipping thresholds for merchants\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/merchant_get_shipping_info_response',\n $defs: {\n merchant_get_shipping_info_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n hasMore: {\n type: 'boolean'\n },\n merchants: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n displayName: {\n type: 'string'\n },\n domain: {\n type: 'string'\n },\n freeShippingThreshold: {\n type: 'number'\n },\n name: {\n type: 'string'\n },\n shippingNotes: {\n type: 'string'\n },\n shippingTiers: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n cost: {\n type: 'number'\n },\n estimatedDeliveryMaxDays: {\n type: 'number'\n },\n estimatedDeliveryMinDays: {\n type: 'number'\n },\n tierName: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'cost',\n 'estimatedDeliveryMaxDays',\n 'estimatedDeliveryMinDays',\n 'tierName'\n ]\n }\n }\n },\n required: [ 'id',\n 'displayName',\n 'domain',\n 'freeShippingThreshold',\n 'name',\n 'shippingNotes',\n 'shippingTiers'\n ]\n }\n },\n totalCount: {\n type: 'number'\n }\n },\n required: [ 'hasMore',\n 'merchants',\n 'totalCount'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- domain: {
26
- type: 'string',
27
- description: 'Merchant domain to filter by',
28
- },
29
- limit: {
30
- type: 'integer',
31
- description: 'Number of items per page (1-100)',
32
- },
33
- merchantId: {
34
- type: 'string',
35
- description: 'Merchant ID to filter by',
36
- },
37
- offset: {
38
- type: 'integer',
39
- description: 'Number of items to skip',
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
- },
47
- },
48
- required: [],
49
- },
50
- annotations: {
51
- readOnlyHint: true,
52
- },
53
- };
54
-
55
- export const handler = async (client: HenrySDK, args: Record<string, unknown> | undefined) => {
56
- const { jq_filter, ...body } = args as any;
57
- return asTextContentResult(await maybeFilter(jq_filter, await client.merchants.getShippingInfo(body)));
58
- };
59
-
60
- export default { metadata, tool, handler };
@@ -1,52 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { maybeFilter } from '@henrylabs/mcp/filtering';
4
- import { Metadata, asTextContentResult } from '@henrylabs/mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import HenrySDK from '@henrylabs/sdk';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'merchants',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/merchants/list',
15
- operationId: 'getSupportedMerchants',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'list_supported_merchants',
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\nReturns a list of allowlist supported merchants\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/merchant_list_supported_response',\n $defs: {\n merchant_list_supported_response: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n },\n data: {\n type: 'object',\n properties: {\n merchants: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n domain: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n website: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'domain',\n 'name'\n ]\n }\n },\n pagination: {\n type: 'object',\n properties: {\n currentPage: {\n type: 'number'\n },\n hasNextPage: {\n type: 'boolean'\n },\n hasPreviousPage: {\n type: 'boolean'\n },\n limit: {\n type: 'number'\n },\n totalCount: {\n type: 'number'\n },\n totalPages: {\n type: 'number'\n }\n },\n required: [ 'currentPage',\n 'hasNextPage',\n 'hasPreviousPage',\n 'limit',\n 'totalCount',\n 'totalPages'\n ]\n }\n },\n required: [ 'merchants',\n 'pagination'\n ]\n }\n },\n required: [ 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- limit: {
26
- type: 'integer',
27
- description: 'Number of items per page (1-100)',
28
- },
29
- page: {
30
- type: 'integer',
31
- description: 'Page number (starts from 1)',
32
- },
33
- jq_filter: {
34
- type: 'string',
35
- title: 'jq Filter',
36
- description:
37
- 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
38
- },
39
- },
40
- required: [],
41
- },
42
- annotations: {
43
- readOnlyHint: true,
44
- },
45
- };
46
-
47
- export const handler = async (client: HenrySDK, args: Record<string, unknown> | undefined) => {
48
- const { jq_filter, ...body } = args as any;
49
- return asTextContentResult(await maybeFilter(jq_filter, await client.merchants.listSupported(body)));
50
- };
51
-
52
- export default { metadata, tool, handler };
@@ -1,48 +0,0 @@
1
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- import { maybeFilter } from '@henrylabs/mcp/filtering';
4
- import { Metadata, asTextContentResult } from '@henrylabs/mcp/tools/types';
5
-
6
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
- import HenrySDK from '@henrylabs/sdk';
8
-
9
- export const metadata: Metadata = {
10
- resource: 'products',
11
- operation: 'read',
12
- tags: [],
13
- httpMethod: 'get',
14
- httpPath: '/products/details',
15
- operationId: 'getProductDetails',
16
- };
17
-
18
- export const tool: Tool = {
19
- name: 'retrieve_details_products',
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\nRetrieve detailed information about a specific product given product ID\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/product_retrieve_details_response',\n $defs: {\n product_retrieve_details_response: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n productResults: {\n type: 'object',\n properties: {\n brand: {\n type: 'string'\n },\n rating: {\n type: 'number'\n },\n reviews: {\n type: 'number'\n },\n stores: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n link: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n price: {\n type: 'string'\n },\n shipping: {\n type: 'string'\n },\n total: {\n type: 'string'\n }\n },\n required: [ 'link',\n 'name',\n 'price',\n 'shipping',\n 'total'\n ]\n }\n },\n thumbnails: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n title: {\n type: 'string'\n },\n userReviews: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n rating: {\n type: 'number'\n },\n source: {\n type: 'string'\n },\n text: {\n type: 'string'\n },\n title: {\n type: 'string'\n },\n userName: {\n type: 'string'\n }\n },\n required: [ 'rating',\n 'source',\n 'text',\n 'title',\n 'userName'\n ]\n }\n },\n variants: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n name: {\n type: 'string'\n },\n available: {\n type: 'boolean'\n },\n selected: {\n type: 'boolean'\n }\n },\n required: [ 'name'\n ]\n }\n },\n title: {\n type: 'string'\n }\n },\n required: [ 'items',\n 'title'\n ]\n }\n }\n },\n required: [ 'brand',\n 'rating',\n 'reviews',\n 'stores',\n 'thumbnails',\n 'title',\n 'userReviews',\n 'variants'\n ]\n },\n relatedSearches: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n link: {\n type: 'string'\n },\n query: {\n type: 'string'\n },\n image: {\n type: 'string'\n }\n },\n required: [ 'link',\n 'query'\n ]\n }\n }\n },\n required: [ 'productResults',\n 'relatedSearches'\n ]\n },\n message: {\n type: 'string'\n },\n status: {\n type: 'string'\n },\n success: {\n type: 'boolean'\n }\n },\n required: [ 'data',\n 'message',\n 'status',\n 'success'\n ]\n }\n }\n}\n```",
22
- inputSchema: {
23
- type: 'object',
24
- properties: {
25
- productId: {
26
- type: 'string',
27
- description: 'Product ID',
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
- },
35
- },
36
- required: ['productId'],
37
- },
38
- annotations: {
39
- readOnlyHint: true,
40
- },
41
- };
42
-
43
- export const handler = async (client: HenrySDK, args: Record<string, unknown> | undefined) => {
44
- const { jq_filter, ...body } = args as any;
45
- return asTextContentResult(await maybeFilter(jq_filter, await client.products.retrieveDetails(body)));
46
- };
47
-
48
- export default { metadata, tool, handler };