@shippo/shippo-mcp 0.8.43 → 0.8.48

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 (44) hide show
  1. package/bin/mcp-server.js +62 -13
  2. package/bin/mcp-server.js.map +13 -13
  3. package/esm/funcs/batchesGet.d.ts +4 -0
  4. package/esm/funcs/batchesGet.d.ts.map +1 -1
  5. package/esm/funcs/batchesGet.js +4 -0
  6. package/esm/funcs/batchesGet.js.map +1 -1
  7. package/esm/lib/config.d.ts +2 -2
  8. package/esm/lib/config.js +2 -2
  9. package/esm/mcp-server/mcp-server.js +1 -1
  10. package/esm/mcp-server/server.js +1 -1
  11. package/esm/mcp-server/tools/batchesGet.d.ts.map +1 -1
  12. package/esm/mcp-server/tools/batchesGet.js +4 -0
  13. package/esm/mcp-server/tools/batchesGet.js.map +1 -1
  14. package/esm/mcp-server/tools/manifestsGet.d.ts.map +1 -1
  15. package/esm/mcp-server/tools/manifestsGet.js +10 -3
  16. package/esm/mcp-server/tools/manifestsGet.js.map +1 -1
  17. package/esm/mcp-server/tools/manifestsList.d.ts.map +1 -1
  18. package/esm/mcp-server/tools/manifestsList.js +10 -3
  19. package/esm/mcp-server/tools/manifestsList.js.map +1 -1
  20. package/esm/mcp-server/tools/trackingStatusGet.d.ts.map +1 -1
  21. package/esm/mcp-server/tools/trackingStatusGet.js +5 -0
  22. package/esm/mcp-server/tools/trackingStatusGet.js.map +1 -1
  23. package/esm/mcp-server/tools/transactionsCreate.d.ts.map +1 -1
  24. package/esm/mcp-server/tools/transactionsCreate.js +12 -0
  25. package/esm/mcp-server/tools/transactionsCreate.js.map +1 -1
  26. package/esm/mcp-server/tools/transactionsGet.d.ts.map +1 -1
  27. package/esm/mcp-server/tools/transactionsGet.js +7 -0
  28. package/esm/mcp-server/tools/transactionsGet.js.map +1 -1
  29. package/esm/mcp-server/tools/transactionsList.d.ts.map +1 -1
  30. package/esm/mcp-server/tools/transactionsList.js +7 -0
  31. package/esm/mcp-server/tools/transactionsList.js.map +1 -1
  32. package/manifest.json +8 -8
  33. package/package.json +1 -1
  34. package/src/funcs/batchesGet.ts +4 -0
  35. package/src/lib/config.ts +2 -2
  36. package/src/mcp-server/mcp-server.ts +1 -1
  37. package/src/mcp-server/server.ts +1 -1
  38. package/src/mcp-server/tools/batchesGet.ts +4 -0
  39. package/src/mcp-server/tools/manifestsGet.ts +10 -3
  40. package/src/mcp-server/tools/manifestsList.ts +10 -3
  41. package/src/mcp-server/tools/trackingStatusGet.ts +5 -0
  42. package/src/mcp-server/tools/transactionsCreate.ts +12 -0
  43. package/src/mcp-server/tools/transactionsGet.ts +7 -0
  44. package/src/mcp-server/tools/transactionsList.ts +7 -0
@@ -15,6 +15,10 @@ import { Result } from "../types/fp.js";
15
15
  * **IMPORTANT: There is NO batches-list endpoint in the Shippo API.**
16
16
  * You must know the batch `object_id` (returned when you created the batch) to retrieve it.
17
17
  * Store batch IDs when creating batches if you need to access them later.
18
+ *
19
+ * **URL HANDLING:** This response contains `label_url` (array of download URLs).
20
+ * When displaying URLs, ALWAYS show the complete URL without truncation.
21
+ * Never replace parts with "..." - S3 signed URLs will break if truncated.
18
22
  */
19
23
  export declare function batchesGet(client$: ShippoSDKCore, request: GetBatchRequest, options?: RequestOptions): APIPromise<Result<GetBatchResponse, APIError | SDKValidationError | UnexpectedClientError | InvalidRequestError | RequestAbortedError | RequestTimeoutError | ConnectionError>>;
20
24
  //# sourceMappingURL=batchesGet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"batchesGet.d.ts","sourceRoot":"","sources":["../../src/funcs/batchesGet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAK3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,eAAe,EAEf,gBAAgB,EAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAW,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CACX,MAAM,CACJ,gBAAgB,EACd,QAAQ,GACR,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,CAClB,CACF,CAMA"}
