listbee-mcp 0.12.0 → 0.14.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.
package/README.md CHANGED
@@ -39,6 +39,25 @@ create_listing → set_deliverables → get_listing → publish_listing
39
39
 
40
40
  ---
41
41
 
42
+ ## Bootstrap (no API key)
43
+
44
+ Don't have a ListBee account yet? Start the MCP server without a key — it exposes 3 bootstrap tools for account creation:
45
+
46
+ ```
47
+ bootstrap_start → bootstrap_verify → bootstrap_complete
48
+ send OTP email verify 6-digit get API key
49
+ ```
50
+
51
+ ```bash
52
+ npx -y listbee-mcp # no --api-key needed
53
+ ```
54
+
55
+ `bootstrap_complete` returns `{ account_id, api_key }`. Store the key immediately, then restart the MCP session with `--api-key lb_...` to unlock all tools.
56
+
57
+ For the HTTP transport, sessions initialized without a `Bearer` header are automatically bootstrap-only. After bootstrap, open a new session with the key to access the full tool set.
58
+
59
+ ---
60
+
42
61
  ## Install
43
62
 
44
63
  Requires Node.js 20+.
@@ -131,7 +150,7 @@ docker run -p 8080:8080 listbee-mcp
131
150
 
132
151
  | Flag | Env var | Default | Description |
133
152
  |------|---------|---------|-------------|
134
- | `--api-key <key>` | `LISTBEE_API_KEY` | — | ListBee API key (required for stdio) |
153
+ | `--api-key <key>` | `LISTBEE_API_KEY` | — | ListBee API key. Optional omit to start in bootstrap-only mode. |
135
154
  | `--base-url <url>` | `LISTBEE_BASE_URL` | `https://api.listbee.so` | API base URL |
136
155
  | `--transport <stdio\|http>` | — | `stdio` | Transport mode |
137
156
  | `--port <number>` | `PORT` | `8080` | HTTP port (http mode only) |
@@ -148,20 +167,21 @@ npx -y listbee-mcp --api-key lb_... --tools create_listing,get_listing,publish_l
148
167
 
149
168
  ## Tools
150
169
 
151
- ### Account
170
+ ### Bootstrap (no API key required)
152
171
 
153
172
  | Tool | Description |
154
173
  |------|-------------|
155
- | `get_account` | Get the account's full state including readiness and billing status. |
156
- | `update_account` | Update account-level settings (GA tracking, notification preferences). |
157
- | `delete_account` | Permanently delete the account and all data. Irreversible. |
174
+ | `bootstrap_start` | Send a one-time passcode to an email address. Step 1 of 3 for account creation. |
175
+ | `bootstrap_verify` | Verify the OTP from email. Step 2 of 3. |
176
+ | `bootstrap_complete` | Get the API key for the new account. Step 3 of 3. Store immediately. |
158
177
 
159
- ### Store
178
+ ### Account
160
179
 
161
180
  | Tool | Description |
162
181
  |------|-------------|
163
- | `get_store` | Get store brand info (display name, bio, slug, avatar) and readiness. |
164
- | `update_store` | Update store brand display name, bio, avatar, or slug. |
182
+ | `get_account` | Get the account's full state including readiness and billing status. |
183
+ | `update_account` | Update account-level settings (GA tracking, notification preferences). |
184
+ | `delete_account` | Permanently delete the account and all data. Irreversible. |
165
185
 
166
186
  ### Listings
167
187
 
@@ -208,7 +228,7 @@ npx -y listbee-mcp --api-key lb_... --tools create_listing,get_listing,publish_l
208
228
 
209
229
  | Tool | Description |
210
230
  |------|-------------|
211
- | `upload_file` | Upload a file to ListBee. Accepts a `purpose` parameter: `deliverable` (default, listing content), `cover` (listing image), or `avatar` (store avatar). Returns a file token to use in `set_deliverables`, `create_listing`/`update_listing` (as `cover`), or `update_store` (as `avatar`). |
231
+ | `upload_file` | Upload a file to ListBee. Accepts a `purpose` parameter: `deliverable` (default, listing content), `cover` (listing image), or `avatar` (account avatar). Returns a file token to use in `set_deliverables`, `create_listing`/`update_listing` (as `cover`), or `update_account` (as `avatar`). |
212
232
 
213
233
  ### Stripe
214
234
 
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/generated/meta.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAsTzC,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/generated/meta.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAoUzC,CAAC"}
@@ -2,9 +2,45 @@
2
2
  // source: openapi.json + mcp-tools.yaml
3
3
  // Regenerate with: npm run generate
4
4
  // openapi_version: 1.0.0
