Skip to main content
Glama
mattcoatsworth

ShipStation API MCP Server

subscribe_to_webhook

Subscribe to specific events in the ShipStation API by providing a target URL and event type. Receive real-time notifications for updates like orders or shipments directly to your endpoint.

Input Schema

NameRequiredDescriptionDefault
eventYesEvent to subscribe to (e.g., ORDER_NOTIFY, SHIP_NOTIFY)
storeIdNoStore ID to filter events (optional)
targetUrlYesURL to receive webhook notifications

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "event": { "description": "Event to subscribe to (e.g., ORDER_NOTIFY, SHIP_NOTIFY)", "type": "string" }, "storeId": { "description": "Store ID to filter events (optional)", "type": "number" }, "targetUrl": { "description": "URL to receive webhook notifications", "format": "uri", "type": "string" } }, "required": [ "targetUrl", "event" ], "type": "object" }

Implementation Reference

  • The MCP tool handler function for 'subscribe_to_webhook'. It processes input parameters, calls the ShipStation API client method, and formats the success or error response.
    handler: async ({ targetUrl, event, storeId }) => { try { const data = { targetUrl, event, ...(storeId && { storeId }) }; const result = await shipStationClient.subscribeToWebhook(data); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: error.message }], isError: true }; } }
  • Zod input schema for the 'subscribe_to_webhook' tool, validating targetUrl as URL, event as string, and optional storeId as number.
    schema: { targetUrl: z.string().url().describe("URL to receive webhook notifications"), event: z.string().describe("Event to subscribe to (e.g., ORDER_NOTIFY, SHIP_NOTIFY)"), storeId: z.number().optional().describe("Store ID to filter events (optional)") },
  • src/server.js:174-191 (registration)
    Final registration of all MCP tools, including those from webhookTools (containing 'subscribe_to_webhook'), by spreading tool arrays and calling server.tool() for each.
    [ ...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 executes the POST request to the ShipStation API endpoint '/webhooks/subscribe'.
    async subscribeToWebhook(data) { return this.request('POST', '/webhooks/subscribe', data); }

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