@shippo/shippo-mcp 0.8.43 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/bin/mcp-server.js +71 -19
  2. package/bin/mcp-server.js.map +15 -15
  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 +3 -3
  8. package/esm/lib/config.js +3 -3
  9. package/esm/lib/config.js.map +1 -1
  10. package/esm/mcp-server/cli/start/impl.js +2 -2
  11. package/esm/mcp-server/cli/start/impl.js.map +1 -1
  12. package/esm/mcp-server/mcp-server.js +1 -1
  13. package/esm/mcp-server/mcp-server.js.map +1 -1
  14. package/esm/mcp-server/server.d.ts +7 -1
  15. package/esm/mcp-server/server.d.ts.map +1 -1
  16. package/esm/mcp-server/server.js +3 -3
  17. package/esm/mcp-server/server.js.map +1 -1
  18. package/esm/mcp-server/tools/batchesGet.d.ts.map +1 -1
  19. package/esm/mcp-server/tools/batchesGet.js +4 -0
  20. package/esm/mcp-server/tools/batchesGet.js.map +1 -1
  21. package/esm/mcp-server/tools/manifestsGet.d.ts.map +1 -1
  22. package/esm/mcp-server/tools/manifestsGet.js +10 -3
  23. package/esm/mcp-server/tools/manifestsGet.js.map +1 -1
  24. package/esm/mcp-server/tools/manifestsList.d.ts.map +1 -1
  25. package/esm/mcp-server/tools/manifestsList.js +10 -3
  26. package/esm/mcp-server/tools/manifestsList.js.map +1 -1
  27. package/esm/mcp-server/tools/trackingStatusGet.d.ts.map +1 -1
  28. package/esm/mcp-server/tools/trackingStatusGet.js +5 -0
  29. package/esm/mcp-server/tools/trackingStatusGet.js.map +1 -1
  30. package/esm/mcp-server/tools/transactionsCreate.d.ts.map +1 -1
  31. package/esm/mcp-server/tools/transactionsCreate.js +12 -0
  32. package/esm/mcp-server/tools/transactionsCreate.js.map +1 -1
  33. package/esm/mcp-server/tools/transactionsGet.d.ts.map +1 -1
  34. package/esm/mcp-server/tools/transactionsGet.js +7 -0
  35. package/esm/mcp-server/tools/transactionsGet.js.map +1 -1
  36. package/esm/mcp-server/tools/transactionsList.d.ts.map +1 -1
  37. package/esm/mcp-server/tools/transactionsList.js +7 -0
  38. package/esm/mcp-server/tools/transactionsList.js.map +1 -1
  39. package/esm/mcp-server/tools.d.ts +7 -1
  40. package/esm/mcp-server/tools.d.ts.map +1 -1
  41. package/esm/mcp-server/tools.js +4 -1
  42. package/esm/mcp-server/tools.js.map +1 -1
  43. package/manifest.json +44 -44
  44. package/package.json +2 -2
  45. package/src/funcs/batchesGet.ts +4 -0
  46. package/src/lib/config.ts +3 -3
  47. package/src/mcp-server/cli/start/impl.ts +2 -2
  48. package/src/mcp-server/mcp-server.ts +1 -1
  49. package/src/mcp-server/server.ts +3 -3
  50. package/src/mcp-server/tools/batchesGet.ts +4 -0
  51. package/src/mcp-server/tools/manifestsGet.ts +10 -3
  52. package/src/mcp-server/tools/manifestsList.ts +10 -3
  53. package/src/mcp-server/tools/trackingStatusGet.ts +5 -0
  54. package/src/mcp-server/tools/transactionsCreate.ts +12 -0
  55. package/src/mcp-server/tools/transactionsGet.ts +7 -0
  56. package/src/mcp-server/tools/transactionsList.ts +7 -0
  57. package/src/mcp-server/tools.ts +11 -2
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.8.43",
46627
- genVersion: "2.770.0",
46628
- userAgent: "speakeasy-sdk/mcp-typescript 0.8.43 2.770.0 2018-02-08 @shippo/shippo-mcp"
46626
+ sdkVersion: "1.0.0",
46627
+ genVersion: "2.776.3",
46628
+ userAgent: "speakeasy-sdk/mcp-typescript 1.0.0 2.776.3 2018-02-08 @shippo/shippo-mcp"
46629
46629
  };
46630
46630
  });
46631
46631
 
@@ -47555,7 +47555,8 @@ async function consumeSSE(value) {
47555
47555
  return content;
47556
47556
  }
47557
47557
  function createRegisterTool(logger, server, getSDK, allowedScopes, allowedTools) {
47558
- return (tool) => {
47558
+ const tools = [];
47559
+ const registerTool = (tool) => {
47559
47560
  if (allowedTools && !allowedTools.has(tool.name)) {
47560
47561
  return;
47561
47562
  }
@@ -47576,7 +47577,9 @@ function createRegisterTool(logger, server, getSDK, allowedScopes, allowedTools)
47576
47577
  });
47577
47578
  }
