create_warehouse
Add a new warehouse location to ShipStation for managing inventory and fulfillment operations. Provide warehouse details as a JSON string to configure storage and shipping settings.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| warehouseData | Yes | JSON string containing the warehouse data |
Implementation Reference
- src/tools/warehouse-tools.js:49-63 (handler)The main handler function for the 'create_warehouse' tool. Parses the input JSON string, calls shipStationClient.createWarehouse, and returns the result as JSON or an error message.handler: async ({ warehouseData }) => { try { const parsedData = JSON.parse(warehouseData); const result = await shipStationClient.createWarehouse(parsedData); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: error.message }], isError: true }; } } },
- src/tools/warehouse-tools.js:46-48 (schema)Zod schema defining the input parameter 'warehouseData' as a JSON string.schema: { warehouseData: z.string().describe("JSON string containing the warehouse data") },
- src/server.js:174-191 (registration)Registration loop that spreads warehouseTools (among others) and registers each tool with the MCP server 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:123-125 (helper)ShipStationClient method that makes the POST request to '/warehouses' endpoint to create a warehouse.async createWarehouse(data) { return this.request('POST', '/warehouses', data); }