get_shipment
Retrieve shipment details by ID from the ShipStation API to track order fulfillment status and shipping information.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| shipmentId | Yes | Shipment ID to retrieve |
Implementation Reference
- src/tools/shipment-tools.js:40-52 (handler)The handler function for the 'get_shipment' tool. It takes a shipmentId parameter, fetches the shipment details using shipStationClient.getShipment, stringifies the result to JSON, and returns it in the expected MCP format, or returns an error message if the call fails.handler: async ({ shipmentId }) => { try { const shipment = await shipStationClient.getShipment(shipmentId); return { content: [{ type: "text", text: JSON.stringify(shipment, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: error.message }], isError: true }; } }
- src/tools/shipment-tools.js:37-39 (schema)Zod input schema for the 'get_shipment' tool, defining the required shipmentId as a number.schema: { shipmentId: z.number().describe("Shipment ID to retrieve") },
- src/tools/shipment-tools.js:34-53 (registration)The complete 'get_shipment' tool object definition, which is part of the shipmentTools array exported and later spread into the MCP server's tool registration.{ name: "get_shipment", description: "Get details for a specific shipment", schema: { shipmentId: z.number().describe("Shipment ID to retrieve") }, handler: async ({ shipmentId }) => { try { const shipment = await shipStationClient.getShipment(shipmentId); return { content: [{ type: "text", text: JSON.stringify(shipment, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: error.message }], isError: true }; } } },
- src/server.js:174-191 (registration)Generic MCP server tool registration code that spreads all tool arrays (including shipmentTools which contains get_shipment) and registers each tool using server.tool().[ ...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:89-91 (helper)API client helper method getShipment used by the tool handler to make the actual HTTP GET request to ShipStation's /shipments/{shipmentId} endpoint.async getShipment(shipmentId) { return this.request('GET', `/shipments/${shipmentId}`); }