Skip to main content
Glama
mattcoatsworth

ShipStation API MCP Server

subscribe_to_webhook

Subscribe to receive automated notifications about specific events from the ShipStation API by registering a webhook URL for order or shipment updates.

Input Schema

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

Implementation Reference

  • The MCP tool handler for 'subscribe_to_webhook'. Prepares the request data and delegates to the ShipStation API client.
    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 defining parameters for the subscribe_to_webhook tool: targetUrl (required URL), event (required string), storeId (optional 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)
    Tool registration block in MCP server where webhookTools (containing subscribe_to_webhook) is spread into the array and each tool is registered 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 }
      );
    });
  • ShipStationClient helper method that performs the actual 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