47578
47579
  logger.debug("Registered tool", { name: tool.name });
47580
+ tools.push({ name: tool.name, description: tool.description });
47579
47581
  };
47582
+ return [registerTool, tools];
47580
47583
  }
47581
47584
  var init_tools = __esm(() => {
47582
47585
  init_shared();
@@ -50128,6 +50131,10 @@ Returns a batch using an object ID. Batch shipments are displayed 100 at a time.
50128
50131
  **IMPORTANT: There is NO batches-list endpoint in the Shippo API.**
50129
50132
  You must know the batch \`object_id\` (returned when you created the batch) to retrieve it.
50130
50133
  Store batch IDs when creating batches if you need to access them later.
50134
+
50135
+ **URL HANDLING:** This response contains \`label_url\` (array of download URLs).
50136
+ When displaying URLs, ALWAYS show the complete URL without truncation.
50137
+ Never replace parts with "..." - S3 signed URLs will break if truncated.
50131
50138
  `,
50132
50139
  annotations: {
50133
50140
  title: "",
@@ -53626,15 +53633,22 @@ var init_manifestsGet2 = __esm(() => {
53626
53633
  };
53627
53634
  tool$manifestsGet = {
53628
53635
  name: "manifests-get",
53629
- description: `Retrieve a manifest
53630
-
53631
- Returns an existing manifest using an object ID.`,
53636
+ description: `Returns an existing manifest using an object ID.
53637
+
53638
+ **⚠️ URL HANDLING - CRITICAL:**
53639
+ The manifest contains a \`documents\` field with URLs to scan form PDFs.
53640
+ When displaying these URLs:
53641
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
53642
+ - These are S3 signed URLs that break if modified
53643
+ - Display URLs in a code block AND as a clickable hyperlink
53644
+ `,
53645
+ scopes: ["read"],
53632
53646
  annotations: {
53633
53647
  title: "",
53634
53648
  destructiveHint: false,
53635
53649
  idempotentHint: false,
53636
53650
  openWorldHint: false,
53637
- readOnlyHint: true
53651
+ readOnlyHint: false
53638
53652
  },
53639
53653
  args: args26,
53640
53654
  tool: async (client, args27, ctx) => {
@@ -53778,15 +53792,22 @@ var init_manifestsList2 = __esm(() => {
53778
53792
  };
53779
53793
  tool$manifestsList = {
53780
53794
  name: "manifests-list",
53781
- description: `List all manifests
53782
-
53783
- Returns a list of all manifest objects.`,
53795
+ description: `Returns a list of all manifest objects.
53796
+
53797
+ **⚠️ URL HANDLING - CRITICAL:**
53798
+ Each manifest contains a \`documents\` field with URLs to scan form PDFs.
53799
+ When displaying these URLs:
53800
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
53801
+ - These are S3 signed URLs that break if modified
53802
+ - Display URLs in a code block AND as a clickable hyperlink
53803
+ `,
53804
+ scopes: ["read"],
53784
53805
  annotations: {
53785
53806
  title: "",
53786
53807
  destructiveHint: false,
53787
53808
  idempotentHint: false,
53788
53809
  openWorldHint: false,
53789
- readOnlyHint: true
53810
+ readOnlyHint: false
53790
53811
  },
53791
53812
  args: args27,
53792
53813
  tool: async (client, args28, ctx) => {
@@ -58878,6 +58899,11 @@ not the actual carrier names like 'USPS', 'UPS', 'FedEx', etc.
58878
58899
  \`\`\`
58879
58900
 
58880
58901
  The API will return an error if you use real carrier names with test tokens.
58902
+
58903
+ **⚠️ URL HANDLING - CRITICAL:**
58904
+ The response may include tracking URLs. When displaying any URLs:
58905
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
58906
+ - Display URLs in a code block AND as a clickable hyperlink
58881
58907
  `,
58882
58908
  scopes: ["read", "tracking"],
58883
58909
  annotations: {
@@ -59183,6 +59209,18 @@ First create a shipment to get rates, then use this tool with the rate ID.
59183
59209
  - \`QUEUED\` → Processing (keep polling)
59184
59210
  - \`SUCCESS\` → ✅ Label ready! Check label_url and tracking_number
59185
59211
  - \`ERROR\` → ❌ Check messages for details
59212
+
59213
+ **⚠️ URL HANDLING - CRITICAL:**
59214
+ When transaction succeeds, the response includes:
59215
+ - \`label_url\`: S3 signed URL for shipping label download
59216
+ - \`qr_code_url\`: QR code image URL (if requested)
59217
+ - \`tracking_url_provider\`: Carrier's tracking page URL
59218
+
59219
+ **When displaying these URLs:**
59220
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
59221
+ - S3 signed URLs contain required query parameters (Signature, Expires, AWSAccessKeyId)
59222
+ - Truncating these URLs will make them non-functional
59223
+ - Display URLs in a code block AND as a clickable hyperlink
59186
59224
  `,
59187
59225
  scopes: ["write"],
59188
59226
  annotations: {
@@ -59350,6 +59388,13 @@ var init_transactionsGet2 = __esm(() => {
59350
59388
 
59351
59389
  **Required Parameter:**
59352
59390
  - \`TransactionId\`: The transaction object ID from transaction creation
59391
+
59392
+ **⚠️ URL HANDLING - CRITICAL:**
59393
+ When displaying URLs from this response (label_url, qr_code_url, tracking_url_provider):
59394
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
59395
+ - These are S3 signed URLs with required query parameters (Signature, Expires, AWSAccessKeyId)
59396
+ - Truncating these URLs will make them non-functional
59397
+ - Display URLs in a code block AND as a clickable hyperlink
59353
59398
  `,
59354
59399
  scopes: ["read"],
59355
59400
  annotations: {
@@ -59541,6 +59586,13 @@ This tool lists transaction objects, which represent purchased shipping labels.
59541
59586
 
59542
59587
  **Note on Test Mode:**
59543
59588
  Test transactions will always show \`tracking_status: "UNKNOWN"\` because they don't receive real carrier tracking updates.
59589
+
59590
+ **⚠️ URL HANDLING - CRITICAL:**
59591
+ Each transaction may include URLs (label_url, qr_code_url, tracking_url_provider).
59592
+ When displaying these URLs:
59593
+ - ALWAYS show the COMPLETE URL - NEVER truncate or replace parts with "..."
59594
+ - These are S3 signed URLs that break if modified
59595
+ - Display URLs in a code block AND as a clickable hyperlink
59544
59596
  `,
59545
59597
  scopes: ["read"],
59546
59598
  annotations: {
@@ -61098,7 +61150,7 @@ Updates an existing webhook using the webhook object ID.`,
61098
61150
  function createMCPServer(deps) {
61099
61151
  const server = new McpServer({
61100
61152
  name: "ShippoSDK",
61101
- version: "0.8.43"
61153
+ version: "1.0.0"
61102
61154
  });
61103
61155
  const getClient = deps.getSDK || (() => new ShippoSDKCore({
61104
61156
  security: deps.security,
@@ -61113,7 +61165,7 @@ function createMCPServer(deps) {
61113
61165
  }));
61114
61166
  const scopes = new Set(deps.scopes);
61115
61167
  const allowedTools = deps.allowedTools && new Set(deps.allowedTools);
61116
- const tool = createRegisterTool(deps.logger, server, getClient, scopes, allowedTools);
61168
+ const [tool, tools] = createRegisterTool(deps.logger, server, getClient, scopes, allowedTools);
61117
61169
  const resource = createRegisterResource(deps.logger, server, getClient, scopes);
61118
61170
  const resourceTemplate = createRegisterResourceTemplate(deps.logger, server, getClient, scopes);
61119
61171
  const prompt = createRegisterPrompt(deps.logger, server, getClient, scopes);
@@ -61188,7 +61240,7 @@ function createMCPServer(deps) {
61188
61240
  tool(tool$webhooksGet);
61189
61241
  tool(tool$webhooksUpdate);
61190
61242
  tool(tool$webhooksDelete);
61191
- return server;
61243
+ return { server, tools };
61192
61244
  }
61193
61245
  var init_server2 = __esm(() => {
61194
61246
  init_mcp();
@@ -61290,7 +61342,7 @@ async function main(flags) {
61290
61342
  async function startStdio(flags) {
61291
61343
  const logger = createConsoleLogger(flags["log-level"]);
61292
61344
  const transport = new StdioServerTransport;
61293
- const server = createMCPServer({
61345
+ const { server } = createMCPServer({
61294
61346
  logger,
61295
61347
  allowedTools: flags.tool,
61296
61348
  scopes: flags.scope,
@@ -61310,7 +61362,7 @@ async function startStdio(flags) {
61310
61362
  async function startSSE(flags) {
61311
61363
  const logger = createConsoleLogger(flags["log-level"]);
61312
61364
  const app = import_express.default();
61313
- const mcpServer = createMCPServer({
61365
+ const { server: mcpServer } = createMCPServer({
61314
61366
  logger,
61315
61367
  allowedTools: flags.tool,
61316
61368
  scopes: flags.scope,
@@ -62490,7 +62542,7 @@ var routes = ln({
62490
62542
  var app = _e(routes, {
62491
62543
  name: "mcp",
62492
62544
  versionInfo: {
62493
- currentVersion: "0.8.43"
62545
+ currentVersion: "1.0.0"
62494
62546
  }
62495
62547
  });
62496
62548
  Yt(app, process3.argv.slice(2), buildContext(process3));
@@ -62498,5 +62550,5 @@ export {
62498
62550
  app
62499
62551
  };
62500
62552
 
62501
- //# debugId=1F132A9300610C2A64756E2164756E21
62553
+ //# debugId=DCFEFD7CB5E16DF164756E2164756E21
62502
62554
  //# sourceMappingURL=mcp-server.js.map