@shippo/shippo-mcp 0.8.48 → 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.
@@ -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.48";
43
- readonly genVersion: "2.770.0";
44
- readonly userAgent: "speakeasy-sdk/mcp-typescript 0.8.48 2.770.0 2018-02-08 @shippo/shippo-mcp";
42
+ readonly sdkVersion: "1.0.0";
43
+ readonly genVersion: "2.776.3";
44
+ readonly userAgent: "speakeasy-sdk/mcp-typescript 1.0.0 2.776.3 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.48",
28
- genVersion: "2.770.0",
29
- userAgent: "speakeasy-sdk/mcp-typescript 0.8.48 2.770.0 2018-02-08 @shippo/shippo-mcp",
27
+ sdkVersion: "1.0.0",
28
+ genVersion: "2.776.3",
29
+ userAgent: "speakeasy-sdk/mcp-typescript 1.0.0 2.776.3 2018-02-08 @shippo/shippo-mcp",
30
30
  };
31
31
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,0BAA0B;CAClB,CAAC;AAkCX,MAAM,UAAU,oBAAoB,CAAC,OAAmB;IACtD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAElC,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,YAAY;IACtB,iBAAiB,EAAE,YAAY;IAC/B,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,SAAS;IACrB,SAAS,EACP,2EAA2E;CACrE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,0BAA0B;CAClB,CAAC;AAkCX,MAAM,UAAU,oBAAoB,CAAC,OAAmB;IACtD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAElC,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,YAAY;IACtB,iBAAiB,EAAE,YAAY;IAC/B,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,SAAS;IACrB,SAAS,EACP,0EAA0E;CACpE,CAAC"}
@@ -24,7 +24,7 @@ export async function main(flags) {
24
24
  async function startStdio(flags) {
25
25
  const logger = createConsoleLogger(flags["log-level"]);
26
26
  const transport = new StdioServerTransport();
27
- const server = createMCPServer({
27
+ const { server } = createMCPServer({
28
28
  logger,
29
29
  allowedTools: flags.tool,
30
30
  scopes: flags.scope,
@@ -44,7 +44,7 @@ async function startStdio(flags) {
44
44
  async function startSSE(flags) {
45
45
  const logger = createConsoleLogger(flags["log-level"]);
46
46
  const app = express();
47
- const mcpServer = createMCPServer({
47
+ const { server: mcpServer } = createMCPServer({
48
48
  logger,
49
49
  allowedTools: flags.tool,
50
50
  scopes: flags.scope,
@@ -1 +1 @@
1
- {"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/mcp-server/cli/start/impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/mcp-server/cli/start/impl.ts"],"names":[],"mappings":"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"}
@@ -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.48",
19
+ currentVersion: "1.0.0",
20
20
  },
21
21
  });
22
22
  run(app, process.argv.slice(2), buildContext(process));
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/mcp-server/mcp-server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,MAAM,GAAG,aAAa,CAAC;IAC3B,MAAM,EAAE;QACN,KAAK,EAAE,YAAY;KACpB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,gBAAgB;KACxB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE;IAC1C,IAAI,EAAE,KAAK;IACX,WAAW,EAAE;QACX,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/mcp-server/mcp-server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,MAAM,GAAG,aAAa,CAAC;IAC3B,MAAM,EAAE;QACN,KAAK,EAAE,YAAY;KACpB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,gBAAgB;KACxB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE;IAC1C,IAAI,EAAE,KAAK;IACX,WAAW,EAAE;QACX,cAAc,EAAE,OAAO;KACxB;CACF,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC"}
@@ -12,5 +12,11 @@ export declare function createMCPServer(deps: {
12
12
  security?: SDKOptions["security"] | undefined;
13
13
  shippoApiVersion?: SDKOptions["shippoApiVersion"] | undefined;
14
14
  serverIdx?: SDKOptions["serverIdx"] | undefined;
15
- }): McpServer;
15
+ }): {
16
+ server: McpServer;
17
+ tools: {
18
+ name: string;
19
+ description: string;
20
+ }[];
21
+ };
16
22
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyEvC,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,aAAa,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAC9C,gBAAgB,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IAC9D,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;CACjD,aAuHA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyEvC,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,aAAa,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAC9C,gBAAgB,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IAC9D,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;CACjD;;;;;;EAuHA"}
@@ -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.48",
82
+ version: "1.0.0",
83
83
  });
84
84
  const getClient = deps.getSDK || (() => new ShippoSDKCore({
85
85
  security: deps.security,
@@ -96,7 +96,7 @@ export function createMCPServer(deps) {
96
96
  }));
97
97
  const scopes = new Set(deps.scopes);
98
98
  const allowedTools = deps.allowedTools && new Set(deps.allowedTools);
99
- const tool = createRegisterTool(deps.logger, server, getClient, scopes, allowedTools);
99
+ const [tool, tools] = createRegisterTool(deps.logger, server, getClient, scopes, allowedTools);
100
100
  const resource = createRegisterResource(deps.logger, server, getClient, scopes);
101
101
  const resourceTemplate = createRegisterResourceTemplate(deps.logger, server, getClient, scopes);
102
102
  const prompt = createRegisterPrompt(deps.logger, server, getClient, scopes);
@@ -172,6 +172,6 @@ export function createMCPServer(deps) {
172
172
  tool(tool$webhooksGet);
173
173
  tool(tool$webhooksUpdate);
174
174
  tool(tool$webhooksDelete);
175
- return server;
175
+ return { server, tools };
176
176
  }
177
177
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"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"}
@@ -35,5 +35,11 @@ export type ToolDefinition<Args extends undefined | ZodRawShape = undefined> = A
35
35
  export declare function formatResult(value: unknown, init: {
36
36
  response?: Response | undefined;
37
37
  }): Promise<CallToolResult>;
38
- export declare function createRegisterTool(logger: ConsoleLogger, server: McpServer, getSDK: () => ShippoSDKCore, allowedScopes: Set<MCPScope>, allowedTools?: Set<string>): <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>) => void;
38
+ export declare function createRegisterTool(logger: ConsoleLogger, server: McpServer, getSDK: () => ShippoSDKCore, allowedScopes: Set<MCPScope>, allowedTools?: Set<string>): [
39
+ <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>) => void,
40
+ Array<{
41
+ name: string;
42
+ description: string;
43
+ }>
44
+ ];
39
45
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp-server/tools.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,IACzE,IAAI,SAAS,WAAW,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,EAAE,OAAO,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,IAAI,EAAE,CACJ,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,EACxC,KAAK,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,KAC1D,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/C,GACC;IACA,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,EAAE,OAAO,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,IAAI,EAAE,CACJ,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,KAC1D,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/C,CAAC;AAGN,wBAAsB,YAAY,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,GACxC,OAAO,CAAC,cAAc,CAAC,CAkCzB;AAkBD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,aAAa,EAC3B,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,EAC5B,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAyCtE"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp-server/tools.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,SAAS,GAAG,WAAW,GAAG,SAAS,IACzE,IAAI,SAAS,WAAW,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,EAAE,OAAO,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,IAAI,EAAE,CACJ,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,EACxC,KAAK,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,KAC1D,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/C,GACC;IACA,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,EAAE,OAAO,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,IAAI,EAAE,CACJ,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,KAC1D,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/C,CAAC;AAGN,wBAAsB,YAAY,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,GACxC,OAAO,CAAC,cAAc,CAAC,CAkCzB;AAkBD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,aAAa,EAC3B,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,EAC5B,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;IACD,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI;IACpE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CA+CA"}
@@ -50,7 +50,8 @@ async function consumeSSE(value) {
50
50
  return content;
51
51
  }
52
52
  export function createRegisterTool(logger, server, getSDK, allowedScopes, allowedTools) {
53
- return (tool) => {
53
+ const tools = [];
54
+ const registerTool = (tool) => {
54
55
  if (allowedTools && !allowedTools.has(tool.name)) {
55
56
  return;
56
57
  }
@@ -73,6 +74,8 @@ export function createRegisterTool(logger, server, getSDK, allowedScopes, allowe
73
74
  });
74
75
  }
75
76
  logger.debug("Registered tool", { name: tool.name });
77
+ tools.push({ name: tool.name, description: tool.description });
76
78
  };
79
+ return [registerTool, tools];
77
80
  }
