Skip to main content
Glama
mattcoatsworth

ShipStation API MCP Server

list_shipments

Retrieve filtered and sorted shipment data from ShipStation API, including pagination options, recipient details, and date ranges for creation or shipping.

Input Schema

NameRequiredDescriptionDefault
createDateEndNoFilter by creation date (end)
createDateStartNoFilter by creation date (start)
orderIdNoFilter by order ID
pageNoPage number
pageSizeNoNumber of shipments per page (max 500)
recipientNameNoFilter by recipient name
shipDateEndNoFilter by ship date (end)
shipDateStartNoFilter by ship date (start)
sortByNoSort shipments by a specific field
sortDirNoSort direction

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "createDateEnd": { "description": "Filter by creation date (end)", "type": "string" }, "createDateStart": { "description": "Filter by creation date (start)", "type": "string" }, "orderId": { "description": "Filter by order ID", "type": "number" }, "page": { "description": "Page number", "type": "number" }, "pageSize": { "description": "Number of shipments per page (max 500)", "type": "number" }, "recipientName": { "description": "Filter by recipient name", "type": "string" }, "shipDateEnd": { "description": "Filter by ship date (end)", "type": "string" }, "shipDateStart": { "description": "Filter by ship date (start)", "type": "string" }, "sortBy": { "description": "Sort shipments by a specific field", "type": "string" }, "sortDir": { "description": "Sort direction", "enum": [ "ASC", "DESC" ], "type": "string" } }, "type": "object" }

Implementation Reference

  • The handler function for the 'list_shipments' MCP tool. It invokes the ShipStation API client to fetch shipments based on provided parameters and returns formatted JSON response or error.
    handler: async (params) => { try { const shipments = await shipStationClient.getShipments(params); return { content: [{ type: "text", text: JSON.stringify(shipments, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: error.message }], isError: true }; } }
  • Input schema using Zod for validating parameters to the 'list_shipments' tool, including pagination, sorting, and filtering options.
    schema: { page: z.number().optional().describe("Page number"), pageSize: z.number().optional().describe("Number of shipments per page (max 500)"), sortBy: z.string().optional().describe("Sort shipments by a specific field"), sortDir: z.enum(["ASC", "DESC"]).optional().describe("Sort direction"), recipientName: z.string().optional().describe("Filter by recipient name"), createDateStart: z.string().optional().describe("Filter by creation date (start)"), createDateEnd: z.string().optional().describe("Filter by creation date (end)"), shipDateStart: z.string().optional().describe("Filter by ship date (start)"), shipDateEnd: z.string().optional().describe("Filter by ship date (end)"), orderId: z.number().optional().describe("Filter by order ID") },
  • src/server.js:173-191 (registration)
    Bulk registration of all ShipStation tools, including 'list_shipments' from shipmentTools array, using the MCP server's tool() method.
    // Register all tools [ ...orderTools, ...shipmentTools, ...carrierTools, ...warehouseTools, ...productTools, ...customerTools, ...storeTools, ...webhookTools, ...fulfillmentTools ].forEach(tool => { server.tool( tool.name, tool.schema, tool.handler, { description: tool.description } ); });
  • ShipStationClient helper method that makes the API GET request to /shipments endpoint with query parameters, used by the tool handler.
    async getShipments(params) { return this.request('GET', '/shipments', null, params); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mattcoatsworth/shipstation-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server