mark_order_as_shipped
Update order status to shipped by providing order ID, carrier code, ship date, and tracking number via the ShipStation API MCP Server.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| carrierCode | Yes | Carrier code | |
| orderId | Yes | Order ID to mark as shipped | |
| shipDate | Yes | Ship date (YYYY-MM-DD) | |
| trackingNumber | Yes | Tracking number |
Implementation Reference
- src/tools/order-tools.js:84-101 (handler)The main execution logic for the 'mark_order_as_shipped' tool. Destructures input params, calls the ShipStation API client helper, and formats the response or error.handler: async ({ orderId, carrierCode, shipDate, trackingNumber }) => { try { const result = await shipStationClient.markOrderAsShipped({ orderId, carrierCode, shipDate, trackingNumber }); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: error.message }], isError: true }; } }
- src/tools/order-tools.js:78-83 (schema)Zod schema defining the input parameters for the tool: orderId (number), carrierCode (string), shipDate (string), trackingNumber (string).schema: { orderId: z.number().describe("Order ID to mark as shipped"), carrierCode: z.string().describe("Carrier code"), shipDate: z.string().describe("Ship date (YYYY-MM-DD)"), trackingNumber: z.string().describe("Tracking number") },
- src/server.js:174-191 (registration)Registration of all tools, including 'mark_order_as_shipped' from the orderTools array, using the MCP server's tool() method in a loop over all tool groups.[ ...orderTools, ...shipmentTools, ...carrierTools, ...warehouseTools, ...productTools, ...customerTools, ...storeTools, ...webhookTools, ...fulfillmentTools ].forEach(tool => { server.tool( tool.name, tool.schema, tool.handler, { description: tool.description } ); });
- src/api-client.js:60-62 (helper)ShipStationClient helper method that performs the actual API call to mark an order as shipped via POST /orders/markasshipped.async markOrderAsShipped(data) { return this.request('POST', '/orders/markasshipped', data); }