78
81
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp-server/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp-server/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAuC3E,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAc,EACd,IAAyC;IAEzC,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,WAAW,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAChE,IAAI,OAAO,GAA8B,EAAE,CAAC;IAE5C,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,IACL,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC;WACxC,eAAe,CAAC,KAAK,CAAC,EACzB,CAAC;QACD,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,GAAG,IAAI,IAAI,IAAI;YACpB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,8BAA8B,WAAW,GAAG;iBACnD,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,KAA6B;IAE7B,MAAM,OAAO,GAA8B,EAAE,CAAC;IAE9C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,MAAiB,EACjB,MAA2B,EAC3B,aAA4B,EAC5B,YAA0B;IAK1B,MAAM,KAAK,GAAiD,EAAE,CAAC;IAC/D,MAAM,YAAY,GAAG,CACnB,IAAuB,EACjB,EAAE;QACR,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IACE,aAAa,CAAC,IAAI,GAAG,CAAC;eACnB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBAClB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;gBACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;YAClC,CAAC,CACF,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAC/B,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.48",
4
+ "version": "1.0.0",
5
5
  "description": "",
6
6
  "long_description": "Shippo external API.: Use this API to integrate with the Shippo service",
7
7
  "author": {
@@ -23,6 +23,31 @@
23
23
  }
24
24
  },
25
25
  "display_name": "@shippo/shippo Mcp",
