@amazon-sp-api-release/dev-mcp 0.0.1

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 (47) hide show
  1. package/README.md +82 -0
  2. package/dist/auth/sp-api-auth.d.ts +17 -0
  3. package/dist/auth/sp-api-auth.d.ts.map +1 -0
  4. package/dist/auth/sp-api-auth.js +55 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +96 -0
  8. package/dist/tools/api-tools/orders-api-tools.d.ts +103 -0
  9. package/dist/tools/api-tools/orders-api-tools.d.ts.map +1 -0
  10. package/dist/tools/api-tools/orders-api-tools.js +459 -0
  11. package/dist/tools/migration-assistant-tools/migration-tools.d.ts +21 -0
  12. package/dist/tools/migration-assistant-tools/migration-tools.d.ts.map +1 -0
  13. package/dist/tools/migration-assistant-tools/migration-tools.js +82 -0
  14. package/dist/tools/migration-assistant-tools/orders-api-migration/code-analyzer.d.ts +19 -0
  15. package/dist/tools/migration-assistant-tools/orders-api-migration/code-analyzer.d.ts.map +1 -0
  16. package/dist/tools/migration-assistant-tools/orders-api-migration/code-analyzer.js +52 -0
  17. package/dist/tools/migration-assistant-tools/orders-api-migration/code-generator.d.ts +3 -0
  18. package/dist/tools/migration-assistant-tools/orders-api-migration/code-generator.d.ts.map +1 -0
  19. package/dist/tools/migration-assistant-tools/orders-api-migration/code-generator.js +45 -0
  20. package/dist/tools/migration-assistant-tools/orders-api-migration/guidance-formatter.d.ts +3 -0
  21. package/dist/tools/migration-assistant-tools/orders-api-migration/guidance-formatter.d.ts.map +1 -0
  22. package/dist/tools/migration-assistant-tools/orders-api-migration/guidance-formatter.js +134 -0
  23. package/dist/tools/migration-assistant-tools/orders-api-migration/migration-data.d.ts +13 -0
  24. package/dist/tools/migration-assistant-tools/orders-api-migration/migration-data.d.ts.map +1 -0
  25. package/dist/tools/migration-assistant-tools/orders-api-migration/migration-data.js +181 -0
  26. package/dist/tools/migration-assistant-tools/orders-api-migration/report-formatter.d.ts +5 -0
  27. package/dist/tools/migration-assistant-tools/orders-api-migration/report-formatter.d.ts.map +1 -0
  28. package/dist/tools/migration-assistant-tools/orders-api-migration/report-formatter.js +64 -0
  29. package/dist/zod-schemas/migration-schemas.d.ts +24 -0
  30. package/dist/zod-schemas/migration-schemas.d.ts.map +1 -0
  31. package/dist/zod-schemas/migration-schemas.js +24 -0
  32. package/dist/zod-schemas/orders-schemas.d.ts +291 -0
  33. package/dist/zod-schemas/orders-schemas.d.ts.map +1 -0
  34. package/dist/zod-schemas/orders-schemas.js +178 -0
  35. package/package.json +66 -0
  36. package/src/auth/sp-api-auth.ts +88 -0
  37. package/src/index.ts +168 -0
  38. package/src/tools/api-tools/orders-api-tools.ts +684 -0
  39. package/src/tools/migration-assistant-tools/migration-tools.ts +143 -0
  40. package/src/tools/migration-assistant-tools/orders-api-migration/code-analyzer.ts +72 -0
  41. package/src/tools/migration-assistant-tools/orders-api-migration/code-generator.ts +64 -0
  42. package/src/tools/migration-assistant-tools/orders-api-migration/guidance-formatter.ts +154 -0
  43. package/src/tools/migration-assistant-tools/orders-api-migration/migration-data.ts +221 -0
  44. package/src/tools/migration-assistant-tools/orders-api-migration/report-formatter.ts +85 -0
  45. package/src/utils/logger.ts +75 -0
  46. package/src/zod-schemas/migration-schemas.ts +28 -0
  47. package/src/zod-schemas/orders-schemas.ts +196 -0