1
+ {"version":3,"file":"batchesGet.d.ts","sourceRoot":"","sources":["../../src/funcs/batchesGet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAK3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,eAAe,EAEf,gBAAgB,EAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAW,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CACX,MAAM,CACJ,gBAAgB,EACd,QAAQ,GACR,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,CAClB,CACF,CAMA"}
@@ -18,6 +18,10 @@ import { APIPromise } from "../types/async.js";
18
18
  * **IMPORTANT: There is NO batches-list endpoint in the Shippo API.**
19
19
  * You must know the batch `object_id` (returned when you created the batch) to retrieve it.
20
20
  * Store batch IDs when creating batches if you need to access them later.
21
+ *
22
+ * **URL HANDLING:** This response contains `label_url` (array of download URLs).
23
+ * When displaying URLs, ALWAYS show the complete URL without truncation.
24
+ * Never replace parts with "..." - S3 signed URLs will break if truncated.
21
25
  */
22
26
  export function batchesGet(client$, request, options) {
23
27
  return new APIPromise($do(client$, request, options));
@@ -1 +1 @@
1
- {"version":3,"file":"batchesGet.js","sourceRoot":"","sources":["../../src/funcs/batchesGet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batchesGet.js","sourceRoot":"","sources":["../../src/funcs/batchesGet.ts"],"names":[],"mappings":"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"}
@@ -39,8 +39,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
39
39
  export declare const SDK_METADATA: {
40
40
  readonly language: "typescript";
41
41
  readonly openapiDocVersion: "2018-02-08";
42
- readonly sdkVersion: "0.8.43";
42
+ readonly sdkVersion: "0.8.48";
43
43
  readonly genVersion: "2.770.0";
44
- readonly userAgent: "speakeasy-sdk/mcp-typescript 0.8.43 2.770.0 2018-02-08 @shippo/shippo-mcp";
44
+ readonly userAgent: "speakeasy-sdk/mcp-typescript 0.8.48 2.770.0 2018-02-08 @shippo/shippo-mcp";
45
45
  };
46
46
  //# sourceMappingURL=config.d.ts.map
package/esm/lib/config.js CHANGED
@@ -24,8 +24,8 @@ export function serverURLFromOptions(options) {
24
24
  export const SDK_METADATA = {
25
25
  language: "typescript",
26
26
  openapiDocVersion: "2018-02-08",
27
- sdkVersion: "0.8.43",
27
+ sdkVersion: "0.8.48",
28
28
  genVersion: "2.770.0",
29
- userAgent: "speakeasy-sdk/mcp-typescript 0.8.43 2.770.0 2018-02-08 @shippo/shippo-mcp",
29
+ userAgent: "speakeasy-sdk/mcp-typescript 0.8.48 2.770.0 2018-02-08 @shippo/shippo-mcp",
30
30
  };
31
31
  //# sourceMappingURL=config.js.map
@@ -16,7 +16,7 @@ const routes = buildRouteMap({
16
16
  export const app = buildApplication(routes, {
17
17
  name: "mcp",
18
18
  versionInfo: {
19
- currentVersion: "0.8.43",
19
+ currentVersion: "0.8.48",
20
20
  },
21
21
  });
22
22
  run(app, process.argv.slice(2), buildContext(process));
@@ -79,7 +79,7 @@ import { tool$webhooksUpdate } from "./tools/webhooksUpdate.js";
79
79
  export function createMCPServer(deps) {
80
80
  const server = new McpServer({
81
81
  name: "ShippoSDK",
82
- version: "0.8.43",
82
+ version: "0.8.48",
83
83
  });
84
84
  const getClient = deps.getSDK || (() => new ShippoSDKCore({
85
85
  security: deps.security,
@@ -1 +1 @@
1
- {"version":3,"file":"batchesGet.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/batchesGet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,OAAO,IAAI,CAoCvD,CAAC"}
1
+ {"version":3,"file":"batchesGet.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/batchesGet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,OAAO,IAAI,CAwCvD,CAAC"}
@@ -16,6 +16,10 @@ Returns a batch using an object ID. Batch shipments are displayed 100 at a time.
16
16
  **IMPORTANT: There is NO batches-list endpoint in the Shippo API.**
17
17
  You must know the batch \`object_id\` (returned when you created the batch) to retrieve it.
18
18
  Store batch IDs when creating batches if you need to access them later.
19
+
20
+ **URL HANDLING:** This response contains \`label_url\` (array of download URLs).
21
+ When displaying URLs, ALWAYS show the complete URL without truncation.
22
+ Never replace parts with "..." - S3 signed URLs will break if truncated.
19
23
  `,
20
24
  annotations: {
21
25
  "title": "",
@@ -1 +1 @@
1
- {"version":3,"file":"batchesGet.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/batchesGet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,yBAAyB;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE;;;;;;;CAOd;IACC,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,UAAU,CACxC,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"batchesGet.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/batchesGet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,yBAAyB;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE;;;;;;;;;;;CAWd;IACC,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,UAAU,CACxC,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifestsGet.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/manifestsGet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,OAAO,IAAI,CA+BzD,CAAC"}
1
+ {"version":3,"file":"manifestsGet.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/manifestsGet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,OAAO,IAAI,CAsCzD,CAAC"}
@@ -9,15 +9,22 @@ const args = {
9
9
  };
10
10
  export const tool$manifestsGet = {
11
11
  name: "manifests-get",
12
- description: `Retrieve a manifest
12
+ description: `Returns an existing manifest using an object ID.
13
13
 
14
- Returns an existing manifest using an object ID.`,
14
+ **⚠️ URL HANDLING - CRITICAL:**
15
+ The manifest contains a \`documents\` field with URLs to scan form PDFs.
16
+ When displaying these URLs:
17
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
18
+ - These are S3 signed URLs that break if modified
19
+ - Display URLs in a code block AND as a clickable hyperlink
20
+ `,
21
+ scopes: ["read"],
15
22
  annotations: {
16
23
  "title": "",
17
24
  "destructiveHint": false,
18
25
  "idempotentHint": false,
19
26
  "openWorldHint": false,
20
- "readOnlyHint": true,
27
+ "readOnlyHint": false,
21
28
  },
22
29
  args,
23
30
  tool: async (client, args, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"manifestsGet.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/manifestsGet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,4BAA4B;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAgC;IAC5D,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE;;iDAEkC;IAC/C,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,YAAY,CAC1C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"manifestsGet.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/manifestsGet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,4BAA4B;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAgC;IAC5D,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE;;;;;;;;CAQd;IACC,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,YAAY,CAC1C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifestsList.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/manifestsList.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,OAAO,IAAI,CA+B1D,CAAC"}
1
+ {"version":3,"file":"manifestsList.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/manifestsList.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,OAAO,IAAI,CAsC1D,CAAC"}
@@ -9,15 +9,22 @@ const args = {
9
9
  };
10
10
  export const tool$manifestsList = {
11
11
  name: "manifests-list",
12
- description: `List all manifests
12
+ description: `Returns a list of all manifest objects.
13
13
 
14
- Returns a list of all manifest objects.`,
14
+ **⚠️ URL HANDLING - CRITICAL:**
15
+ Each manifest contains a \`documents\` field with URLs to scan form PDFs.
16
+ When displaying these URLs:
17
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
18
+ - These are S3 signed URLs that break if modified
19
+ - Display URLs in a code block AND as a clickable hyperlink
20
+ `,
21
+ scopes: ["read"],
15
22
  annotations: {
16
23
  "title": "",
17
24
  "destructiveHint": false,
18
25
  "idempotentHint": false,
19
26
  "openWorldHint": false,
20
- "readOnlyHint": true,
27
+ "readOnlyHint": false,
21
28
  },
22
29
  args,
23
30
  tool: async (client, args, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"manifestsList.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/manifestsList.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,8BAA8B,CAAC,QAAQ,EAAE;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAgC;IAC7D,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;;wCAEyB;IACtC,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;KACrB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,aAAa,CAC3C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"manifestsList.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/manifestsList.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,8BAA8B,CAAC,QAAQ,EAAE;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAgC;IAC7D,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;;;;;;;;CAQd;IACC,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,aAAa,CAC3C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trackingStatusGet.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/trackingStatusGet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,cAAc,CAAC,OAAO,IAAI,CAsD9D,CAAC"}
1
+ {"version":3,"file":"trackingStatusGet.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/trackingStatusGet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,cAAc,CAAC,OAAO,IAAI,CA2D9D,CAAC"}
@@ -32,6 +32,11 @@ not the actual carrier names like 'USPS', 'UPS', 'FedEx', etc.
32
32
  \`\`\`
33
33
 
34
34
  The API will return an error if you use real carrier names with test tokens.
35
+
36
+ **⚠️ URL HANDLING - CRITICAL:**
37
+ The response may include tracking URLs. When displaying any URLs:
38
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
39
+ - Display URLs in a code block AND as a clickable hyperlink
35
40
  `,
36
41
  scopes: ["read", "tracking"],
37
42
  annotations: {
@@ -1 +1 @@
1
- {"version":3,"file":"trackingStatusGet.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/trackingStatusGet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,yBAAyB;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAgC;IACjE,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT;;;;;;;;;;;;;;;;;;;;;;;CAuBH;IACC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,iBAAiB,CAC/C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"trackingStatusGet.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/trackingStatusGet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,yBAAyB;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAgC;IACjE,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BH;IACC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,iBAAiB,CAC/C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsCreate.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsCreate.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAAC,OAAO,IAAI,CAuG/D,CAAC"}
1
+ {"version":3,"file":"transactionsCreate.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsCreate.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAAC,OAAO,IAAI,CAmH/D,CAAC"}
@@ -82,6 +82,18 @@ First create a shipment to get rates, then use this tool with the rate ID.
82
82
  - \`QUEUED\` → Processing (keep polling)
83
83
  - \`SUCCESS\` → ✅ Label ready! Check label_url and tracking_number
84
84
  - \`ERROR\` → ❌ Check messages for details
85
+
86
+ **⚠️ URL HANDLING - CRITICAL:**
87
+ When transaction succeeds, the response includes:
88
+ - \`label_url\`: S3 signed URL for shipping label download
89
+ - \`qr_code_url\`: QR code image URL (if requested)
90
+ - \`tracking_url_provider\`: Carrier's tracking page URL
91
+
92
+ **When displaying these URLs:**
93
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
94
+ - S3 signed URLs contain required query parameters (Signature, Expires, AWSAccessKeyId)
95
+ - Truncating these URLs will make them non-functional
96
+ - Display URLs in a code block AND as a clickable hyperlink
85
97
  `,
86
98
  scopes: ["write"],
87
99
  annotations: {
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsCreate.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsCreate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,kCAAkC;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAgC;IAClE,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEd;IACC,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,kBAAkB,CAChD,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"transactionsCreate.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsCreate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,kCAAkC;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAgC;IAClE,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFd;IACC,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,kBAAkB,CAChD,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsGet.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsGet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,OAAO,IAAI,CA4D5D,CAAC"}
1
+ {"version":3,"file":"transactionsGet.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsGet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,OAAO,IAAI,CAmE5D,CAAC"}
@@ -39,6 +39,13 @@ export const tool$transactionsGet = {
39
39
 
40
40
  **Required Parameter:**
41
41
  - \`TransactionId\`: The transaction object ID from transaction creation
42
+
43
+ **⚠️ URL HANDLING - CRITICAL:**
44
+ When displaying URLs from this response (label_url, qr_code_url, tracking_url_provider):
45
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
46
+ - These are S3 signed URLs with required query parameters (Signature, Expires, AWSAccessKeyId)
47
+ - Truncating these URLs will make them non-functional
48
+ - Display URLs in a code block AND as a clickable hyperlink
42
49
  `,
43
50
  scopes: ["read"],
44
51
  annotations: {
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsGet.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsGet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,+BAA+B;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAgC;IAC/D,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Bd;IACC,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,eAAe,CAC7C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"transactionsGet.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsGet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,+BAA+B;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAgC;IAC/D,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCd;IACC,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,eAAe,CAC7C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsList.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsList.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,OAAO,IAAI,CA+D7D,CAAC"}
1
+ {"version":3,"file":"transactionsList.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsList.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,QAAA,MAAM,IAAI;;CAET,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,OAAO,IAAI,CAsE7D,CAAC"}
@@ -41,6 +41,13 @@ This tool lists transaction objects, which represent purchased shipping labels.
41
41
 
42
42
  **Note on Test Mode:**
43
43
  Test transactions will always show \`tracking_status: "UNKNOWN"\` because they don't receive real carrier tracking updates.
44
+
45
+ **⚠️ URL HANDLING - CRITICAL:**
46
+ Each transaction may include URLs (label_url, qr_code_url, tracking_url_provider).
47
+ When displaying these URLs:
48
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
49
+ - These are S3 signed URLs that break if modified
50
+ - Display URLs in a code block AND as a clickable hyperlink
44
51
  `,
45
52
  scopes: ["read"],
46
53
  annotations: {
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsList.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsList.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,iCAAiC,CAAC,QAAQ,EAAE;CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCH;IACC,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,gBAAgB,CAC9C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"transactionsList.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/transactionsList.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAE3D,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,iCAAiC,CAAC,QAAQ,EAAE;CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCH;IACC,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,iBAAiB,EAAE,KAAK;QACxB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;KACtB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,gBAAgB,CAC9C,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CACzC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC"}
package/manifest.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": "0.3",
3
3
  "name": "@shippo/shippo-mcp",
4
- "version": "0.8.43",
4
+ "version": "0.8.48",
5
5
  "description": "",
6
6
  "long_description": "Shippo external API.: Use this API to integrate with the Shippo service",
7
7
  "author": {
@@ -46,7 +46,7 @@
46
46
  },
47
47
  {
48
48
  "name": "batches-get",
49
- "description": "Retrieve a batch\n\nReturns a batch using an object ID. Batch shipments are displayed 100 at a time. You can iterate through each \\`page\\` using the \\`?page=\\` query parameter. You can also filter based on batch shipment status, for example, by passing a query param like \\`?object_results=creation_failed\\`.\n\n**IMPORTANT: There is NO batches-list endpoint in the Shippo API.**\nYou must know the batch \\`object_id\\` (returned when you created the batch) to retrieve it.\nStore batch IDs when creating batches if you need to access them later.\n"
49
+ "description": "Retrieve a batch\n\nReturns a batch using an object ID. Batch shipments are displayed 100 at a time. You can iterate through each \\`page\\` using the \\`?page=\\` query parameter. You can also filter based on batch shipment status, for example, by passing a query param like \\`?object_results=creation_failed\\`.\n\n**IMPORTANT: There is NO batches-list endpoint in the Shippo API.**\nYou must know the batch \\`object_id\\` (returned when you created the batch) to retrieve it.\nStore batch IDs when creating batches if you need to access them later.\n\n**URL HANDLING:** This response contains \\`label_url\\` (array of download URLs).\nWhen displaying URLs, ALWAYS show the complete URL without truncation.\nNever replace parts with \"...\" - S3 signed URLs will break if truncated.\n"
50
50
  },
51
51
  {
52
52
  "name": "batches-add-shipments",
@@ -130,7 +130,7 @@
130
130
  },
131
131
  {
132
132
  "name": "manifests-list",
133
- "description": "List all manifests\n\nReturns a list of all manifest objects."
133
+ "description": "Returns a list of all manifest objects.\n\n**⚠️ URL HANDLING - CRITICAL:**\nEach manifest contains a \\`documents\\` field with URLs to scan form PDFs.\nWhen displaying these URLs:\n- ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with \"...\"\n- These are S3 signed URLs that break if modified\n- Display URLs in a code block AND as a clickable hyperlink\n"
134
134
  },
135
135
  {
136
136
  "name": "manifests-create",
@@ -138,7 +138,7 @@
138
138
  },
139
139
  {
140
140
  "name": "manifests-get",
141
- "description": "Retrieve a manifest\n\nReturns an existing manifest using an object ID."
141
+ "description": "Returns an existing manifest using an object ID.\n\n**⚠️ URL HANDLING - CRITICAL:**\nThe manifest contains a \\`documents\\` field with URLs to scan form PDFs.\nWhen displaying these URLs:\n- ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with \"...\"\n- These are S3 signed URLs that break if modified\n- Display URLs in a code block AND as a clickable hyperlink\n"
142
142
  },
143
143
  {
144
144
  "name": "orders-list",
@@ -234,19 +234,19 @@
234
234
  },
235
235
  {
236
236
  "name": "tracking-status-get",
237
- "description": "Get tracking status for a shipment using carrier and tracking number.\n\n**IMPORTANT TEST MODE BEHAVIOR:**\nWhen using test tokens, you MUST use 'shippo' as the Carrier parameter, \nnot the actual carrier names like 'USPS', 'UPS', 'FedEx', etc.\n\n**Test Mode Usage:**\n\\`\\`\\`json\n{\n \"Carrier\": \"shippo\",\n \"TrackingNumber\": \"your_tracking_number\"\n}\n\\`\\`\\`\n\n**Production Mode Usage:**\n\\`\\`\\`json\n{\n \"Carrier\": \"USPS\", // or \"UPS\", \"FedEx\", etc.\n \"TrackingNumber\": \"your_tracking_number\"\n}\n\\`\\`\\`\n\nThe API will return an error if you use real carrier names with test tokens.\n"
237
+ "description": "Get tracking status for a shipment using carrier and tracking number.\n\n**IMPORTANT TEST MODE BEHAVIOR:**\nWhen using test tokens, you MUST use 'shippo' as the Carrier parameter, \nnot the actual carrier names like 'USPS', 'UPS', 'FedEx', etc.\n\n**Test Mode Usage:**\n\\`\\`\\`json\n{\n \"Carrier\": \"shippo\",\n \"TrackingNumber\": \"your_tracking_number\"\n}\n\\`\\`\\`\n\n**Production Mode Usage:**\n\\`\\`\\`json\n{\n \"Carrier\": \"USPS\", // or \"UPS\", \"FedEx\", etc.\n \"TrackingNumber\": \"your_tracking_number\"\n}\n\\`\\`\\`\n\nThe API will return an error if you use real carrier names with test tokens.\n\n**⚠️ URL HANDLING - CRITICAL:**\nThe response may include tracking URLs. When displaying any URLs:\n- ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with \"...\"\n- Display URLs in a code block AND as a clickable hyperlink\n"
238
238
  },
239
239
  {
240
240
  "name": "transactions-list",
241
- "description": "**LIST TRANSACTIONS (Purchased Labels)** - Use this for finding shipped/delivered packages!\n\nThis tool lists transaction objects, which represent purchased shipping labels. Each transaction contains:\n- Tracking number and tracking URL\n- Label URL for printing\n- Tracking status (UNKNOWN, PRE_TRANSIT, TRANSIT, DELIVERED, RETURNED, FAILURE)\n- Purchase date and carrier info\n\n**IMPORTANT DISTINCTIONS:**\n- Transactions = Purchased shipping labels\n- Transactions HAVE tracking status and tracking numbers\n- Use \\`shipments-list\\` for rate quotes (unpurchased shipments)\n\n**When to use this tool:**\n- Find delivered packages → filter by \\`tracking_status: \"DELIVERED\"\\`\n- Find packages in transit → filter by \\`tracking_status: \"TRANSIT\"\\`\n- List all purchased labels\n- Find a specific label by rate ID\n\n**Available Filters:**\n- \\`tracking_status\\`: UNKNOWN, PRE_TRANSIT, TRANSIT, DELIVERED, RETURNED, FAILURE\n- \\`object_status\\`: WAITING, QUEUED, SUCCESS, ERROR, REFUNDED, REFUNDPENDING, REFUNDREJECTED\n- \\`rate\\`: Filter by rate ID\n- \\`page/results\\`: Pagination\n\n**Example Use Cases:**\n- \"Show delivered shipments\" → \\`{tracking_status: \"DELIVERED\"}\\`\n- \"Show packages in transit\" → \\`{tracking_status: \"TRANSIT\"}\\`\n- \"Show all labels\" → \\`{results: 25}\\`\n\n**Note on Test Mode:**\nTest transactions will always show \\`tracking_status: \"UNKNOWN\"\\` because they don't receive real carrier tracking updates.\n"
241
+ "description": "**LIST TRANSACTIONS (Purchased Labels)** - Use this for finding shipped/delivered packages!\n\nThis tool lists transaction objects, which represent purchased shipping labels. Each transaction contains:\n- Tracking number and tracking URL\n- Label URL for printing\n- Tracking status (UNKNOWN, PRE_TRANSIT, TRANSIT, DELIVERED, RETURNED, FAILURE)\n- Purchase date and carrier info\n\n**IMPORTANT DISTINCTIONS:**\n- Transactions = Purchased shipping labels\n- Transactions HAVE tracking status and tracking numbers\n- Use \\`shipments-list\\` for rate quotes (unpurchased shipments)\n\n**When to use this tool:**\n- Find delivered packages → filter by \\`tracking_status: \"DELIVERED\"\\`\n- Find packages in transit → filter by \\`tracking_status: \"TRANSIT\"\\`\n- List all purchased labels\n- Find a specific label by rate ID\n\n**Available Filters:**\n- \\`tracking_status\\`: UNKNOWN, PRE_TRANSIT, TRANSIT, DELIVERED, RETURNED, FAILURE\n- \\`object_status\\`: WAITING, QUEUED, SUCCESS, ERROR, REFUNDED, REFUNDPENDING, REFUNDREJECTED\n- \\`rate\\`: Filter by rate ID\n- \\`page/results\\`: Pagination\n\n**Example Use Cases:**\n- \"Show delivered shipments\" → \\`{tracking_status: \"DELIVERED\"}\\`\n- \"Show packages in transit\" → \\`{tracking_status: \"TRANSIT\"}\\`\n- \"Show all labels\" → \\`{results: 25}\\`\n\n**Note on Test Mode:**\nTest transactions will always show \\`tracking_status: \"UNKNOWN\"\\` because they don't receive real carrier tracking updates.\n\n**⚠️ URL HANDLING - CRITICAL:**\nEach transaction may include URLs (label_url, qr_code_url, tracking_url_provider).\nWhen displaying these URLs:\n- ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with \"...\"\n- These are S3 signed URLs that break if modified\n- Display URLs in a code block AND as a clickable hyperlink\n"
242
242
  },
243
243
  {
244
244
  "name": "transactions-create",
245
- "description": "Creates a shipping label by purchasing an existing rate.\n\n**IMPORTANT:** The request parameter must be a JSON object, not a string.\n\n**Usage:**\nThis tool creates shipping labels by purchasing existing rates from shipments.\nFirst create a shipment to get rates, then use this tool with the rate ID.\n\n**Required Format:**\n\\`\\`\\`json\n{\n \"rate\": \"rate_id_here\"\n}\n\\`\\`\\`\n\n**Working Example:**\n\\`\\`\\`json\n{\n \"rate\": \"b3b719ce08754a249a1fc20db7a61f4b\",\n \"async\": false\n}\n\\`\\`\\`\n\n**INTERNATIONAL SHIPMENTS - CRITICAL NOTES:**\n- **ALWAYS use \\`async: true\\` for international shipments** to avoid timeouts\n- **Server load can cause 500/504 errors** - retry with async processing\n- **Customs declaration must be attached to shipment** before label creation\n\n**International Example:**\n\\`\\`\\`json\n{\n \"rate\": \"international_rate_id\",\n \"async\": true\n}\n\\`\\`\\`\n\n**Error Handling:**\n- If you get 504 Gateway timeout → Use \\`async: true\\`\n- If you get 500 Internal Server Error → Retry with \\`async: true\\`\n- If customs error → Ensure shipment has valid customs_declaration\n\n**Optional Parameters:**\n- \\`async\\`: **Set to true for international** (default: false)\n- \\`label_file_type\\`: PDF_4x6, PNG, etc.\n- \\`metadata\\`: Custom metadata string\n- \\`order\\`: Order ID reference\n\n**Workflow:**\n1. Create shipment → Get rates\n2. **For international: Attach customs declaration**\n3. Choose rate → Use this tool with rate ID\n4. **For international: Use async=true**\n5. **If async: Poll transaction status until complete**\n\n**Async Processing Pattern:**\n\\`\\`\\`javascript\n// 1. Create async transaction\n{\"rate\": \"rate_id\", \"async\": true}\n\n// 2. Get transaction ID from response\n// Response: {\"object_id\": \"txn_123\", \"status\": \"QUEUED\"}\n\n// 3. Poll using transactions-get until done\n// Use: mcp_shippo-node_transactions-get with TransactionId\n// Keep checking until status changes from \"QUEUED\" to \"SUCCESS\"\n\n// 4. Once SUCCESS: label_url, tracking_number will be populated\n\\`\\`\\`\n\n**Status Flow:**\n- \\`QUEUED\\` → Processing (keep polling)\n- \\`SUCCESS\\` → ✅ Label ready! Check label_url and tracking_number\n- \\`ERROR\\` → ❌ Check messages for details\n"
245
+ "description": "Creates a shipping label by purchasing an existing rate.\n\n**IMPORTANT:** The request parameter must be a JSON object, not a string.\n\n**Usage:**\nThis tool creates shipping labels by purchasing existing rates from shipments.\nFirst create a shipment to get rates, then use this tool with the rate ID.\n\n**Required Format:**\n\\`\\`\\`json\n{\n \"rate\": \"rate_id_here\"\n}\n\\`\\`\\`\n\n**Working Example:**\n\\`\\`\\`json\n{\n \"rate\": \"b3b719ce08754a249a1fc20db7a61f4b\",\n \"async\": false\n}\n\\`\\`\\`\n\n**INTERNATIONAL SHIPMENTS - CRITICAL NOTES:**\n- **ALWAYS use \\`async: true\\` for international shipments** to avoid timeouts\n- **Server load can cause 500/504 errors** - retry with async processing\n- **Customs declaration must be attached to shipment** before label creation\n\n**International Example:**\n\\`\\`\\`json\n{\n \"rate\": \"international_rate_id\",\n \"async\": true\n}\n\\`\\`\\`\n\n**Error Handling:**\n- If you get 504 Gateway timeout → Use \\`async: true\\`\n- If you get 500 Internal Server Error → Retry with \\`async: true\\`\n- If customs error → Ensure shipment has valid customs_declaration\n\n**Optional Parameters:**\n- \\`async\\`: **Set to true for international** (default: false)\n- \\`label_file_type\\`: PDF_4x6, PNG, etc.\n- \\`metadata\\`: Custom metadata string\n- \\`order\\`: Order ID reference\n\n**Workflow:**\n1. Create shipment → Get rates\n2. **For international: Attach customs declaration**\n3. Choose rate → Use this tool with rate ID\n4. **For international: Use async=true**\n5. **If async: Poll transaction status until complete**\n\n**Async Processing Pattern:**\n\\`\\`\\`javascript\n// 1. Create async transaction\n{\"rate\": \"rate_id\", \"async\": true}\n\n// 2. Get transaction ID from response\n// Response: {\"object_id\": \"txn_123\", \"status\": \"QUEUED\"}\n\n// 3. Poll using transactions-get until done\n// Use: mcp_shippo-node_transactions-get with TransactionId\n// Keep checking until status changes from \"QUEUED\" to \"SUCCESS\"\n\n// 4. Once SUCCESS: label_url, tracking_number will be populated\n\\`\\`\\`\n\n**Status Flow:**\n- \\`QUEUED\\` → Processing (keep polling)\n- \\`SUCCESS\\` → ✅ Label ready! Check label_url and tracking_number\n- \\`ERROR\\` → ❌ Check messages for details\n\n**⚠️ URL HANDLING - CRITICAL:**\nWhen transaction succeeds, the response includes:\n- \\`label_url\\`: S3 signed URL for shipping label download\n- \\`qr_code_url\\`: QR code image URL (if requested)\n- \\`tracking_url_provider\\`: Carrier's tracking page URL\n\n**When displaying these URLs:**\n- ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with \"...\"\n- S3 signed URLs contain required query parameters (Signature, Expires, AWSAccessKeyId)\n- Truncating these URLs will make them non-functional\n- Display URLs in a code block AND as a clickable hyperlink\n"
246
246
  },
247
247
  {
248
248
  "name": "transactions-get",
249
- "description": "Retrieve a shipping label transaction by its ID.\n\n**PRIMARY USE: Polling async transaction status**\n\n**Async Transaction Polling Pattern:**\n\\`\\`\\`javascript\n// After creating async transaction, poll until complete:\n\n// 1. Create async transaction → Get transaction_id\n// 2. Poll this endpoint until status != \"QUEUED\"\n\n// Poll example:\n{TransactionId: \"5bd872675aee4e7fb19f961d319fac44\"}\n\\`\\`\\`\n\n**Transaction Status Values:**\n- \\`QUEUED\\` → Still processing (keep polling)\n- \\`SUCCESS\\` → ✅ Label ready! Check response for:\n - \\`label_url\\`: Download link for shipping label\n - \\`tracking_number\\`: Package tracking number \n - \\`tracking_url_provider\\`: Carrier tracking URL\n- \\`ERROR\\` → ❌ Failed (check \\`messages\\` field for details)\n\n**Polling Best Practice:**\n- Poll every 2-3 seconds until status changes\n- International shipments typically take 10-30 seconds\n- Domestic shipments typically take 2-5 seconds\n\n**Required Parameter:**\n- \\`TransactionId\\`: The transaction object ID from transaction creation\n"
249
+ "description": "Retrieve a shipping label transaction by its ID.\n\n**PRIMARY USE: Polling async transaction status**\n\n**Async Transaction Polling Pattern:**\n\\`\\`\\`javascript\n// After creating async transaction, poll until complete:\n\n// 1. Create async transaction → Get transaction_id\n// 2. Poll this endpoint until status != \"QUEUED\"\n\n// Poll example:\n{TransactionId: \"5bd872675aee4e7fb19f961d319fac44\"}\n\\`\\`\\`\n\n**Transaction Status Values:**\n- \\`QUEUED\\` → Still processing (keep polling)\n- \\`SUCCESS\\` → ✅ Label ready! Check response for:\n - \\`label_url\\`: Download link for shipping label\n - \\`tracking_number\\`: Package tracking number \n - \\`tracking_url_provider\\`: Carrier tracking URL\n- \\`ERROR\\` → ❌ Failed (check \\`messages\\` field for details)\n\n**Polling Best Practice:**\n- Poll every 2-3 seconds until status changes\n- International shipments typically take 10-30 seconds\n- Domestic shipments typically take 2-5 seconds\n\n**Required Parameter:**\n- \\`TransactionId\\`: The transaction object ID from transaction creation\n\n**⚠️ URL HANDLING - CRITICAL:**\nWhen displaying URLs from this response (label_url, qr_code_url, tracking_url_provider):\n- ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with \"...\"\n- These are S3 signed URLs with required query parameters (Signature, Expires, AWSAccessKeyId)\n- Truncating these URLs will make them non-functional\n- Display URLs in a code block AND as a clickable hyperlink\n"
250
250
  },
251
251
  {
252
252
  "name": "user-parcel-templates-list",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shippo/shippo-mcp",
3
- "version": "0.8.43",
3
+ "version": "0.8.48",
4
4
  "author": "shippo",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -37,6 +37,10 @@ import { Result } from "../types/fp.js";
37
37
  * **IMPORTANT: There is NO batches-list endpoint in the Shippo API.**
38
38
  * You must know the batch `object_id` (returned when you created the batch) to retrieve it.
39
39
  * Store batch IDs when creating batches if you need to access them later.
40
+ *
41
+ * **URL HANDLING:** This response contains `label_url` (array of download URLs).
42
+ * When displaying URLs, ALWAYS show the complete URL without truncation.
43
+ * Never replace parts with "..." - S3 signed URLs will break if truncated.
40
44
  */
41
45
  export function batchesGet(
42
46
  client$: ShippoSDKCore,
package/src/lib/config.ts CHANGED
@@ -67,8 +67,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
67
67
  export const SDK_METADATA = {
68
68
  language: "typescript",
69
69
  openapiDocVersion: "2018-02-08",
70
- sdkVersion: "0.8.43",
70
+ sdkVersion: "0.8.48",
71
71
  genVersion: "2.770.0",
72
72
  userAgent:
73
- "speakeasy-sdk/mcp-typescript 0.8.43 2.770.0 2018-02-08 @shippo/shippo-mcp",
73
+ "speakeasy-sdk/mcp-typescript 0.8.48 2.770.0 2018-02-08 @shippo/shippo-mcp",
74
74
  } as const;
@@ -19,7 +19,7 @@ const routes = buildRouteMap({
19
19
  export const app = buildApplication(routes, {
20
20
  name: "mcp",
21
21
  versionInfo: {
22
- currentVersion: "0.8.43",
22
+ currentVersion: "0.8.48",
23
23
  },
24
24
  });
25
25
 
@@ -96,7 +96,7 @@ export function createMCPServer(deps: {
96
96
  }) {
97
97
  const server = new McpServer({
98
98
  name: "ShippoSDK",
99
- version: "0.8.43",
99
+ version: "0.8.48",
100
100
  });
101
101
 
102
102
  const getClient = deps.getSDK || (() =>
@@ -19,6 +19,10 @@ Returns a batch using an object ID. Batch shipments are displayed 100 at a time.
19
19
  **IMPORTANT: There is NO batches-list endpoint in the Shippo API.**
20
20
  You must know the batch \`object_id\` (returned when you created the batch) to retrieve it.
21
21
  Store batch IDs when creating batches if you need to access them later.
22
+
23
+ **URL HANDLING:** This response contains \`label_url\` (array of download URLs).
24
+ When displaying URLs, ALWAYS show the complete URL without truncation.
25
+ Never replace parts with "..." - S3 signed URLs will break if truncated.
22
26
  `,
23
27
  annotations: {
24
28
  "title": "",
@@ -12,15 +12,22 @@ const args = {
12
12
 
13
13
  export const tool$manifestsGet: ToolDefinition<typeof args> = {
14
14
  name: "manifests-get",
15
- description: `Retrieve a manifest
15
+ description: `Returns an existing manifest using an object ID.
16
16
 
17
- Returns an existing manifest using an object ID.`,
17
+ **⚠️ URL HANDLING - CRITICAL:**
18
+ The manifest contains a \`documents\` field with URLs to scan form PDFs.
19
+ When displaying these URLs:
20
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
21
+ - These are S3 signed URLs that break if modified
22
+ - Display URLs in a code block AND as a clickable hyperlink
23
+ `,
24
+ scopes: ["read"],
18
25
  annotations: {
19
26
  "title": "",
20
27
  "destructiveHint": false,
21
28
  "idempotentHint": false,
22
29
  "openWorldHint": false,
23
- "readOnlyHint": true,
30
+ "readOnlyHint": false,
24
31
  },
25
32
  args,
26
33
  tool: async (client, args, ctx) => {
@@ -12,15 +12,22 @@ const args = {
12
12
 
13
13
  export const tool$manifestsList: ToolDefinition<typeof args> = {
14
14
  name: "manifests-list",
15
- description: `List all manifests
15
+ description: `Returns a list of all manifest objects.
16
16
 
17
- Returns a list of all manifest objects.`,
17
+ **⚠️ URL HANDLING - CRITICAL:**
18
+ Each manifest contains a \`documents\` field with URLs to scan form PDFs.
19
+ When displaying these URLs:
20
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
21
+ - These are S3 signed URLs that break if modified
22
+ - Display URLs in a code block AND as a clickable hyperlink
23
+ `,
24
+ scopes: ["read"],
18
25
  annotations: {
19
26
  "title": "",
20
27
  "destructiveHint": false,
21
28
  "idempotentHint": false,
22
29
  "openWorldHint": false,
23
- "readOnlyHint": true,
30
+ "readOnlyHint": false,
24
31
  },
25
32
  args,
26
33
  tool: async (client, args, ctx) => {
@@ -36,6 +36,11 @@ not the actual carrier names like 'USPS', 'UPS', 'FedEx', etc.
36
36
  \`\`\`
37
37
 
38
38
  The API will return an error if you use real carrier names with test tokens.
39
+
40
+ **⚠️ URL HANDLING - CRITICAL:**
41
+ The response may include tracking URLs. When displaying any URLs:
42
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
43
+ - Display URLs in a code block AND as a clickable hyperlink
39
44
  `,
40
45
  scopes: ["read", "tracking"],
41
46
  annotations: {
@@ -85,6 +85,18 @@ First create a shipment to get rates, then use this tool with the rate ID.
85
85
  - \`QUEUED\` → Processing (keep polling)
86
86
  - \`SUCCESS\` → ✅ Label ready! Check label_url and tracking_number
87
87
  - \`ERROR\` → ❌ Check messages for details
88
+
89
+ **⚠️ URL HANDLING - CRITICAL:**
90
+ When transaction succeeds, the response includes:
91
+ - \`label_url\`: S3 signed URL for shipping label download
92
+ - \`qr_code_url\`: QR code image URL (if requested)
93
+ - \`tracking_url_provider\`: Carrier's tracking page URL
94
+
95
+ **When displaying these URLs:**
96
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
97
+ - S3 signed URLs contain required query parameters (Signature, Expires, AWSAccessKeyId)
98
+ - Truncating these URLs will make them non-functional
99
+ - Display URLs in a code block AND as a clickable hyperlink
88
100
  `,
89
101
  scopes: ["write"],
90
102
  annotations: {
@@ -42,6 +42,13 @@ export const tool$transactionsGet: ToolDefinition<typeof args> = {
42
42
 
43
43
  **Required Parameter:**
44
44
  - \`TransactionId\`: The transaction object ID from transaction creation
45
+
46
+ **⚠️ URL HANDLING - CRITICAL:**
47
+ When displaying URLs from this response (label_url, qr_code_url, tracking_url_provider):
48
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
49
+ - These are S3 signed URLs with required query parameters (Signature, Expires, AWSAccessKeyId)
50
+ - Truncating these URLs will make them non-functional
51
+ - Display URLs in a code block AND as a clickable hyperlink
45
52
  `,
46
53
  scopes: ["read"],
47
54
  annotations: {
@@ -45,6 +45,13 @@ This tool lists transaction objects, which represent purchased shipping labels.
45
45
 
46
46
  **Note on Test Mode:**
47
47
  Test transactions will always show \`tracking_status: "UNKNOWN"\` because they don't receive real carrier tracking updates.
48
+
49
+ **⚠️ URL HANDLING - CRITICAL:**
50
+ Each transaction may include URLs (label_url, qr_code_url, tracking_url_provider).
51
+ When displaying these URLs:
52
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
53
+ - These are S3 signed URLs that break if modified
54
+ - Display URLs in a code block AND as a clickable hyperlink
48
55
  `,
49
56
  scopes: ["read"],
50
57
  annotations: {