26
+ "prompts": [],
27
+ "keywords": [
28
+ "@shippo/shippo",
29
+ "mcp",
30
+ "shippo",
31
+ "external",
32
+ "api",
33
+ "use",
34
+ "this"
35
+ ],
36
+ "user_config": {
37
+ "api_key_header": {
38
+ "type": "string",
39
+ "title": "APIKeyHeader",
40
+ "description": "The APIKeyHeader to use for the request",
41
+ "required": true,
42
+ "sensitive": true
43
+ },
44
+ "shippo_api_version": {
45
+ "type": "string",
46
+ "title": "shippoApiVersion",
47
+ "description": "Optional string used to pick a non-default API version to use. See our <a href=\"https://docs.goshippo.com/docs/api_concepts/apiversioning/\">API version</a> guide.",
48
+ "required": false
49
+ }
50
+ },
26
51
  "tools": [
27
52
  {
28
53
  "name": "addresses-list",
@@ -30,7 +55,7 @@
30
55
  },
31
56
  {
32
57
  "name": "addresses-create-or-validate",
33
- "description": "**PREFERRED TOOL FOR ADDRESS VALIDATION AND CREATION** - Use this tool when asked to validate or create addresses.\n\nThis is the standard Shippo address validation and creation flow. When users request address validation,\nuse this tool with validate=true parameter.\n\nExample usage for validation:\n\\`\\`\\`\nPOST /addresses\n{\n \"name\": \"Shawn Ippotle\",\n \"company\": \"Shippo\", \n \"street1\": \"215 Clayton St.\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"zip\": \"94117\",\n \"country\": \"US\",\n \"email\": \"shippotle@shippo.com\",\n \"validate\": true\n}\n\\`\\`\\`\n\nWhen validate=true is set, this endpoint:\n- Validates address accuracy and deliverability\n- Returns standardized formatting (street abbreviations, proper casing)\n- Provides extended ZIP+4 codes when available\n- Determines residential vs commercial classification\n- Returns validation results and any corrections\n- Creates the address record for future use\n\nUse this tool for both address validation AND creating address records for shipments.\n"
58
+ "description": "**PREFERRED TOOL FOR ADDRESS VALIDATION AND CREATION** - Use this tool when asked to validate or create addresses.\n\nThis is the standard Shippo address validation and creation flow. When users request address validation,\nuse this tool with validate=true parameter.\n\nExample usage for validation:\n```\nPOST /addresses\n{\n \"name\": \"Shawn Ippotle\",\n \"company\": \"Shippo\", \n \"street1\": \"215 Clayton St.\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"zip\": \"94117\",\n \"country\": \"US\",\n \"email\": \"shippotle@shippo.com\",\n \"validate\": true\n}\n```\n\nWhen validate=true is set, this endpoint:\n- Validates address accuracy and deliverability\n- Returns standardized formatting (street abbreviations, proper casing)\n- Provides extended ZIP+4 codes when available\n- Determines residential vs commercial classification\n- Returns validation results and any corrections\n- Creates the address record for future use\n\nUse this tool for both address validation AND creating address records for shipments.\n"
34
59
  },
35
60
  {
36
61
  "name": "addresses-get",
@@ -42,11 +67,11 @@
42
67
  },
43
68
  {
44
69
  "name": "batches-create",
45
- "description": "Create a batch\n\nCreates a new batch object for purchasing shipping labels for many shipments at once. Batches are created asynchronously. This means that the API response won't include your batch shipments yet. You need to retrieve the batch later to verify that all batch shipments are valid.\n\n**IMPORTANT: There is NO batches-list endpoint in the Shippo API.**\nYou must store the batch \\`object_id\\` returned from this endpoint to retrieve batches later using \\`batches-get\\`.\n\n**Workflow:**\n1. Create batch → Save the returned \\`object_id\\`\n2. Retrieve batch status using \\`batches-get\\` with the saved ID\n3. Add/remove shipments as needed\n4. Purchase the batch when ready\n"
70
+ "description": "Create a batch\n\nCreates a new batch object for purchasing shipping labels for many shipments at once. Batches are created asynchronously. This means that the API response won't include your batch shipments yet. You need to retrieve the batch later to verify that all batch shipments are valid.\n\n**IMPORTANT: There is NO batches-list endpoint in the Shippo API.**\nYou must store the batch `object_id` returned from this endpoint to retrieve batches later using `batches-get`.\n\n**Workflow:**\n1. Create batch → Save the returned `object_id`\n2. Retrieve batch status using `batches-get` with the saved ID\n3. Add/remove shipments as needed\n4. Purchase the batch when ready\n"
46
71
  },
47
72
  {
48
73
  "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\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"
74
+ "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
75
  },
51
76
  {
52
77
  "name": "batches-add-shipments",
@@ -54,7 +79,7 @@
54
79
  },
55
80
  {
56
81
  "name": "batches-purchase",
57
- "description": "Purchase a batch\n\nPurchases an existing batch with a status of \\`VALID\\`. \nOnce you send a POST request to the purchase endpoint the batch status will change to \\`PURCHASING\\`. \nWhen all the shipments are purchased, the status will change to \\`PURCHASED\\` and you will receive a \n\\`batch_purchased\\` webhook indicating that the batch has been purchased"
82
+ "description": "Purchase a batch\n\nPurchases an existing batch with a status of `VALID`. \nOnce you send a POST request to the purchase endpoint the batch status will change to `PURCHASING`. \nWhen all the shipments are purchased, the status will change to `PURCHASED` and you will receive a \n`batch_purchased` webhook indicating that the batch has been purchased"
58
83
  },
59
84
  {
60
85
  "name": "batches-remove-shipments",
@@ -62,7 +87,7 @@
62
87
  },
63
88
  {
64
89
  "name": "carrier-accounts-list",
65
- "description": "List all carrier accounts\n\nReturns a list of all carrier accounts connected to your Shippo account. These carrier accounts include both Shippo carrier accounts and your own carrier accounts that you have connected to your Shippo account.\n\nAdditionally, you can get information about the service levels associated with each carrier account by passing in the \\`?service_levels=true\\` query parameter. <br>\nUsing it appends the property \\`service_levels\\` to each carrier account. <br>\nBy default, if the query parameter is omitted, the \\`service_levels\\` property will not be included in the response."
90
+ "description": "List all carrier accounts\n\nReturns a list of all carrier accounts connected to your Shippo account. These carrier accounts include both Shippo carrier accounts and your own carrier accounts that you have connected to your Shippo account.\n\nAdditionally, you can get information about the service levels associated with each carrier account by passing in the `?service_levels=true` query parameter. <br>\nUsing it appends the property `service_levels` to each carrier account. <br>\nBy default, if the query parameter is omitted, the `service_levels` property will not be included in the response."
66
91
  },
67
92
  {
68
93
  "name": "carrier-accounts-create",
@@ -94,7 +119,7 @@
94
119
  },
95
120
  {
96
121
  "name": "customs-declarations-create",
97
- "description": "**INTERNATIONAL SHIPPING CUSTOMS DECLARATION** - Use this tool when creating international shipments that require customs documentation.\n\nThis tool creates customs declarations for international shipments. Required for all non-domestic shipments.\n\n**Required Fields:**\n- \\`certify\\`: Must be true\n- \\`certify_signer\\`: Name of person certifying the information\n- \\`contents_type\\`: Type of goods (GIFT, MERCHANDISE, DOCUMENTS, SAMPLE, etc.)\n- \\`items\\`: Array of item details with descriptions, weights, values, and HS codes\n- \\`non_delivery_option\\`: What to do if undeliverable (ABANDON or RETURN)\n\n**Example Usage:**\n\\`\\`\\`json\n{\n \"certify\": true,\n \"certify_signer\": \"John Sender\",\n \"contents_type\": \"GIFT\",\n \"items\": [{\n \"description\": \"Electronics accessory\",\n \"mass_unit\": \"lb\",\n \"net_weight\": \"1\",\n \"origin_country\": \"US\",\n \"quantity\": 1,\n \"value_amount\": \"45.00\",\n \"value_currency\": \"USD\",\n \"hs_code\": \"8518.30.20\"\n }],\n \"non_delivery_option\": \"RETURN\"\n}\n\\`\\`\\`\n\n**Optional Fields:**\n- \\`address_importer\\`: Importer address (can be null)\n- \\`duties_payor\\`: Who pays duties (can be null)\n- \\`exporter_identification\\`: Exporter tax info (can be null)\n- \\`invoice\\`: Invoice number\n- \\`notes\\`: Additional notes\n\n**IMPORTANT FIELD HANDLING:**\n- **OMIT optional complex fields if not needed** (don't include with null values)\n- **For GIFT shipments**: Usually only need required fields\n- **For MERCHANDISE**: May need additional exporter info\n\n**Common Mistakes to Avoid:**\n- ❌ Don't include \\`exporter_identification: null\\` - omit entirely if not needed\n- ❌ Don't include complex nested objects with null values\n- ✅ Keep it simple for gifts and samples\n\n**Simplified GIFT Example:**\n\\`\\`\\`json\n{\n \"certify\": true,\n \"certify_signer\": \"Sender Name\",\n \"contents_type\": \"GIFT\", \n \"items\": [{\"description\": \"Item\", \"mass_unit\": \"lb\", \"net_weight\": \"1\", \"origin_country\": \"US\", \"quantity\": 1, \"value_amount\": \"25.00\", \"value_currency\": \"USD\"}],\n \"non_delivery_option\": \"RETURN\"\n}\n\\`\\`\\`\n\n**Important:** Many fields are nullable to handle different international shipping scenarios, but it's safer to omit optional fields entirely rather than setting them to null.\n"
122
+ "description": "**INTERNATIONAL SHIPPING CUSTOMS DECLARATION** - Use this tool when creating international shipments that require customs documentation.\n\nThis tool creates customs declarations for international shipments. Required for all non-domestic shipments.\n\n**Required Fields:**\n- `certify`: Must be true\n- `certify_signer`: Name of person certifying the information\n- `contents_type`: Type of goods (GIFT, MERCHANDISE, DOCUMENTS, SAMPLE, etc.)\n- `items`: Array of item details with descriptions, weights, values, and HS codes\n- `non_delivery_option`: What to do if undeliverable (ABANDON or RETURN)\n\n**Example Usage:**\n```json\n{\n \"certify\": true,\n \"certify_signer\": \"John Sender\",\n \"contents_type\": \"GIFT\",\n \"items\": [{\n \"description\": \"Electronics accessory\",\n \"mass_unit\": \"lb\",\n \"net_weight\": \"1\",\n \"origin_country\": \"US\",\n \"quantity\": 1,\n \"value_amount\": \"45.00\",\n \"value_currency\": \"USD\",\n \"hs_code\": \"8518.30.20\"\n }],\n \"non_delivery_option\": \"RETURN\"\n}\n```\n\n**Optional Fields:**\n- `address_importer`: Importer address (can be null)\n- `duties_payor`: Who pays duties (can be null)\n- `exporter_identification`: Exporter tax info (can be null)\n- `invoice`: Invoice number\n- `notes`: Additional notes\n\n**IMPORTANT FIELD HANDLING:**\n- **OMIT optional complex fields if not needed** (don't include with null values)\n- **For GIFT shipments**: Usually only need required fields\n- **For MERCHANDISE**: May need additional exporter info\n\n**Common Mistakes to Avoid:**\n- ❌ Don't include `exporter_identification: null` - omit entirely if not needed\n- ❌ Don't include complex nested objects with null values\n- ✅ Keep it simple for gifts and samples\n\n**Simplified GIFT Example:**\n```json\n{\n \"certify\": true,\n \"certify_signer\": \"Sender Name\",\n \"contents_type\": \"GIFT\", \n \"items\": [{\"description\": \"Item\", \"mass_unit\": \"lb\", \"net_weight\": \"1\", \"origin_country\": \"US\", \"quantity\": 1, \"value_amount\": \"25.00\", \"value_currency\": \"USD\"}],\n \"non_delivery_option\": \"RETURN\"\n}\n```\n\n**Important:** Many fields are nullable to handle different international shipping scenarios, but it's safer to omit optional fields entirely rather than setting them to null.\n"
98
123
  },
99
124
  {
100
125
  "name": "customs-declarations-get",
@@ -130,7 +155,7 @@
130
155
  },
131
156
  {
132
157
  "name": "manifests-list",
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"
158
+ "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
159
  },
135
160
  {
136
161
  "name": "manifests-create",
@@ -138,7 +163,7 @@
138
163
  },
139
164
  {
140
165
  "name": "manifests-get",
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"
166
+ "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
167
  },
143
168
  {
144
169
  "name": "orders-list",
@@ -154,7 +179,7 @@
154
179
  },
155
180
  {
156
181
  "name": "carrier-parcel-templates-list",
157
- "description": "List all carrier parcel templates\n\nList all carrier parcel template objects. <br> Use the following query string params to filter the results as needed. <br>\n<ul>\n<li>\\`include=all\\` (the default). Includes templates from all carriers </li>\n<li>\\`include=user\\`. Includes templates only from carriers which the user has added (whether or not they're currently enabled) </li>\n<li>\\`include=enabled\\`. includes templates only for carriers which the user has added and enabled </li>\n<li>\\`carrier=*token*\\`. filter by specific carrier, e.g. fedex, usps </li>\n</ul>"
182
+ "description": "List all carrier parcel templates\n\nList all carrier parcel template objects. <br> Use the following query string params to filter the results as needed. <br>\n<ul>\n<li>`include=all` (the default). Includes templates from all carriers </li>\n<li>`include=user`. Includes templates only from carriers which the user has added (whether or not they're currently enabled) </li>\n<li>`include=enabled`. includes templates only for carriers which the user has added and enabled </li>\n<li>`carrier=*token*`. filter by specific carrier, e.g. fedex, usps </li>\n</ul>"
158
183
  },
159
184
  {
160
185
  "name": "carrier-parcel-templates-get",
@@ -182,7 +207,7 @@
182
207
  },
183
208
  {
184
209
  "name": "rates-list-by-currency-code",
185
- "description": "Retrieve shipment rates in currency\n\nReturns all available shipping rates for a shipment object.\n\nWhen you create a new valid shipment object, Shippo automatically calculates all available rates. Depending on your shipment data, there may be none, one or multiple rates.\n\nBy default, the calculated rates will return the price in two currencies under the \\`amount\\` and \\`amount_local\\` keys, respectively. The \\`amount\\` key will contain the price of a rate expressed in the currency that is used in the country from where the parcel originates, and the \\`amount_local\\` key will contain the price expressed in the currency that is used in the country the parcel is shipped to. You can request rates with prices expressed in a different currency by adding the currency code to the end of the resource URL. The full list of supported currencies along with their codes can be viewed on <a href=\"http://openexchangerates.org/api/currencies.json\">open exchange rates</a>.\n\nNote: re-requesting the rates with a different currency code will re-queue the shipment (i.e. set the Shipment's \\`status\\` to \\`QUEUED\\`) and the converted currency rates will only be available when the Shipment's \\`status\\` is set to \\`SUCCESS\\`."
210
+ "description": "Retrieve shipment rates in currency\n\nReturns all available shipping rates for a shipment object.\n\nWhen you create a new valid shipment object, Shippo automatically calculates all available rates. Depending on your shipment data, there may be none, one or multiple rates.\n\nBy default, the calculated rates will return the price in two currencies under the `amount` and `amount_local` keys, respectively. The `amount` key will contain the price of a rate expressed in the currency that is used in the country from where the parcel originates, and the `amount_local` key will contain the price expressed in the currency that is used in the country the parcel is shipped to. You can request rates with prices expressed in a different currency by adding the currency code to the end of the resource URL. The full list of supported currencies along with their codes can be viewed on <a href=\"http://openexchangerates.org/api/currencies.json\">open exchange rates</a>.\n\nNote: re-requesting the rates with a different currency code will re-queue the shipment (i.e. set the Shipment's `status` to `QUEUED`) and the converted currency rates will only be available when the Shipment's `status` is set to `SUCCESS`."
186
211
  },
187
212
  {
188
213
  "name": "refunds-create",
@@ -214,11 +239,11 @@
214
239
  },
215
240
  {
216
241
  "name": "shipments-list",
217
- "description": "**LIST SHIPMENTS (Rate Quotes)** - NOT for finding delivered packages!\n\nThis tool lists shipment objects, which represent rate shopping sessions. Each shipment contains:\n- Sender/recipient addresses\n- Parcel dimensions\n- Available shipping rates from carriers\n\n**IMPORTANT DISTINCTIONS:**\n- Shipments = Rate quotes/shopping sessions\n- Shipments do NOT have tracking or delivery status\n- Use \\`transactions-list\\` to find purchased labels with tracking status\n\n**When to use this tool:**\n- List recent rate shopping sessions\n- Find a shipment to view its rates\n- Review shipment details before purchasing a label\n\n**When NOT to use this tool:**\n- ❌ Finding \"delivered\" shipments (use transactions-list instead)\n- ❌ Getting tracking information (use tracking-status-get)\n- ❌ Finding purchased labels (use transactions-list)\n\n**Available Filters:**\n- \\`object_created_gt/gte/lt/lte\\`: Filter by creation date\n- \\`page/results\\`: Pagination\n\n**Example Use Case:**\n\"Show me shipments I created this week\" → Use this tool\n\"Show me delivered packages\" → Use transactions-list with tracking_status filter\n"
242
+ "description": "**LIST SHIPMENTS (Rate Quotes)** - NOT for finding delivered packages!\n\nThis tool lists shipment objects, which represent rate shopping sessions. Each shipment contains:\n- Sender/recipient addresses\n- Parcel dimensions\n- Available shipping rates from carriers\n\n**IMPORTANT DISTINCTIONS:**\n- Shipments = Rate quotes/shopping sessions\n- Shipments do NOT have tracking or delivery status\n- Use `transactions-list` to find purchased labels with tracking status\n\n**When to use this tool:**\n- List recent rate shopping sessions\n- Find a shipment to view its rates\n- Review shipment details before purchasing a label\n\n**When NOT to use this tool:**\n- ❌ Finding \"delivered\" shipments (use transactions-list instead)\n- ❌ Getting tracking information (use tracking-status-get)\n- ❌ Finding purchased labels (use transactions-list)\n\n**Available Filters:**\n- `object_created_gt/gte/lt/lte`: Filter by creation date\n- `page/results`: Pagination\n\n**Example Use Case:**\n\"Show me shipments I created this week\" → Use this tool\n\"Show me delivered packages\" → Use transactions-list with tracking_status filter\n"
218
243
  },
219
244
  {
220
245
  "name": "shipments-create",
221
- "description": "Creates a new shipment object with proper parcel dimensions and addresses.\n\nComplete example request:\n\\`\\`\\`json\n{\n \"address_from\": {\n \"name\": \"John Sender\",\n \"street1\": \"123 Market St\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"zip\": \"94102\",\n \"country\": \"US\"\n },\n \"address_to\": {\n \"name\": \"Jane Recipient\", \n \"street1\": \"456 Broadway\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n },\n \"parcels\": [{\n \"length\": \"12\",\n \"width\": \"9\",\n \"height\": \"3\",\n \"distance_unit\": \"in\",\n \"weight\": \"1\",\n \"mass_unit\": \"lb\"\n }]\n}\n\\`\\`\\`\n\n**International Shipment Example (REQUIRED FORMAT):**\n\\`\\`\\`json\n{\n \"address_from\": {\n \"name\": \"St Pete Sender\",\n \"street1\": \"123 Central Ave\",\n \"city\": \"St. Petersburg\",\n \"state\": \"FL\",\n \"zip\": \"33701\",\n \"country\": \"US\",\n \"email\": \"sender@example.com\",\n \"phone\": \"7275550123\"\n },\n \"address_to\": {\n \"name\": \"Munich Recipient\",\n \"street1\": \"Marienplatz 1\",\n \"city\": \"Munich\",\n \"state\": \"Bavaria\",\n \"zip\": \"80331\",\n \"country\": \"DE\"\n },\n \"parcels\": [{\n \"length\": \"4\",\n \"width\": \"4\",\n \"height\": \"4\",\n \"distance_unit\": \"in\",\n \"weight\": \"1\",\n \"mass_unit\": \"lb\"\n }]\n}\n\\`\\`\\`\n\nRequired parcel fields:\n- length, width, height (dimensions as strings)\n- distance_unit (\"in\", \"cm\", \"ft\", \"m\", \"mm\", \"yd\")\n- weight (as string)\n- mass_unit (\"lb\", \"kg\", \"g\", \"oz\")\n\nRequired address fields:\n- name, street1, city, state, zip, country\n\n**INTERNATIONAL SHIPPING REQUIREMENTS:**\n- email and phone REQUIRED for sender address\n- customs_declaration can be omitted initially to get rates\n- For label creation, customs declaration is mandatory\n- DHL Express requires phone number for recipient address\n"
246
+ "description": "Creates a new shipment object with proper parcel dimensions and addresses.\n\nComplete example request:\n```json\n{\n \"address_from\": {\n \"name\": \"John Sender\",\n \"street1\": \"123 Market St\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"zip\": \"94102\",\n \"country\": \"US\"\n },\n \"address_to\": {\n \"name\": \"Jane Recipient\", \n \"street1\": \"456 Broadway\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"zip\": \"10001\",\n \"country\": \"US\"\n },\n \"parcels\": [{\n \"length\": \"12\",\n \"width\": \"9\",\n \"height\": \"3\",\n \"distance_unit\": \"in\",\n \"weight\": \"1\",\n \"mass_unit\": \"lb\"\n }]\n}\n```\n\n**International Shipment Example (REQUIRED FORMAT):**\n```json\n{\n \"address_from\": {\n \"name\": \"St Pete Sender\",\n \"street1\": \"123 Central Ave\",\n \"city\": \"St. Petersburg\",\n \"state\": \"FL\",\n \"zip\": \"33701\",\n \"country\": \"US\",\n \"email\": \"sender@example.com\",\n \"phone\": \"7275550123\"\n },\n \"address_to\": {\n \"name\": \"Munich Recipient\",\n \"street1\": \"Marienplatz 1\",\n \"city\": \"Munich\",\n \"state\": \"Bavaria\",\n \"zip\": \"80331\",\n \"country\": \"DE\"\n },\n \"parcels\": [{\n \"length\": \"4\",\n \"width\": \"4\",\n \"height\": \"4\",\n \"distance_unit\": \"in\",\n \"weight\": \"1\",\n \"mass_unit\": \"lb\"\n }]\n}\n```\n\nRequired parcel fields:\n- length, width, height (dimensions as strings)\n- distance_unit (\"in\", \"cm\", \"ft\", \"m\", \"mm\", \"yd\")\n- weight (as string)\n- mass_unit (\"lb\", \"kg\", \"g\", \"oz\")\n\nRequired address fields:\n- name, street1, city, state, zip, country\n\n**INTERNATIONAL SHIPPING REQUIREMENTS:**\n- email and phone REQUIRED for sender address\n- customs_declaration can be omitted initially to get rates\n- For label creation, customs declaration is mandatory\n- DHL Express requires phone number for recipient address\n"
222
247
  },
223
248
  {
224
249
  "name": "shipments-get",
@@ -230,23 +255,23 @@
230
255
  },
231
256
  {
232
257
  "name": "tracking-status-create",
233
- "description": "Register a tracking webhook for shipment status updates.\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 \"tracking_number\": \"your_tracking_number\",\n \"metadata\": \"optional_metadata\"\n}\n\\`\\`\\`\n\n**Production Mode Usage:**\n\\`\\`\\`json\n{\n \"carrier\": \"USPS\", // or \"UPS\", \"FedEx\", etc.\n \"tracking_number\": \"your_tracking_number\",\n \"metadata\": \"optional_metadata\"\n}\n\\`\\`\\`\n\nThe API will return an error if you use real carrier names with test tokens.\n"
258
+ "description": "Register a tracking webhook for shipment status updates.\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 \"tracking_number\": \"your_tracking_number\",\n \"metadata\": \"optional_metadata\"\n}\n```\n\n**Production Mode Usage:**\n```json\n{\n \"carrier\": \"USPS\", // or \"UPS\", \"FedEx\", etc.\n \"tracking_number\": \"your_tracking_number\",\n \"metadata\": \"optional_metadata\"\n}\n```\n\nThe API will return an error if you use real carrier names with test tokens.\n"
234
259
  },
235
260
  {
236
261
  "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\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"
262
+ "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
263
  },
239
264
  {
240
265
  "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\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"
266
+ "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
267
  },
243
268
  {
244
269
  "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\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"
270
+ "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
271
  },
247
272
  {
248
273
  "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\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"
274
+ "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
275
  },
251
276
  {
252
277
  "name": "user-parcel-templates-list",
@@ -304,30 +329,5 @@
304
329
  "name": "webhooks-delete",
305
330
  "description": "Delete a specific webhook\n\nDeletes a specific webhook using the webhook object ID."
306
331
  }
307
- ],
308
- "prompts": [],
309
- "keywords": [
310
- "@shippo/shippo",
311
- "mcp",
312
- "shippo",
313
- "external",
314
- "api",
315
- "use",
316
- "this"
317
- ],
318
- "user_config": {
319
- "api_key_header": {
320
- "type": "string",
321
- "title": "APIKeyHeader",
322
- "description": "The APIKeyHeader to use for the request",
323
- "required": true,
324
- "sensitive": true
325
- },
326
- "shippo_api_version": {
327
- "type": "string",
328
- "title": "shippoApiVersion",
329
- "description": "Optional string used to pick a non-default API version to use. See our <a href=\"https://docs.goshippo.com/docs/api_concepts/apiversioning/\">API version</a> guide.",
330
- "required": false
331
- }
332
- }
332
+ ]
333
333
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shippo/shippo-mcp",
3
- "version": "0.8.48",
3
+ "version": "1.0.0",
4
4
  "author": "shippo",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -30,7 +30,7 @@