5
- // generated_at: 2026-04-12T07:24:36.386Z
6
- // sha256: 34a4aef02ed2a34ca054b49fab2e4942a728a4f33d1374cb1c8a41539a0c9fe2
5
+ // generated_at: 2026-04-17T07:21:31.760Z
6
+ // sha256: 221371b27d60f1bfa0b432d10026cca5147933c281ddc758dd94132924c6ad38
7
7
  export const meta = {
8
+ bootstrap_complete: {
9
+ operationId: "bootstrap_complete",
10
+ method: "POST",
11
+ path: "/v1/bootstrap/complete",
12
+ description: "Generates an API key on the verified session. Idempotent — calling again with the same session within 10 minutes returns the same key. Store the key immediately. Use as Authorization: Bearer lb_...",
13
+ annotations: {
14
+ destructiveHint: false,
15
+ idempotentHint: true,
16
+ openWorldHint: false,
17
+ readOnlyHint: false,
18
+ },
19
+ },
20
+ bootstrap_start: {
21
+ operationId: "bootstrap_start",
22
+ method: "POST",
23
+ path: "/v1/bootstrap",
24
+ description: "Sends a one-time passcode to the provided email address. Returns a session ID for step 2 (bootstrap_verify). Human must check their email for the 6-digit code. Flow: bootstrap_start → bootstrap_verify → bootstrap_complete.",
25
+ annotations: {
26
+ destructiveHint: false,
27
+ idempotentHint: false,
28
+ openWorldHint: false,
29
+ readOnlyHint: false,
30
+ },
31
+ },
32
+ bootstrap_verify: {
33
+ operationId: "bootstrap_verify",
34
+ method: "POST",
35
+ path: "/v1/bootstrap/verify",
36
+ description: "Verifies the OTP. On success, creates an account if new email. Returns session ID for step 3 (bootstrap_complete).",
37
+ annotations: {
38
+ destructiveHint: false,
39
+ idempotentHint: false,
40
+ openWorldHint: false,
41
+ readOnlyHint: false,
42
+ },
43
+ },
8
44
  create_listing: {
9
45
  operationId: "create_listing",
10
46
  method: "POST",
@@ -79,7 +115,7 @@ export const meta = {
79
115
  operationId: "get_account",
80
116
  method: "GET",
81
117
  path: "/v1/account",
82
- description: "Get the authenticated account's full state including readiness and billing status. This is the first call an agent should make to understand what's set up.",
118
+ description: "Returns account profile, stats, and operational readiness. readiness.operational is false until all required actions are resolved. Each action in readiness.actions has: code what's needed (e.g. connect_stripe) kind — \"api\" (you can fix it) or \"human\" (user must act) resolve — exactly how to fix it (method + endpoint or URL) docs — documentation link for this action readiness.next is the highest-priority action code — resolve it first.",
83
119
  annotations: {
84
120
  destructiveHint: false,
85
121
  idempotentHint: true,
@@ -101,7 +137,7 @@ export const meta = {
101
137
  operationId: "get_listing",
102
138
  method: "GET",
103
139
  path: "/v1/listings/{listing_id}",
104
- description: "Get a listing's full state including readiness. This is the readiness inspection tool — call it after every change to check what's needed.",
140
+ description: "Get a listing's full state including readiness. This is the readiness inspection tool — call it after every change to check what's needed. readiness.sellable is true when the listing can accept purchases. If false, readiness.actions tells you what's missing and how to fix each item.",
105
141
  annotations: {
106
142
  destructiveHint: false,
107
143
  idempotentHint: true,
@@ -119,17 +155,6 @@ export const meta = {
119
155
  readOnlyHint: true,
120
156
  },
121
157
  },
122
- get_store: {
123
- operationId: "get_store",
124
- method: "GET",
125
- path: "/v1/store",
126
- description: "Get the current store's brand info (display_name, bio, avatar, slug) and readiness. Store is determined by your API key — each key belongs to one store.",
127
- annotations: {
128
- destructiveHint: false,
129
- idempotentHint: true,
130
- readOnlyHint: true,
131
- },
132
- },
133
158
  list_customers: {
134
159
  operationId: "list_customers",
135
160
  method: "GET",
@@ -263,7 +288,7 @@ export const meta = {
263
288
  operationId: "update_account",
264
289
  method: "PUT",
265
290
  path: "/v1/account",
266
- description: "Update account settings. Brand info (display_name, bio, avatar) is on the Store, not the Account. Use update_store for branding.",
291
+ description: "Update account settings including brand info (display_name, bio, avatar) and other account-level configuration.",
267
292
  annotations: {
268
293
  destructiveHint: false,
269
294
  idempotentHint: true,
@@ -274,18 +299,7 @@ export const meta = {
274
299
  operationId: "update_listing",
275
300
  method: "PUT",
276
301
  path: "/v1/listings/{listing_id}",
277
- description: "Update listing fields. Slug can be changed while in draft status — input is slugified, conflicts get a random suffix. Returns updated listing with readiness.",
278
- annotations: {
279
- destructiveHint: false,
280
- idempotentHint: true,
281
- readOnlyHint: false,
282
- },
283
- },
284
- update_store: {
285
- operationId: "update_store",
286
- method: "PUT",
287
- path: "/v1/store",
288
- description: "Update store brand info. These appear on product pages and the store landing page.",
302
+ description: "Update listing fields. Returns updated listing with readiness.",
289
303
  annotations: {
290
304
  destructiveHint: false,
291
305
  idempotentHint: true,
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/generated/meta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/generated/meta.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
1
  import { z } from "zod";
2
2
  export declare const schemas: {
3
+ readonly bootstrap_complete: z.ZodObject<{
4
+ session: z.ZodString;
5
+ }, z.core.$strict>;
6
+ readonly bootstrap_start: z.ZodObject<{
7
+ email: z.ZodString;
8
+ }, z.core.$strict>;
9
+ readonly bootstrap_verify: z.ZodObject<{
10
+ session: z.ZodString;
11
+ code: z.ZodString;
12
+ }, z.core.$strict>;
3
13
  readonly create_listing: z.ZodObject<{
4
14
  checkout_schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
5
15
  key: z.ZodString;
@@ -93,7 +103,6 @@ export declare const schemas: {
93
103
  readonly get_order: z.ZodObject<{
94
104
  order_id: z.ZodString;
95
105
  }, z.core.$strict>;
96
- readonly get_store: null;
97
106
  readonly list_customers: z.ZodObject<{
98
107
  email: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
99
108
  created_after: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
@@ -171,7 +180,6 @@ export declare const schemas: {
171
180
  listing_id: z.ZodString;
172
181
  fulfillment_url: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
173
182
  name: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
174
- slug: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
175
183
  price: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodNull]>>;
176
184
  stock: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodNull]>>;
177
185
  checkout_schema: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
@@ -214,12 +222,6 @@ export declare const schemas: {
214
222
  a: z.ZodString;
215
223
  }, z.core.$strip>>, z.ZodNull]>>;
216
224
  }, z.core.$strict>;
217
- readonly update_store: z.ZodObject<{
218
- display_name: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
219
- bio: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
220
- avatar: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
221
- slug: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
222
- }, z.core.$strict>;
223
225
  readonly update_webhook: z.ZodObject<{
224
226
  webhook_id: z.ZodString;
225
227
  name: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/generated/schemas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BV,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/generated/schemas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BV,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC"}
@@ -2,11 +2,14 @@
2
2
  // source: openapi.json + mcp-tools.yaml
3
3
  // Regenerate with: npm run generate
4
4
  // openapi_version: 1.0.0
5
- // generated_at: 2026-04-12T07:24:36.385Z
6
- // sha256: 34a4aef02ed2a34ca054b49fab2e4942a728a4f33d1374cb1c8a41539a0c9fe2
5
+ // generated_at: 2026-04-17T07:21:31.760Z
6
+ // sha256: 221371b27d60f1bfa0b432d10026cca5147933c281ddc758dd94132924c6ad38
7
7
  import { z } from "zod";
8
8
  // Tool name → Zod schema (null means the tool takes no inputs)
9
9
  export const schemas = {
10
+ bootstrap_complete: z.object({ "session": z.string().describe("Verified bootstrap session ID") }).strict(),
11
+ bootstrap_start: z.object({ "email": z.string().email().describe("Account owner email") }).strict(),
12
+ bootstrap_verify: z.object({ "session": z.string().describe("Session ID from bootstrap step 1"), "code": z.string().min(6).max(6).describe("6-digit OTP code from email") }).strict(),
10
13
  create_listing: z.object({ "checkout_schema": z.union([z.array(z.object({ "key": z.string().max(50).describe("Unique key for this field"), "type": z.enum(["text", "select", "date"]).describe("Types of fields that can be collected at checkout."), "label": z.string().max(100).describe("Label shown to buyer"), "required": z.boolean().describe("Whether this field is required").default(true), "options": z.union([z.array(z.string()).max(50), z.null()]).describe("Options for select fields").optional(), "sort_order": z.number().int().gte(0).describe("Display order. Lower values shown first. Fields with equal sort_order are ordered by position in the array.").default(0) }).describe("A field to collect from the buyer at checkout.")), z.null()]).describe("Custom fields to collect from the buyer at checkout (e.g. size, color, shipping address). Email is always collected.").optional(), "name": z.string().describe("Product name shown on the product page"), "fulfillment_url": z.union([z.string(), z.null()]).describe("Callback URL — ListBee POSTs an enriched payload here when someone buys this listing. Use for stateless agent fulfillment: metadata + checkout_data round-tripped in the callback. Must be HTTPS in production.").optional(), "price": z.number().int().gt(0).describe("Price in cents (smallest currency unit). Examples: $5 = 500, $29 = 2900, $99.99 = 9999."), "stock": z.union([z.number().int().gte(0), z.null()]).describe("Stock quantity. null = unlimited (default), 0 = out of stock, positive integer = sell N then stop. Auto-decrements on each order.").optional(), "description": z.union([z.string().max(5000), z.null()]).describe("Product description shown on the product page. Improves buyer conversion. Plain text, max 5000 chars.").optional(), "tagline": z.union([z.string().max(140), z.null()]).describe("Short tagline shown below the product name on the product page. Max 140 chars.").optional(), "highlights": z.union([z.array(z.string()), z.null()]).describe("Bullet-point features shown as badges on the product page. Max 10 items. Each should be short (2-4 words).").optional(), "cta": z.union([z.string().max(60), z.null()]).describe("Buy button text on the product page. Defaults to 'Buy Now' if omitted. Max 60 chars.").optional(), "cover": z.union([z.string(), z.null()]).describe("Cover image file token from POST /v1/files. Shown prominently on the product page. Recommended: 1200x630px.").optional(), "metadata": z.union([z.record(z.string(), z.any()), z.null()]).describe("Arbitrary key-value pairs forwarded in webhook event payloads. Use for your own tracking (campaign IDs, source tags).").optional(), "utm_source": z.union([z.string().max(100), z.null()]).describe("UTM source tag for Google Analytics. Defaults to 'listbee' if omitted").optional(), "utm_medium": z.union([z.string().max(100), z.null()]).describe("UTM medium tag for Google Analytics. Defaults to 'product_page' if omitted").optional(), "utm_campaign": z.union([z.string().max(100), z.null()]).describe("UTM campaign tag for Google Analytics. Defaults to the listing slug if omitted").optional(), "compare_at_price": z.union([z.number().int().gt(0), z.null()]).describe("Strikethrough price in cents (smallest currency unit). Must be greater than price. Examples: $39 = 3900.").optional(), "badges": z.union([z.array(z.string()), z.null()]).describe("Short promotional badges shown on the product page (e.g. 'Best seller', 'Limited time'). Max 10 items.").optional(), "cover_blur": z.enum(["true", "false", "auto"]).optional(), "rating": z.union([z.number(), z.null()]).describe("Seller-provided aggregate star rating (1-5). Shown on the product page. Values outside range clamped.").optional(), "rating_count": z.union([z.number().int().gte(0), z.null()]).describe("Seller-provided review or purchase count shown alongside the rating on the product page.").optional(), "reviews": z.union([z.array(z.object({ "name": z.string().max(100).describe("Reviewer display name"), "rating": z.number().describe("Star rating (1–5). Values outside this range are clamped automatically"), "content": z.string().max(1000).describe("Review body text") })), z.null()]).describe("Featured review cards shown on the product page. Seller-provided, not buyer-submitted. Max 10.").optional(), "faqs": z.union([z.array(z.object({ "q": z.string().max(200).describe("Question text"), "a": z.string().max(1000).describe("Answer text") })), z.null()]).describe("FAQ accordion shown on the product page. Answers common buyer questions. Max 10 items.").optional() }).describe("All optional display fields (name, description, tagline, highlights, cta, badges, cover, reviews, faqs) appear on the product page buyers see.").strict(),
11
14
  create_webhook: z.object({ "name": z.string().describe("A name to help you identify this endpoint in the dashboard"), "url": z.string().url().min(1).max(2083).describe("The HTTPS URL that will receive POST requests for each event"), "events": z.array(z.enum(["order.paid", "order.fulfilled", "order.refunded", "order.disputed", "order.dispute_closed", "order.canceled", "listing.created", "listing.updated", "listing.published", "listing.out_of_stock", "listing.deleted", "customer.created"])).describe("Event types to subscribe to. Empty = all events. Available: order.paid, order.fulfilled, order.refunded, order.disputed, order.dispute_closed, order.canceled, listing.created, listing.updated, listing.published, listing.out_of_stock, listing.deleted, customer.created.").optional() }).strict(),
12
15
  delete_account: null,
@@ -18,7 +21,6 @@ export const schemas = {
18
21
  get_customer: z.object({ "customer_id": z.string().describe("Customer ID.") }).strict(),
19
22
  get_listing: z.object({ "listing_id": z.string().describe("Listing ID (lst_ prefixed).") }).strict(),
20
23
  get_order: z.object({ "order_id": z.string().describe("Order ID (ord_ prefixed).") }).strict(),
21
- get_store: null,
22
24
  list_customers: z.object({ "email": z.union([z.string(), z.null()]).describe("Filter by exact buyer email address.").optional(), "created_after": z.union([z.string().datetime({ offset: true }), z.null()]).describe("Only customers created after this ISO 8601 datetime.").optional(), "created_before": z.union([z.string().datetime({ offset: true }), z.null()]).describe("Only customers created before this ISO 8601 datetime.").optional(), "cursor": z.union([z.string(), z.null()]).describe("Pagination cursor from a previous response.").optional(), "limit": z.number().int().gte(1).lte(100).describe("Maximum number of customers to return.").default(20) }).strict(),
23
25
  list_listings: z.object({ "status": z.union([z.enum(["draft", "published"]), z.null()]).describe("Filter by listing status.").optional(), "cursor": z.union([z.string(), z.null()]).describe("Pagination cursor from a previous response.").optional(), "limit": z.number().int().gte(1).lte(100).describe("Maximum number of listings to return.").default(20) }).strict(),
24
26
  list_orders: z.object({ "status": z.union([z.enum(["pending", "paid", "fulfilled", "canceled", "failed"]), z.null()]).describe("Filter orders by status.").optional(), "listing": z.union([z.string(), z.null()]).describe("Filter by listing ID (lst_ prefixed).").optional(), "buyer_email": z.union([z.string(), z.null()]).describe("Filter by exact buyer email address.").optional(), "created_after": z.union([z.string().datetime({ offset: true }), z.null()]).describe("Only orders created after this ISO 8601 datetime.").optional(), "created_before": z.union([z.string().datetime({ offset: true }), z.null()]).describe("Only orders created before this ISO 8601 datetime.").optional(), "cursor": z.union([z.string(), z.null()]).describe("Pagination cursor from a previous response.").optional(), "limit": z.number().int().gte(1).lte(100).describe("Maximum number of orders to return.").default(20) }).strict(),
@@ -32,8 +34,7 @@ export const schemas = {
32
34
  start_stripe_connect: null,
33
35
  test_webhook: z.object({ "webhook_id": z.string().describe("Webhook endpoint ID.") }).strict(),
34
36
  update_account: z.object({ "ga_measurement_id": z.union([z.string(), z.null()]).describe("Google Analytics 4 Measurement ID (G-XXXXXXXXXX). Set to null to remove").optional(), "notify_orders": z.union([z.boolean(), z.null()]).describe("Email me when I receive a new external order").optional() }).describe("Partial update for account settings.").strict(),
35
- update_listing: z.object({ "listing_id": z.string().describe("Listing ID (lst_ prefixed)."), "fulfillment_url": z.union([z.string(), z.null()]).describe("Callback URL — ListBee POSTs here on purchase. Set to null to remove. Updating this field rotates the fulfillment_secret.").optional(), "name": z.union([z.string(), z.null()]).describe("Product name").optional(), "slug": z.union([z.string().max(80), z.null()]).describe("URL slug for the product page (e.g. 'seo-playbook'). Only changeable in draft. Auto-slugified. On conflict, random suffix appended.").optional(), "price": z.union([z.number().int().gt(0), z.null()]).describe("Price in cents (smallest currency unit). Examples: $5 = 500, $29 = 2900, $99.99 = 9999.").optional(), "stock": z.union([z.number().int().gte(0), z.null()]).describe("Stock quantity. null = unlimited, 0 = out of stock, positive integer = sell N then stop.").optional(), "checkout_schema": z.union([z.array(z.object({ "key": z.string().max(50).describe("Unique key for this field"), "type": z.enum(["text", "select", "date"]).describe("Types of fields that can be collected at checkout."), "label": z.string().max(100).describe("Label shown to buyer"), "required": z.boolean().describe("Whether this field is required").default(true), "options": z.union([z.array(z.string()).max(50), z.null()]).describe("Options for select fields").optional(), "sort_order": z.number().int().gte(0).describe("Display order. Lower values shown first. Fields with equal sort_order are ordered by position in the array.").default(0) }).describe("A field to collect from the buyer at checkout.")), z.null()]).describe("Custom fields to collect from the buyer at checkout. Replaces existing schema.").optional(), "description": z.union([z.string().max(5000), z.null()]).describe("Product description shown on the product page. Improves buyer conversion. Plain text, max 5000 chars.").optional(), "tagline": z.union([z.string().max(140), z.null()]).describe("Short tagline shown below the product name on the product page. Max 140 chars.").optional(), "highlights": z.union([z.array(z.string()), z.null()]).describe("Bullet-point features shown as badges on the product page. Max 10 items. Each should be short (2-4 words).").optional(), "cta": z.union([z.string().max(60), z.null()]).describe("Buy button text on the product page. Defaults to 'Buy Now' if omitted. Max 60 chars.").optional(), "cover": z.union([z.string(), z.null()]).describe("Cover image file token from POST /v1/files. Shown prominently on the product page. Recommended: 1200x630px.").optional(), "metadata": z.union([z.record(z.string(), z.any()), z.null()]).describe("Arbitrary key-value pairs forwarded in webhook event payloads. Use for your own tracking (campaign IDs, source tags).").optional(), "utm_source": z.union([z.string().max(100), z.null()]).describe("UTM source tag for Google Analytics").optional(), "utm_medium": z.union([z.string().max(100), z.null()]).describe("UTM medium tag for Google Analytics").optional(), "utm_campaign": z.union([z.string().max(100), z.null()]).describe("UTM campaign tag for Google Analytics").optional(), "compare_at_price": z.union([z.number().int().gt(0), z.null()]).describe("Strikethrough price in cents (smallest currency unit). Must be greater than price. Examples: $39 = 3900.").optional(), "badges": z.union([z.array(z.string()), z.null()]).describe("Short promotional badges shown on the product page (e.g. 'Best seller', 'Limited time'). Max 10 items.").optional(), "cover_blur": z.union([z.enum(["true", "false", "auto"]), z.null()]).describe("Cover image blur mode. 'true' always blurs, 'false' never blurs, 'auto' blurs when deliverable is an image file.").optional(), "rating": z.union([z.number(), z.null()]).describe("Seller-provided aggregate star rating (1-5). Shown on the product page. Values outside range clamped.").optional(), "rating_count": z.union([z.number().int().gte(0), z.null()]).describe("Seller-provided review or purchase count shown alongside the rating on the product page.").optional(), "reviews": z.union([z.array(z.object({ "name": z.string().max(100).describe("Reviewer display name"), "rating": z.number().describe("Star rating (1–5). Values outside this range are clamped automatically"), "content": z.string().max(1000).describe("Review body text") })), z.null()]).describe("Featured review cards shown on the product page. Seller-provided, not buyer-submitted. Max 10.").optional(), "faqs": z.union([z.array(z.object({ "q": z.string().max(200).describe("Question text"), "a": z.string().max(1000).describe("Answer text") })), z.null()]).describe("FAQ accordion shown on the product page. Answers common buyer questions. Max 10 items.").optional() }).strict(),
36
- update_store: z.object({ "display_name": z.union([z.string(), z.null()]).describe("Store display name shown to buyers").optional(), "bio": z.union([z.string(), z.null()]).describe("Store bio shown on product pages").optional(), "avatar": z.union([z.string(), z.null()]).describe("File token from POST /v1/files with purpose=avatar. Upload an image first, then pass the file token here. Set to empty string to remove the avatar.").optional(), "slug": z.union([z.string().regex(new RegExp("^[a-z0-9][a-z0-9-]*[a-z0-9]$")).min(3).max(60), z.null()]).describe("URL-safe store slug used in checkout URLs. Must be 3-60 characters, start and end with alphanumeric, contain only lowercase letters, digits, and hyphens.").optional() }).strict(),
37
+ update_listing: z.object({ "listing_id": z.string().describe("Listing ID (lst_ prefixed)."), "fulfillment_url": z.union([z.string(), z.null()]).describe("Callback URL — ListBee POSTs here on purchase. Set to null to remove. Updating this field rotates the fulfillment_secret.").optional(), "name": z.union([z.string(), z.null()]).describe("Product name").optional(), "price": z.union([z.number().int().gt(0), z.null()]).describe("Price in cents (smallest currency unit). Examples: $5 = 500, $29 = 2900, $99.99 = 9999.").optional(), "stock": z.union([z.number().int().gte(0), z.null()]).describe("Stock quantity. null = unlimited, 0 = out of stock, positive integer = sell N then stop.").optional(), "checkout_schema": z.union([z.array(z.object({ "key": z.string().max(50).describe("Unique key for this field"), "type": z.enum(["text", "select", "date"]).describe("Types of fields that can be collected at checkout."), "label": z.string().max(100).describe("Label shown to buyer"), "required": z.boolean().describe("Whether this field is required").default(true), "options": z.union([z.array(z.string()).max(50), z.null()]).describe("Options for select fields").optional(), "sort_order": z.number().int().gte(0).describe("Display order. Lower values shown first. Fields with equal sort_order are ordered by position in the array.").default(0) }).describe("A field to collect from the buyer at checkout.")), z.null()]).describe("Custom fields to collect from the buyer at checkout. Replaces existing schema.").optional(), "description": z.union([z.string().max(5000), z.null()]).describe("Product description shown on the product page. Improves buyer conversion. Plain text, max 5000 chars.").optional(), "tagline": z.union([z.string().max(140), z.null()]).describe("Short tagline shown below the product name on the product page. Max 140 chars.").optional(), "highlights": z.union([z.array(z.string()), z.null()]).describe("Bullet-point features shown as badges on the product page. Max 10 items. Each should be short (2-4 words).").optional(), "cta": z.union([z.string().max(60), z.null()]).describe("Buy button text on the product page. Defaults to 'Buy Now' if omitted. Max 60 chars.").optional(), "cover": z.union([z.string(), z.null()]).describe("Cover image file token from POST /v1/files. Shown prominently on the product page. Recommended: 1200x630px.").optional(), "metadata": z.union([z.record(z.string(), z.any()), z.null()]).describe("Arbitrary key-value pairs forwarded in webhook event payloads. Use for your own tracking (campaign IDs, source tags).").optional(), "utm_source": z.union([z.string().max(100), z.null()]).describe("UTM source tag for Google Analytics").optional(), "utm_medium": z.union([z.string().max(100), z.null()]).describe("UTM medium tag for Google Analytics").optional(), "utm_campaign": z.union([z.string().max(100), z.null()]).describe("UTM campaign tag for Google Analytics").optional(), "compare_at_price": z.union([z.number().int().gt(0), z.null()]).describe("Strikethrough price in cents (smallest currency unit). Must be greater than price. Examples: $39 = 3900.").optional(), "badges": z.union([z.array(z.string()), z.null()]).describe("Short promotional badges shown on the product page (e.g. 'Best seller', 'Limited time'). Max 10 items.").optional(), "cover_blur": z.union([z.enum(["true", "false", "auto"]), z.null()]).describe("Cover image blur mode. 'true' always blurs, 'false' never blurs, 'auto' blurs when deliverable is an image file.").optional(), "rating": z.union([z.number(), z.null()]).describe("Seller-provided aggregate star rating (1-5). Shown on the product page. Values outside range clamped.").optional(), "rating_count": z.union([z.number().int().gte(0), z.null()]).describe("Seller-provided review or purchase count shown alongside the rating on the product page.").optional(), "reviews": z.union([z.array(z.object({ "name": z.string().max(100).describe("Reviewer display name"), "rating": z.number().describe("Star rating (1–5). Values outside this range are clamped automatically"), "content": z.string().max(1000).describe("Review body text") })), z.null()]).describe("Featured review cards shown on the product page. Seller-provided, not buyer-submitted. Max 10.").optional(), "faqs": z.union([z.array(z.object({ "q": z.string().max(200).describe("Question text"), "a": z.string().max(1000).describe("Answer text") })), z.null()]).describe("FAQ accordion shown on the product page. Answers common buyer questions. Max 10 items.").optional() }).strict(),
37
38
  update_webhook: z.object({ "webhook_id": z.string().describe("Webhook endpoint ID."), "name": z.union([z.string(), z.null()]).describe("Display name").optional(), "url": z.union([z.string().url().min(1).max(2083), z.null()]).describe("HTTPS endpoint URL").optional(), "events": z.union([z.array(z.enum(["order.paid", "order.fulfilled", "order.refunded", "order.disputed", "order.dispute_closed", "order.canceled", "listing.created", "listing.updated", "listing.published", "listing.out_of_stock", "listing.deleted", "customer.created"])), z.null()]).describe("Replaces the current event subscriptions. Empty list subscribes to all events").optional(), "enabled": z.union([z.boolean(), z.null()]).describe("Set to `false` to pause delivery without deleting the endpoint").optional() }).strict(),
38
39
  upload_file: null,
39
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/generated/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/generated/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare function handleBootstrapStart(baseUrl: string, args: Record<string, unknown>): Promise<CallToolResult>;
3
+ export declare function handleBootstrapVerify(baseUrl: string, args: Record<string, unknown>): Promise<CallToolResult>;
4
+ export declare function handleBootstrapComplete(baseUrl: string, args: Record<string, unknown>): Promise<CallToolResult>;
5
+ //# sourceMappingURL=bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/handlers/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAuBzE,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAUzB;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAUzB"}
@@ -0,0 +1,61 @@
1
+ import { errorResult } from "../types.js";
2
+ async function bootstrapFetch(baseUrl, path, body) {
3
+ const res = await fetch(`${baseUrl}${path}`, {
4
+ method: "POST",
5
+ headers: { "Content-Type": "application/json" },
6
+ body: JSON.stringify(body),
7
+ });
8
+ const data = await res.json();
9
+ if (!res.ok) {
10
+ throw Object.assign(new Error(data.detail || `HTTP ${res.status}`), {
11
+ status: res.status,
12
+ response: data,
13
+ });
14
+ }
15
+ return data;
16
+ }
17
+ export async function handleBootstrapStart(baseUrl, args) {
18
+ try {
19
+ const data = await bootstrapFetch(baseUrl, "/v1/bootstrap", { email: args.email });
20
+ return {
21
+ content: [
22
+ { type: "text", text: JSON.stringify(data, null, 2) },
23
+ { type: "text", text: "OTP sent. Ask the user to check their email for a 6-digit code, then call bootstrap_verify." },
24
+ ],
25
+ };
26
+ }
27
+ catch (err) {
28
+ return errorResult(err);
29
+ }
30
+ }
31
+ export async function handleBootstrapVerify(baseUrl, args) {
32
+ try {
33
+ const data = await bootstrapFetch(baseUrl, "/v1/bootstrap/verify", {
34
+ session: args.session, code: args.code,
35
+ });
36
+ return {
37
+ content: [
38
+ { type: "text", text: JSON.stringify(data, null, 2) },
39
+ { type: "text", text: "Verified. Call bootstrap_complete with the session ID to get the API key." },
40
+ ],
41
+ };
42
+ }
43
+ catch (err) {
44
+ return errorResult(err);
45
+ }
46
+ }
47
+ export async function handleBootstrapComplete(baseUrl, args) {
48
+ try {
49
+ const data = await bootstrapFetch(baseUrl, "/v1/bootstrap/complete", { session: args.session });
50
+ return {
51
+ content: [
52
+ { type: "text", text: JSON.stringify(data, null, 2) },
53
+ { type: "text", text: "CRITICAL: Store the api_key immediately. Restart this MCP session with the key to unlock all tools." },
54
+ ],
55
+ };
56
+ }
57
+ catch (err) {
58
+ return errorResult(err);
59
+ }
60
+ }
61
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/handlers/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,KAAK,UAAU,cAAc,CAC3B,OAAe,EACf,IAAY,EACZ,IAA6B;IAE7B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE;QAC3C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAE,IAAY,CAAC,MAAM,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;YAC3E,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAe,EACf,IAA6B;IAE7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnF,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACrD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6FAA6F,EAAE;aACtH;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAe,EACf,IAA6B;IAE7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,sBAAsB,EAAE;YACjE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI;SACvC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACrD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2EAA2E,EAAE;aACpG;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAe,EACf,IAA6B;IAE7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAChG,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACrD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qGAAqG,EAAE;aAC9H;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3F,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAyC5C,CAAC"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3F,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAqC5C,CAAC"}
package/dist/handlers.js CHANGED
@@ -20,9 +20,6 @@ export const handlers = {
20
20
  get_account: (c) => c.account.get(),
21
21
  update_account: (c, a) => c.account.update(a),
22
22
  delete_account: (c) => c.account.delete(),
23
- // Store
24
- get_store: async (c) => { const r = await c.get('/v1/store'); return r.json(); },
25
- update_store: async (c, a) => { const r = await c.put('/v1/store', a); return r.json(); },
26
23
  // Stripe
27
24
  disconnect_stripe: (c) => c.stripe.disconnect(),
28
25
  // Webhooks
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -41,7 +41,7 @@ function resolveConfig(parsed, env) {
41
41
  }
42
42
  const apiKey = parsed.apiKey || env.LISTBEE_API_KEY;
43
43
  if (!apiKey) {
44
- return "API key required. Use --api-key or set LISTBEE_API_KEY.";
44
+ console.error("No API key — bootstrap-only mode. Call bootstrap_complete to get a key.");
45
45
  }
46
46
  return { transport: "stdio", apiKey, baseUrl, toolFilter };
47
47
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  interface CreateServerOptions {
3
- apiKey: string;
3
+ apiKey?: string;
4
4
  baseUrl?: string;
5
5
  toolFilter?: Set<string>;
6
6
  }
7
7
  /**
8
8
  * Create and configure the MCP server with all tools registered.
9
+ * When apiKey is undefined, only bootstrap tools are registered (no SDK client created).
9
10
  */
10
11
  export declare function createServer(options: CreateServerOptions): McpServer;
11
12
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgCpE,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAmCD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAyFpE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+CpE,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AA2BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAoIpE"}
package/dist/server.js CHANGED
@@ -7,6 +7,7 @@ import { safeTool } from "./types.js";
7
7
  import { handlers } from "./handlers.js";
8
8
  import { handleUploadFile } from "./handlers/upload-file.js";
9
9
  import { handleStripeConnect } from "./handlers/stripe-connect.js";
10
+ import { handleBootstrapStart, handleBootstrapVerify, handleBootstrapComplete, } from "./handlers/bootstrap.js";
10
11
  import { schemas } from "./generated/schemas.js";
11
12
  // Read version from package.json
12
13
  import { readFileSync } from "node:fs";
@@ -15,10 +16,20 @@ import { fileURLToPath } from "node:url";
15
16
  const __dirname = dirname(fileURLToPath(import.meta.url));
16
17
  const pkg = JSON.parse(readFileSync(resolve(__dirname, "..", "package.json"), "utf-8"));
17
18
  const SERVER_INSTRUCTIONS = `ListBee is a commerce API for AI agents.
19
+
18
20
  Golden path: create_listing → set_deliverables → get_listing (check readiness) → publish_listing.
19
21
  Always call get_listing after mutations to inspect readiness.
20
22
  readiness.sellable tells you if the listing is live.
21
- readiness.actions lists what's missing — kind:api means you can fix it, kind:human means the user must.`;
23
+ readiness.actions lists what's missing — kind:api means you can fix it, kind:human means the user must.
24
+ Every readiness action includes a resolve object with the exact method and endpoint to fix it — follow resolve directly.
25
+
26
+ When readiness.actions contains kind:human actions:
27
+ 1. Present resolve.url to the user
28
+ 2. Explain what they need to do (action.message)
29
+ 3. Poll get_account (or get_listing) every 30s to detect completion
30
+ 4. The action disappears from readiness.actions when the user completes it
31
+ 5. Timeout after 15 minutes and notify the user`;
32
+ const BOOTSTRAP_TOOLS = new Set(["bootstrap_start", "bootstrap_verify", "bootstrap_complete"]);
22
33
  // Manual override for upload_file: the API uses multipart upload but the MCP tool
23
34
  // takes a URL + filename and handles the fetch-and-upload server-side.
24
35
  const uploadFileSchema = z.object({
@@ -34,35 +45,44 @@ const schemaMap = {
34
45
  ...schemas,
35
46
  upload_file: uploadFileSchema,
36
47
  };
37
- /**
38
- * All handlers merged: standard handlers + custom handlers.
39
- * stripe-connect is registered directly (returns CallToolResult, not raw data).
40
- */
41
- const allHandlers = {
42
- ...handlers,
43
- upload_file: handleUploadFile,
44
- // start_stripe_connect is handled separately below (custom CallToolResult)
45
- };
46
48
  /**
47
49
  * Create and configure the MCP server with all tools registered.
50
+ * When apiKey is undefined, only bootstrap tools are registered (no SDK client created).
48
51
  */
49
52
  export function createServer(options) {
50
- const client = new ListBee({
51
- apiKey: options.apiKey,
52
- baseUrl: options.baseUrl,
53
- });
53
+ const baseUrl = options.baseUrl ?? "https://api.listbee.so";
54
+ // SDK client only when authenticated
55
+ const client = options.apiKey
56
+ ? new ListBee({ apiKey: options.apiKey, baseUrl })
57
+ : null;
54
58
  const allTools = loadManifest();
55
59
  const metaIndex = indexManifest(allTools);
56
60
  const server = new McpServer({ name: "listbee-mcp", version: pkg.version }, {
57
61
  capabilities: { tools: {} },
58
62
  instructions: SERVER_INSTRUCTIONS,
59
63
  });
64
+ /**
65
+ * All handlers merged: standard handlers + custom handlers + bootstrap wrappers.
66
+ * Bootstrap wrappers conform to Handler type (client param ignored).
67
+ */
68
+ const allHandlers = {
69
+ ...handlers,
70
+ upload_file: handleUploadFile,
71
+ bootstrap_start: (_c, a) => handleBootstrapStart(baseUrl, a),
72
+ bootstrap_verify: (_c, a) => handleBootstrapVerify(baseUrl, a),
73
+ bootstrap_complete: (_c, a) => handleBootstrapComplete(baseUrl, a),
74
+ // start_stripe_connect is handled separately below (custom CallToolResult)
75
+ };
60
76
  // Register each tool
61
77
  for (const [toolName, schema] of Object.entries(schemaMap)) {
62
78
  // Apply filter if specified
63
79
  if (options.toolFilter && !options.toolFilter.has(toolName)) {
64
80
  continue;
65
81
  }
82
+ const isBootstrap = BOOTSTRAP_TOOLS.has(toolName);
83
+ // Skip authenticated tools if no client (bootstrap-only mode)
84
+ if (!isBootstrap && !client)
85
+ continue;
66
86
  const meta = metaIndex.get(toolName);
67
87
  if (!meta) {
68
88
  console.error(`Warning: no manifest entry for tool "${toolName}", skipping.`);
@@ -83,6 +103,26 @@ export function createServer(options) {
83
103
  console.error(` Registered tool: ${title} (${toolName})`);
84
104
  continue;
85
105
  }
106
+ // Bootstrap tools: special case — handler returns CallToolResult directly, no client needed
107
+ if (isBootstrap) {
108
+ const bootstrapHandlers = {
109
+ bootstrap_start: (a) => handleBootstrapStart(baseUrl, a),
110
+ bootstrap_verify: (a) => handleBootstrapVerify(baseUrl, a),
111
+ bootstrap_complete: (a) => handleBootstrapComplete(baseUrl, a),
112
+ };
113
+ const bootstrapHandler = bootstrapHandlers[toolName];
114
+ if (!bootstrapHandler)
115
+ continue;
116
+ server.registerTool(toolName, {
117
+ description,
118
+ annotations,
119
+ ...(schema ? { inputSchema: schema } : {}),
120
+ },
121
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
122
+ async (args) => bootstrapHandler((args ?? {})));
123
+ console.error(` Registered tool: ${title} (${toolName})`);
124
+ continue;
125
+ }
86
126
  const handler = allHandlers[toolName];
87
127
  if (!handler) {
88
128
  console.error(`Warning: no handler for tool "${toolName}", skipping.`);
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transports/http.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AA8BD,wBAAsB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA0G/D"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transports/http.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AA+BD,wBAAsB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA0G/D"}
@@ -27,48 +27,48 @@ export async function runHttp(config) {
27
27
  // Bind to 0.0.0.0 for container/remote deployments — DNS rebinding protection
28
28
  // is not applied for non-localhost hosts, which is correct for remote MCP.
29
29
  const app = createMcpExpressApp({ host: "0.0.0.0" });
30
- // Auth middleware — reject unauthenticated requests before MCP sees them
31
- app.use("/mcp", (req, res, next) => {
32
- const auth = req.headers.authorization;
33
- if (!auth?.startsWith("Bearer ")) {
34
- res.status(401).json({ error: "Missing Authorization: Bearer header" });
35
- return;
36
- }
37
- next();
38
- });
30
+ // NO blanket auth middleware — auth mode is determined per session at initialize.
31
+ // Bootstrap sessions (no Bearer at init) only expose bootstrap tools; auth skipped for them.
32
+ // Authenticated sessions require Bearer on every subsequent call.
39
33
  // MCP endpoint — handles all HTTP methods (GET for SSE, POST for requests, DELETE for close)
40
34
  app.all("/mcp", async (req, res) => {
41
35
  const sessionId = req.headers["mcp-session-id"];
42
- // Route to existing session
36
+ // Route to existing session — auth required only if session was created with a key
43
37
  if (sessionId && transports.has(sessionId)) {
44
- const transport = transports.get(sessionId);
45
38
  const meta = sessions.get(sessionId);
39
+ if (meta && !meta.isBootstrap) {
40
+ const auth = req.headers.authorization;
41
+ if (!auth?.startsWith("Bearer ")) {
42
+ res.status(401).json({ error: "Missing Authorization: Bearer header" });
43
+ return;
44
+ }
45
+ }
46
+ const transport = transports.get(sessionId);
46
47
  if (meta)
47
48
  meta.lastSeenAt = Date.now();
48
49
  await transport.handleRequest(req, res, req.body);
49
50
  return;
50
51
  }
51
- // New session — must be an initialize request
52
+ // New session (initialize) auth optional; keyless = bootstrap-only mode
52
53
  if (req.method === "POST" && isInitializeRequest(req.body)) {
53
- const apiKey = req.headers.authorization.replace("Bearer ", "");
54
+ const auth = req.headers.authorization;
55
+ const apiKey = auth?.startsWith("Bearer ") ? auth.replace("Bearer ", "") : undefined;
56
+ const isBootstrap = !apiKey;
54
57
  const transport = new StreamableHTTPServerTransport({
55
58
  sessionIdGenerator: () => randomUUID(),
56
59
  onsessioninitialized: (sid) => {
57
60
  transports.set(sid, transport);
58
- sessions.set(sid, {
59
- createdAt: Date.now(),
60
- lastSeenAt: Date.now(),
61
- });
61
+ sessions.set(sid, { createdAt: Date.now(), lastSeenAt: Date.now(), isBootstrap });
62
62
  transport.onclose = () => {
63
63
  transports.delete(sid);
64
64
  sessions.delete(sid);
65
65
  console.error(`[http] Session closed: ${sid}`);
66
66
  };
67
- console.error(`[http] New session: ${sid}`);
67
+ console.error(`[http] New session: ${sid} (${isBootstrap ? "bootstrap-only" : "authenticated"})`);
68
68
  },
69
69
  });
70
70
  const server = createServer({
71
- apiKey,
71
+ apiKey, // undefined = bootstrap-only tools
72
72
  baseUrl: config.baseUrl,
73
73
  toolFilter: config.toolFilter,
74
74
  });
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transports/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transports/http.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export interface StdioConfig {
2
- apiKey: string;
2
+ apiKey: string | undefined;
3
3
  baseUrl: string;
4
4
  toolFilter?: Set<string>;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/transports/stdio.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBjE"}
1
+ {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/transports/stdio.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBjE"}
package/mcp-tools.yaml CHANGED
@@ -7,6 +7,78 @@ version: 1
7
7
  # 1-3 = rare / cleanup
8
8
 
9
9
  tools:
10
+ # --- Bootstrap (no API key required) ---
11
+ - type: operation
12
+ operation_id: bootstrap_start
13
+ name: bootstrap_start
14
+ category: bootstrap
15
+ priority: 10
16
+ status: active
17
+ requires_human: true
18
+ annotations:
19
+ readOnlyHint: false
20
+ destructiveHint: false
21
+ idempotentHint: false
22
+ openWorldHint: false
23
+ when_to_use: >
24
+ Use when the agent needs to create a new ListBee account.
25
+ Step 1 of 3. No API key required.
26
+ description: >
27
+ Sends a one-time passcode to the provided email address.
28
+ Returns a session ID for step 2 (bootstrap_verify).
29
+ Human must check their email for the 6-digit code.
30
+ Flow: bootstrap_start → bootstrap_verify → bootstrap_complete.
31
+ hints:
32
+ - "Human interaction required: ask for their email, then tell them to check inbox"
33
+ - "Session expires in 10 minutes"
34
+ - "Disposable email domains are blocked"
35
+
36
+ - type: operation
37
+ operation_id: bootstrap_verify
38
+ name: bootstrap_verify
39
+ category: bootstrap
40
+ priority: 10
41
+ status: active
42
+ requires_human: true
43
+ annotations:
44
+ readOnlyHint: false
45
+ destructiveHint: false
46
+ idempotentHint: false
47
+ openWorldHint: false
48
+ when_to_use: >
49
+ Use after bootstrap_start to verify the OTP code.
50
+ Step 2 of 3. Human must provide the 6-digit code.
51
+ description: >
52
+ Verifies the OTP. On success, creates an account if new email.
53
+ Returns session ID for step 3 (bootstrap_complete).
54
+ hints:
55
+ - "Human provides the 6-digit code from their email"
56
+ - "After 5 failed attempts, the OTP is invalidated"
57
+
58
+ - type: operation
59
+ operation_id: bootstrap_complete
60
+ name: bootstrap_complete
61
+ category: bootstrap
62
+ priority: 10
63
+ status: active
64
+ requires_human: false
65
+ annotations:
66
+ readOnlyHint: false
67
+ destructiveHint: false
68
+ idempotentHint: true
69
+ openWorldHint: false
70
+ when_to_use: >
71
+ Use after bootstrap_verify to get the API key.
72
+ Step 3 of 3. No human interaction needed.
73
+ description: >
74
+ Generates an API key on the verified session. Idempotent — calling again
75
+ with the same session within 10 minutes returns the same key.
76
+ Store the key immediately. Use as Authorization: Bearer lb_...
77
+ hints:
78
+ - "Store the api_key IMMEDIATELY — it is a secret"
79
+ - "If context drops, retry with the same session within 10 minutes"
80
+ - "After receiving the key, restart this MCP session with the key to unlock all tools"
81
+
10
82
  # --- Listings ---
11
83
  - type: operation
12
84
  operation_id: create_listing
@@ -57,6 +129,8 @@ tools:
57
129
  description: >
58
130
  Get a listing's full state including readiness. This is the readiness
59
131
  inspection tool — call it after every change to check what's needed.
132
+ readiness.sellable is true when the listing can accept purchases.
133
+ If false, readiness.actions tells you what's missing and how to fix each item.
60
134
  hints:
61
135
  - "This is how you check readiness — call it after every create/update"
62
136
  - "readiness.sellable tells you if the listing is live"
@@ -137,7 +211,13 @@ tools:
137
211
  annotations:
138
212
  readOnlyHint: false
139
213
  destructiveHint: true
140
- when_to_use: "Use when removing all deliverables from a listing (switches to agent-fulfilled or webhook delivery)."
214
+ when_to_use: >
215
+ Use when switching a listing from managed delivery to external fulfillment
216
+ (webhook or agent callback). SAFETY: This is irreversible — always call
217
+ get_listing first to inspect current state, warn the user that buyers will
218
+ no longer receive auto-delivery, and wait for explicit user confirmation
219
+ before calling. After removing, set up a webhook (create_webhook with event
220
+ order.paid) to ensure order notifications are received.
141
221
  description: >
142
222
  Remove all deliverables from a listing. This is irreversible — the files
143
223
  and delivery configuration cannot be recovered. The listing switches to
@@ -297,12 +377,21 @@ tools:
297
377
  idempotentHint: true
298
378
  when_to_use: "Use to check account status, readiness, billing, Stripe connection, and profile details."
299
379
  description: >
300
- Get the authenticated account's full state including readiness and billing status.
301
- This is the first call an agent should make to understand what's set up.
380
+ Returns account profile, stats, and operational readiness.
381
+ readiness.operational is false until all required actions are resolved.
382
+ Each action in readiness.actions has:
383
+ code — what's needed (e.g. connect_stripe)
384
+ kind — "api" (you can fix it) or "human" (user must act)
385
+ resolve — exactly how to fix it (method + endpoint or URL)
386
+ docs — documentation link for this action
387
+ readiness.next is the highest-priority action code — resolve it first.
302
388
  hints:
303
- - "Call this first to understand account state"
304
- - "readiness.operational tells you if the account can sell"
305
- - "Check payment_config to see if Stripe is connected"
389
+ - "readiness.operational is true when the account can accept payments"
390
+ - "readiness.actions lists what's needed each has code, kind, message, and resolve"
391
+ - "kind:api resolve by calling resolve.endpoint with resolve.method"
392
+ - "kind:human — share resolve.url with the user, then poll this endpoint every 30s until the action disappears"
393
+ - "readiness.next is the highest-priority action code — resolve it first"
394
+ - "Use this endpoint to poll for completion of human actions like Stripe onboarding"
306
395
 
307
396
  - type: operation
308
397
  operation_id: update_account
@@ -314,10 +403,10 @@ tools:
314
403
  readOnlyHint: false
315
404
  destructiveHint: false
316
405
  idempotentHint: true
317
- when_to_use: "Use to update account-level settings (GA tracking, notification preferences)."
406
+ when_to_use: "Use to update account-level settings (display name, bio, avatar, GA tracking, notification preferences)."
318
407
  description: >
319
- Update account settings. Brand info (display_name, bio, avatar) is on the Store,
320
- not the Account. Use update_store for branding.
408
+ Update account settings including brand info (display_name, bio, avatar) and
409
+ other account-level configuration.
321
410
 
322
411
  - type: operation
323
412
  operation_id: delete_account
@@ -333,43 +422,8 @@ tools:
333
422
  Permanently delete the account and all associated data. This is irreversible.
334
423
  hints:
335
424
  - "This is destructive and irreversible — confirm with the user first"
336
-
337
- # --- Store ---
338
- - type: operation
339
- operation_id: get_store
340
- name: get_store
341
- category: store
342
- priority: 9
343
- status: active
344
- annotations:
345
- readOnlyHint: true
346
- destructiveHint: false
347
- idempotentHint: true
348
- when_to_use: "Use to check your store's brand info and sellability status."
349
- description: >
350
- Get the current store's brand info (display_name, bio, avatar, slug) and
351
- readiness. Store is determined by your API key — each key belongs to one store.
352
- hints:
353
- - "readiness.sellable tells you if listings can accept payment"
354
- - "If not sellable, readiness.actions tells you what's needed (usually Stripe)"
355
- - "store.url is the store landing page where all your listings appear"
356
-
357
- - type: operation
358
- operation_id: update_store
359
- name: update_store
360
- category: store
361
- priority: 5
362
- status: active
363
- annotations:
364
- readOnlyHint: false
365
- destructiveHint: false
366
- idempotentHint: true
367
- when_to_use: "Use to update your store's brand — display name, bio, avatar, or slug."
368
- description: >
369
- Update store brand info. These appear on product pages and the store landing page.
370
- input_example:
371
- display_name: "AI Guides"
372
- bio: "Premium guides for modern marketing"
425
+ - "Before calling, use get_account to retrieve current account state, then surface a warning listing what will be permanently lost: all listings, orders, webhooks, and Stripe connection"
426
+ - "Only call this after the user has acknowledged the irreversibility warning and given explicit confirmation to proceed"
373
427
 
374
428
  # --- Stripe ---
375
429
  - type: operation
@@ -387,8 +441,12 @@ tools:
387
441
  Start Stripe Connect onboarding. Returns a URL for the human to complete
388
442
  in a browser. Required before selling through Stripe.
389
443
  hints:
390
- - "You cannot complete this the human must open the URL"
391
- - "After the human completes onboarding, check readiness again"
444
+ - "IMPORTANT: Only a human in a browser can complete Stripe onboarding"
445
+ - "After sharing the URL, poll get_account every 30 seconds"
446
+ - "Stripe is connected when readiness.actions no longer contains connect_stripe or enable_charges"
447
+ - "If expires_at has passed, call start_stripe_connect again for a fresh URL"
448
+ - "Typical completion: 2-5 minutes. Give up after 15 minutes."
449
+ - "If the user closes before finishing, call start_stripe_connect again"
392
450
 
393
451
  - type: operation
394
452
  operation_id: disconnect_stripe
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "listbee-mcp",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "MCP server for ListBee — commerce API for AI agents",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@modelcontextprotocol/sdk": "1.29.0",
28
- "listbee": "^0.17.0",
28
+ "listbee": "^0.19.0",
29
29
  "yaml": "2.8.3",
30
30
  "zod": "4.3.6"
31
31
  },