package/src/index.ts ADDED
@@ -0,0 +1,168 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
+ import {
6
+ OrdersApiTool,
7
+ SPAPIConfig,
8
+ } from "./tools/api-tools/orders-api-tools.js";
9
+ import { SPAPIMigrationAssistantTool } from "./tools/migration-assistant-tools/migration-tools.js";
10
+ import {
11
+ searchOrdersSchema,
12
+ getOrderSchema,
13
+ cancelOrderSchema,
14
+ updateShipmentStatusSchema,
15
+ updateVerificationStatusSchema,
16
+ confirmShipmentSchema,
17
+ getOrderRegulatedInfoSchema,
18
+ } from "./zod-schemas/orders-schemas.js";
19
+ import { migrationAssistantSchema } from "./zod-schemas/migration-schemas.js";
20
+ import { config } from "dotenv";
21
+
22
+ config();
23
+
24
+ interface ConfigFile {
25
+ SP_API_CLIENT_ID?: string;
26
+ SP_API_CLIENT_SECRET?: string;
27
+ SP_API_REFRESH_TOKEN?: string;
28
+ SP_API_BASE_URL?: string;
29
+ }
30
+
31
+ class SPAPIDevMCPServer {
32
+ private server: McpServer;
33
+ private ordersApiTool: OrdersApiTool;
34
+ private migrationAssistantTool: SPAPIMigrationAssistantTool;
35
+
36
+ constructor() {
37
+ this.server = new McpServer({
38
+ name: "selling-partner-api-dev-mcp",
39
+ version: "1.1.0",
40
+ });
41
+
42
+ const config = this.getAuthFromEnv();
43
+ this.ordersApiTool = new OrdersApiTool(config);
44
+ this.migrationAssistantTool = new SPAPIMigrationAssistantTool();
45
+ this.setupTools();
46
+ }
47
+
48
+ private setupTools(): void {
49
+ // Register Orders API V1 Tools
50
+ this.server.registerTool(
51
+ "search_orders",
52
+ {
53
+ description:
54
+ "Search orders with various filters and include specific data sets. Use this to get orders by date, status, marketplace, etc.",
55
+ inputSchema: searchOrdersSchema,
56
+ },
57
+ async (args: any) => {
58
+ return await this.ordersApiTool.searchOrders(args);
59
+ },
60
+ );
61
+
62
+ this.server.registerTool(
63
+ "get_order",
64
+ {
65
+ description:
66
+ "Get detailed information for a specific order by order ID",
67
+ inputSchema: getOrderSchema,
68
+ },
69
+ async (args: any) => {
70
+ return await this.ordersApiTool.getOrder(args);
71
+ },
72
+ );
73
+
74
+ this.server.registerTool(
75
+ "cancel_order",
76
+ {
77
+ description: "Cancel a specific order with a reason code",
78
+ inputSchema: cancelOrderSchema,
79
+ },
80
+ async (args: any) => {
81
+ return await this.ordersApiTool.cancelOrder(args);
82
+ },
83
+ );
84
+
85
+ // Register Orders API V0 Tools
86
+ this.server.registerTool(
87
+ "update_shipment_status",
88
+ {
89
+ description:
90
+ "Update shipment status for an order (V0 API - for orders that require shipment status updates)",
91
+ inputSchema: updateShipmentStatusSchema,
92
+ },
93
+ async (args: any) => {
94
+ return await this.ordersApiTool.updateShipmentStatus(args);
95
+ },
96
+ );
97
+
98
+ this.server.registerTool(
99
+ "update_verification_status",
100
+ {
101
+ description:
102
+ "Update verification status for regulated orders (V0 API - for compliance-related orders)",
103
+ inputSchema: updateVerificationStatusSchema,
104
+ },
105
+ async (args: any) => {
106
+ return await this.ordersApiTool.updateVerificationStatus(args);
107
+ },
108
+ );
109
+
110
+ this.server.registerTool(
111
+ "confirm_shipment",
112
+ {
113
+ description:
114
+ "Confirm shipment for an order (V0 API - for orders that require shipment confirmation)",
115
+ inputSchema: confirmShipmentSchema,
116
+ },
117
+ async (args: any) => {
118
+ return await this.ordersApiTool.confirmShipment(args);
119
+ },
120
+ );
121
+
122
+ this.server.registerTool(
123
+ "get_order_regulated_info",
124
+ {
125
+ description:
126
+ "Get regulated information for an order (V0 API - for compliance-related orders)",
127
+ inputSchema: getOrderRegulatedInfoSchema,
128
+ },
129
+ async (args: any) => {
130
+ return await this.ordersApiTool.getOrderRegulatedInfo(args);
131
+ },
132
+ );
133
+
134
+ // Register Migration Assistant Tool
135
+ this.server.registerTool(
136
+ "migration_assistant",
137
+ {
138
+ description:
139
+ "Assists with API version migrations. Can provide general migration guidance or analyze existing code and generate refactored implementations. When source_code is provided: returns detailed analysis with deprecated endpoints, breaking changes, refactored code, and migration checklist. When source_code is omitted: returns comprehensive migration guide with API mappings, attribute changes, code examples, and best practices. Supported Migrations: Orders API v0 → v2026-01-01",
140
+ inputSchema: migrationAssistantSchema,
141
+ },
142
+ async (args: any) => {
143
+ return await this.migrationAssistantTool.migrationAssistant(args);
144
+ },
145
+ );
146
+ }
147
+
148
+ async run(): Promise<void> {
149
+ const transport = new StdioServerTransport();
150
+ await this.server.connect(transport);
151
+ }
152
+
153
+ private getAuthFromEnv(): SPAPIConfig {
154
+ return {
155
+ clientId: process.env.SP_API_CLIENT_ID,
156
+ clientSecret: process.env.SP_API_CLIENT_SECRET,
157
+ refreshToken: process.env.SP_API_REFRESH_TOKEN,
158
+ baseUrl: process.env.SP_API_BASE_URL,
159
+ };
160
+ }
161
+ }
162
+
163
+ try {
164
+ const server = new SPAPIDevMCPServer();
165
+ await server.run();
166
+ } catch (error) {
167
+ process.exit(1);
168
+ }