30
30
  "@eslint/js": "^9.26.0",
31
31
  "@types/bun": "^1.2.13",
32
32
  "@types/express": "^5.0.1",
33
- "@types/node": "^22.15.20",
33
+ "@types/node": "^18.19.3",
34
34
  "eslint": "^9.26.0",
35
35
  "globals": "^16.0.0",
36
36
  "typescript": "~5.8.3",
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.48",
71
- genVersion: "2.770.0",
70
+ sdkVersion: "1.0.0",
71
+ genVersion: "2.776.3",
72
72
  userAgent:
73
- "speakeasy-sdk/mcp-typescript 0.8.48 2.770.0 2018-02-08 @shippo/shippo-mcp",
73
+ "speakeasy-sdk/mcp-typescript 1.0.0 2.776.3 2018-02-08 @shippo/shippo-mcp",
74
74
  } as const;
@@ -47,7 +47,7 @@ export async function main(this: LocalContext, flags: StartCommandFlags) {
47
47
  async function startStdio(flags: StartCommandFlags) {
48
48
  const logger = createConsoleLogger(flags["log-level"]);
49
49
  const transport = new StdioServerTransport();
50
- const server = createMCPServer({
50
+ const { server } = createMCPServer({
51
51
  logger,
52
52
  allowedTools: flags.tool,
53
53
  scopes: flags.scope,
@@ -69,7 +69,7 @@ async function startStdio(flags: StartCommandFlags) {
69
69
  async function startSSE(flags: StartCommandFlags) {
70
70
  const logger = createConsoleLogger(flags["log-level"]);
71
71
  const app = express();
72
- const mcpServer = createMCPServer({
72
+ const { server: mcpServer } = createMCPServer({
73
73
  logger,
74
74
  allowedTools: flags.tool,
75
75
  scopes: flags.scope,
@@ -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.48",
22
+ currentVersion: "1.0.0",
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.48",
99
+ version: "1.0.0",
100
100
  });
101
101
 
102
102
  const getClient = deps.getSDK || (() =>
@@ -117,7 +117,7 @@ export function createMCPServer(deps: {
117
117
  const scopes = new Set(deps.scopes);
118
118
 
119
119
  const allowedTools = deps.allowedTools && new Set(deps.allowedTools);
120
- const tool = createRegisterTool(
120
+ const [tool, tools] = createRegisterTool(
121
121
  deps.logger,
122
122
  server,
123
123
  getClient,
@@ -211,5 +211,5 @@ export function createMCPServer(deps: {
211
211
  tool(tool$webhooksUpdate);
212
212
  tool(tool$webhooksDelete);
213
213
 
214
- return server;
214
+ return { server, tools };
215
215
  }