@shippo/shippo-mcp 0.8.1 → 0.8.4

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 (45) hide show
  1. package/README.md +25 -0
  2. package/bin/mcp-server.js +81 -38
  3. package/bin/mcp-server.js.map +12 -12
  4. package/esm/lib/config.d.ts +3 -3
  5. package/esm/lib/config.js +3 -3
  6. package/esm/lib/config.js.map +1 -1
  7. package/esm/lib/encodings.d.ts.map +1 -1
  8. package/esm/lib/encodings.js +3 -1
  9. package/esm/lib/encodings.js.map +1 -1
  10. package/esm/lib/matchers.d.ts.map +1 -1
  11. package/esm/lib/matchers.js +2 -1
  12. package/esm/lib/matchers.js.map +1 -1
  13. package/esm/mcp-server/mcp-server.js +1 -1
  14. package/esm/mcp-server/server.js +1 -1
  15. package/esm/mcp-server/tools/shipmentsList.d.ts.map +1 -1
  16. package/esm/mcp-server/tools/shipmentsList.js +28 -17
  17. package/esm/mcp-server/tools/shipmentsList.js.map +1 -1
  18. package/esm/mcp-server/tools/transactionsList.d.ts.map +1 -1
  19. package/esm/mcp-server/tools/transactionsList.js +34 -3
  20. package/esm/mcp-server/tools/transactionsList.js.map +1 -1
  21. package/esm/models/batchshipment.d.ts +3 -3
  22. package/esm/models/batchshipment.d.ts.map +1 -1
  23. package/esm/models/batchshipment.js +3 -3
  24. package/esm/models/batchshipment.js.map +1 -1
  25. package/esm/models/batchshipmentcreaterequest.d.ts +2 -2
  26. package/esm/models/batchshipmentcreaterequest.d.ts.map +1 -1
  27. package/esm/models/batchshipmentcreaterequest.js +2 -2
  28. package/esm/models/batchshipmentcreaterequest.js.map +1 -1
  29. package/esm/models/rate.d.ts +1 -1
  30. package/esm/models/rate.d.ts.map +1 -1
  31. package/esm/models/rate.js +1 -1
  32. package/esm/models/rate.js.map +1 -1
  33. package/manifest.json +5 -6
  34. package/package.json +1 -1
  35. package/src/lib/config.ts +3 -3
  36. package/src/lib/encodings.ts +4 -3
  37. package/src/lib/matchers.ts +3 -1
  38. package/src/mcp-server/mcp-server.ts +1 -1
  39. package/src/mcp-server/server.ts +1 -1
  40. package/src/mcp-server/tools/shipmentsList.ts +33 -21
  41. package/src/mcp-server/tools/transactionsList.ts +35 -3
  42. package/src/models/batchshipment.ts +6 -6
  43. package/src/models/batchshipmentcreaterequest.ts +4 -4
  44. package/src/models/rate.ts +2 -2
  45. package/tsconfig.json +0 -1
