adjust_inventory
Update product inventory levels in ShipBob fulfillment centers by adding or reducing stock quantities with specified reasons.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| productId | Yes | The ID of the product to adjust | |
| fulfillmentCenterId | Yes | The ID of the fulfillment center | |
| quantity | Yes | Quantity to adjust (positive for addition, negative for reduction) | |
| reason | Yes | Reason for the adjustment |
Implementation Reference
- src/tools/inventory-tools.js:88-108 (handler)Executes the adjust_inventory tool logic: constructs adjustment data and calls shipbobClient.adjustInventory API method, handles response or error.handler: async ({ productId, fulfillmentCenterId, quantity, reason }) => { try { const adjustmentData = { productId, fulfillmentCenterId, quantity, reason }; const result = await shipbobClient.adjustInventory(adjustmentData); return { content: [{ type: "text", text: `Inventory adjusted successfully: ${JSON.stringify(result, null, 2)}` }] }; } catch (error) { return { content: [{ type: "text", text: `Error adjusting inventory: ${error.message}` }], isError: true }; }
- src/tools/inventory-tools.js:82-86 (schema)Zod input schema for adjust_inventory tool parameters.schema: { productId: z.string().describe("The ID of the product to adjust"), fulfillmentCenterId: z.string().describe("The ID of the fulfillment center"), quantity: z.number().describe("Quantity to adjust (positive for addition, negative for reduction)"), reason: z.string().describe("Reason for the adjustment")
- src/server.js:52-52 (registration)Registers the inventoryTools array (containing adjust_inventory) with the MCP server via the registerTools helper function.registerTools(inventoryTools);
- src/api-client.js:101-103 (helper)ShipBobClient helper method that sends POST request to ShipBob API endpoint for inventory adjustment.async adjustInventory(adjustmentData) { return this.request('POST', '/inventory/adjustments', adjustmentData); }