package/README.md CHANGED
@@ -22,6 +22,7 @@ Shippo MCP Server: Use this MCP Server to integrate with the Shippo service usin
22
22
  * [<img src="https://docs.goshippo.com/images/Logo.png" width="30" alt="Shippo logo"> Shippo MCP Server](#img-srchttpsdocsgoshippocomimageslogopng-width30-altshippo-logo-shippo-mcp-server)
23
23
  * [Quick Start](#quick-start)
24
24
  * [Configuration](#configuration)
25
+ * [Updating](#updating)
25
26
  * [Features](#features)
26
27
  * [Security](#security)
27
28
  * [Contributions](#contributions)
@@ -198,6 +199,30 @@ Replace `/ABSOLUTE/PATH/TO/REPO` with the full path to your cloned repository.
198
199
 
199
200
  <!-- End Configuration [configuration] -->
200
201
 
202
+ <!-- Start Updating [updating] -->
203
+
204
+ ## Updating
205
+
206
+ The MCP server is distributed via npm. To ensure you have the latest features and bug fixes, update periodically.
207
+
208
+ ### Check Current Version
209
+
210
+ ```bash
211
+ npx @shippo/shippo-mcp --version
212
+ ```
213
+
214
+ ### Update to Latest Version
215
+
216
+ ```bash
217
+ npx clear-npx-cache
218
+ ```
219
+
220
+ Next time you start your MCP client (Cursor, Claude), it will fetch the latest version.
221
+
222
+ > **Tip:** After updating, toggle your MCP server off and on in Cursor/Claude settings for changes to take effect.
223
+
224
+ <!-- End Updating [updating] -->
225
+
201
226
  <!-- Start Features [features] -->
202
227
 
203
228
  ## Features
package/bin/mcp-server.js CHANGED
@@ -46623,9 +46623,9 @@ var init_config = __esm(() => {
46623
46623
  SDK_METADATA = {
46624
46624
  language: "typescript",
46625
46625
  openapiDocVersion: "2018-02-08",
46626
- sdkVersion: "0.1.9",
46627
- genVersion: "2.755.9",
46628
- userAgent: "speakeasy-sdk/mcp-typescript 0.1.9 2.755.9 2018-02-08 @wyatt-test/shippo-mcp"
46626
+ sdkVersion: "0.8.4",
46627
+ genVersion: "2.769.1",
46628
+ userAgent: "speakeasy-sdk/mcp-typescript 0.8.4 2.769.1 2018-02-08 @shippo/shippo-mcp"
46629
46629
  };
46630
46630
  });
46631
46631
 
@@ -47796,8 +47796,9 @@ function match(...matchers) {
47796
47796
  const result = safeParse(data, (v2) => matcher.schema.parse(v2), "Response validation failed");
47797
47797
  return [result.ok ? { ok: false, error: result.value } : result, raw];
47798
47798
  } else {
47799
+ const valueToParse = data;
47799
47800
  return [
47800
- safeParse(data, (v2) => matcher.schema.parse(v2), "Response validation failed"),
47801
+ safeParse(valueToParse, (v2) => matcher.schema.parse(v2), "Response validation failed"),
47801
47802
  raw
47802
47803
  ];
47803
47804
  }
@@ -48681,14 +48682,14 @@ var init_batchshipment = __esm(() => {
48681
48682
  "TRANSACTION_FAILED"
48682
48683
  ]).describe("`INVALID` batch shipments cannot be purchased and will have to be removed, fixed, and added to the batch again.<br>\n" + "`VALID` batch shipments can be purchased. <br>\n" + "Batch shipments with the status `TRANSACTION_FAILED` were not able to be purchased and the error will be displayed on the message field<br> \n" + "`INCOMPLETE` batch shipments have an issue with the Address and will need to be removed, fixed, and added to the batch again.");
48683
48684
  BatchShipment$zodSchema = objectType({
48684
- carrier_account: stringType().optional(),
48685
+ carrier_account: stringType().nullable().optional(),
48685
48686
  messages: arrayType(anyType()).optional(),
48686
48687
  metadata: stringType().optional(),
48687
48688
  object_id: stringType(),
48688
- servicelevel_token: stringType().optional(),
48689
+ servicelevel_token: stringType().nullable().optional(),
48689
48690
  shipment: stringType(),
48690
48691
  status: BatchShipmentStatus$zodSchema,
48691
- transaction: stringType().optional()
48692
+ transaction: stringType().nullable().optional()
48692
48693
  });
48693
48694
  });
48694
48695
 
@@ -49675,9 +49676,9 @@ var init_batchshipmentcreaterequest = __esm(() => {
49675
49676
  init_zod();
49676
49677
  init_shipmentcreaterequest();
49677
49678
  BatchShipmentCreateRequest$zodSchema = objectType({
49678
- carrier_account: stringType().optional(),
49679
+ carrier_account: stringType().nullable().optional(),
49679
49680
  metadata: stringType().optional(),
49680
- servicelevel_token: stringType().optional(),
49681
+ servicelevel_token: stringType().nullable().optional(),
49681
49682
  shipment: ShipmentCreateRequest$zodSchema
49682
49683
  });
49683
49684
  });
@@ -55683,7 +55684,7 @@ var init_rate = __esm(() => {
55683
55684
  currency: stringType(),
55684
55685
  currency_local: stringType(),
55685
55686
  duration_terms: stringType().optional(),
55686
- estimated_days: numberType().int().optional(),
55687
+ estimated_days: numberType().int().nullable().optional(),
55687
55688
  included_insurance_price: stringType().nullable().optional(),
55688
55689
  messages: arrayType(ResponseMessage$zodSchema).optional(),
55689
55690
  object_created: stringType().datetime({ offset: true }),
@@ -57556,32 +57557,43 @@ var init_shipmentsList2 = __esm(() => {
57556
57557
  };
57557
57558
  tool$shipmentsList = {
57558
57559
  name: "shipments-list",
57559
- description: `List all shipments
57560
-
57561
- Returns a list of all shipment objects.<br><br>
57562
- In order to filter results, you must use the below path parameters.
57563
- A maximum date range of 90 days is permitted.
57564
- Provided dates should be ISO 8601 UTC dates (timezone offsets are currently not supported).<br><br>
57565
-
57566
- Optional path parameters:<br>
57567
- \`object_created_gt\`- object(s) created greater than a provided date time<br>
57568
- \`object_created_gte\` - object(s) created greater than or equal to a provided date time<br>
57569
- \`object_created_lt\` - object(s) created less than a provided date time<br>
57570
- \`object_created_lte\` - object(s) created less than or equal to a provided date time<br>
57571
-
57572
- Date format examples:<br>
57573
- \`2017-01-01\`<br>
57574
- \`2017-01-01T03:30:30\` or \`2017-01-01T03:30:30.5\`<br>
57575
- \`2017-01-01T03:30:30Z\`<br><br>
57576
-
57577
- Example URL:<br>
57578
- \`https://api.goshippo.com/shipments/?object_created_gte=2017-01-01T00:00:30&object_created_lt=2017-04-01T00:00:30\``,
57560
+ description: `**LIST SHIPMENTS (Rate Quotes)** - NOT for finding delivered packages!
57561
+
57562
+ This tool lists shipment objects, which represent rate shopping sessions. Each shipment contains:
57563
+ - Sender/recipient addresses
57564
+ - Parcel dimensions
57565
+ - Available shipping rates from carriers
57566
+
57567
+ **IMPORTANT DISTINCTIONS:**
57568
+ - Shipments = Rate quotes/shopping sessions
57569
+ - Shipments do NOT have tracking or delivery status
57570
+ - Use \`transactions-list\` to find purchased labels with tracking status
57571
+
57572
+ **When to use this tool:**
57573
+ - List recent rate shopping sessions
57574
+ - Find a shipment to view its rates
57575
+ - Review shipment details before purchasing a label
57576
+
57577
+ **When NOT to use this tool:**
57578
+ - ❌ Finding "delivered" shipments (use transactions-list instead)
57579
+ - ❌ Getting tracking information (use tracking-status-get)
57580
+ - ❌ Finding purchased labels (use transactions-list)
57581
+
57582
+ **Available Filters:**
57583
+ - \`object_created_gt/gte/lt/lte\`: Filter by creation date
57584
+ - \`page/results\`: Pagination
57585
+
57586
+ **Example Use Case:**
57587
+ "Show me shipments I created this week" → Use this tool
57588
+ "Show me delivered packages" → Use transactions-list with tracking_status filter
57589
+ `,
57590
+ scopes: ["read"],
57579
57591
  annotations: {
57580
57592
  title: "",
57581
57593
  destructiveHint: false,
57582
57594
  idempotentHint: false,
57583
57595
  openWorldHint: false,
57584
- readOnlyHint: true
57596
+ readOnlyHint: false
57585
57597
  },
57586
57598
  args: args50,
57587
57599
  tool: async (client, args51, ctx) => {
@@ -59357,15 +59369,46 @@ var init_transactionsList2 = __esm(() => {
59357
59369
  };
59358
59370
  tool$transactionsList = {
59359
59371
  name: "transactions-list",
59360
- description: `List all shipping labels
59361
-
59362
- Returns a list of all transaction objects.`,
59372
+ description: `**LIST TRANSACTIONS (Purchased Labels)** - Use this for finding shipped/delivered packages!
59373
+
59374
+ This tool lists transaction objects, which represent purchased shipping labels. Each transaction contains:
59375
+ - Tracking number and tracking URL
59376
+ - Label URL for printing
59377
+ - Tracking status (UNKNOWN, PRE_TRANSIT, TRANSIT, DELIVERED, RETURNED, FAILURE)
59378
+ - Purchase date and carrier info
59379
+
59380
+ **IMPORTANT DISTINCTIONS:**
59381
+ - Transactions = Purchased shipping labels
59382
+ - Transactions HAVE tracking status and tracking numbers
59383
+ - Use \`shipments-list\` for rate quotes (unpurchased shipments)
59384
+
59385
+ **When to use this tool:**
59386
+ - Find delivered packages → filter by \`tracking_status: "DELIVERED"\`
59387
+ - Find packages in transit → filter by \`tracking_status: "TRANSIT"\`
59388
+ - List all purchased labels
59389
+ - Find a specific label by rate ID
59390
+
59391
+ **Available Filters:**
59392
+ - \`tracking_status\`: UNKNOWN, PRE_TRANSIT, TRANSIT, DELIVERED, RETURNED, FAILURE
59393
+ - \`object_status\`: WAITING, QUEUED, SUCCESS, ERROR, REFUNDED, REFUNDPENDING, REFUNDREJECTED
59394
+ - \`rate\`: Filter by rate ID
59395
+ - \`page/results\`: Pagination
59396
+
59397
+ **Example Use Cases:**
59398
+ - "Show delivered shipments" → \`{tracking_status: "DELIVERED"}\`
59399
+ - "Show packages in transit" → \`{tracking_status: "TRANSIT"}\`
59400
+ - "Show all labels" → \`{results: 25}\`
59401
+
59402
+ **Note on Test Mode:**
59403
+ Test transactions will always show \`tracking_status: "UNKNOWN"\` because they don't receive real carrier tracking updates.
59404
+ `,
59405
+ scopes: ["read"],
59363
59406
  annotations: {
59364
59407
  title: "",
59365
59408
  destructiveHint: false,
59366
59409
  idempotentHint: false,
59367
59410
  openWorldHint: false,
59368
- readOnlyHint: true
59411
+ readOnlyHint: false
59369
59412
  },
59370
59413
  args: args60,
59371
59414
  tool: async (client, args61, ctx) => {
@@ -60819,7 +60862,7 @@ Updates an existing webhook using the webhook object ID.`,
60819
60862
  function createMCPServer(deps) {
60820
60863
  const server = new McpServer({
60821
60864
  name: "ShippoSDK",
60822
- version: "0.1.9"
60865
+ version: "0.8.4"
60823
60866
  });
60824
60867
  const getClient = deps.getSDK || (() => new ShippoSDKCore({
60825
60868
  security: deps.security,
@@ -62211,7 +62254,7 @@ var routes = ln({
62211
62254
  var app = _e(routes, {
62212
62255
  name: "mcp",
62213
62256
  versionInfo: {
62214
- currentVersion: "0.1.9"
62257
+ currentVersion: "0.8.4"
62215
62258
  }
62216
62259
  });
62217
62260
  Yt(app, process3.argv.slice(2), buildContext(process3));
@@ -62219,5 +62262,5 @@ export {
62219
62262
  app
62220
62263
  };
62221
62264
 
62222
- //# debugId=9C8096A93585DB7864756E2164756E21
62265
+ //# debugId=7AFC15D19A9C5A6364756E2164756E21
62223
62266
  //# sourceMappingURL=mcp-server.js.map