Inventory Planner MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi
Read Inventory Planner forecasts, replenishment and purchase orders; create draft purchase orders.
11 tools: 1 can delete or cancel things, 1 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http inventory-planner https://inventory-planner.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
11 tools
Deletes or cancels 1Claude Code: deny
inventoryplanner_update_draft_purchase_orderWRITE: change the reference, expected date or notes of a purchase order that is still a draft (PATCH /api/v1/purchase-orders/{id}).No findings
Why it is in this group
- The name "inventoryplanner_update_draft_purchase_order" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: change the reference, expected date or notes of a purchase order that is still a draft (PATCH /api/v1/purchase-orders/{id}). The order is read first and refused unless its status is "draft". It never changes the status, sends the order, or touches line items or received quantities.
Annotations the server declares
- title: Edit draft purchase order
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Changes things 1Claude Code: ask
inventoryplanner_create_draft_purchase_orderWRITE: create a purchase order with status "draft" in Inventory Planner (POST /api/v1/purchase-orders).No findings
Why it is in this group
- The name "inventoryplanner_create_draft_purchase_order" says "create": a word for a change.
Description, as the server wrote it WRITE: create a purchase order with status "draft" in Inventory Planner (POST /api/v1/purchase-orders). A draft is only a plan inside Inventory Planner: it is NOT sent to the vendor, NOT saved to any connected system and moves no stock or money. Purchase orders only (no transfers or assembly orders). Each line item is a variant id plus the quantity to order (replenishment).
Annotations the server declares
- title: Create draft purchase order
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 9Claude Code: allow
inventoryplanner_get_purchase_orderOne purchase order, transfer or assembly order by id, with its header fields (reference, status, vendor, warehouse, dates, addresses, totals, notes) and line items.No findings
Why it is in this group
- The name "inventoryplanner_get_purchase_order" says "get": a word for reading.
Description, as the server wrote it One purchase order, transfer or assembly order by id, with its header fields (reference, status, vendor, warehouse, dates, addresses, totals, notes) and line items. GET /api/v1/purchase-orders/{id}.
Annotations the server declares
- title: Get purchase order
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
inventoryplanner_get_purchase_order_connectionsWhether and how a purchase order was saved to connected systems (ERP, accounting): per connection the status (success, error, run, queued), save_po flag and the PO's id and referen…No findings
Why it is in this group
- The name "inventoryplanner_get_purchase_order_connections" says "get": a word for reading.
Description, as the server wrote it Whether and how a purchase order was saved to connected systems (ERP, accounting): per connection the status (success, error, run, queued), save_po flag and the PO's id and reference there. Read-only. GET /api/v1/purchase-orders/{id}/connections.
Annotations the server declares
- title: Get purchase order connections
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
inventoryplanner_get_purchase_order_stock_updateThe stock updates a purchase order has computed: per warehouse (wh) the items with stock_before, delta and error.No findings
Why it is in this group
- The name "inventoryplanner_get_purchase_order_stock_update" says "get": a word for reading.
Description, as the server wrote it The stock updates a purchase order has computed: per warehouse (wh) the items with stock_before, delta and error. for_destination false reads the source warehouse of a transfer. Read-only: nothing is pushed. GET /api/v1/purchase-orders/{id}/stock-update.
Annotations the server declares
- title: Get purchase order stock update
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
inventoryplanner_get_variantOne variant by its Inventory Planner id, with the metrics named in `fields` (default: id,sku,lead_time,review_period,replenishment,oos,under_value).No findings
Why it is in this group
- The name "inventoryplanner_get_variant" says "get": a word for reading.
Description, as the server wrote it One variant by its Inventory Planner id, with the metrics named in `fields` (default: id,sku,lead_time,review_period,replenishment,oos,under_value). GET /api/v1/variants/{id}.
Annotations the server declares
- title: Get variant
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
inventoryplanner_get_variant_vendorOne vendor's terms for a variant: cost_price, landing_cost_price, vendor_reference, vendor_name, vendor_packaging (MOQ), uom_ordering.No findings
Why it is in this group
- The name "inventoryplanner_get_variant_vendor" says "get": a word for reading.
Description, as the server wrote it One vendor's terms for a variant: cost_price, landing_cost_price, vendor_reference, vendor_name, vendor_packaging (MOQ), uom_ordering. vendor_id is the vendor name in lowercase. GET /api/v1/variants/{id}/vendors/{vendor_id}.
Annotations the server declares
- title: Get variant vendor
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
inventoryplanner_list_purchase_order_itemsThe line items of a purchase order: variant id, sku, title, ordered quantity (replenishment), received quantity and received_history, cost price, tax, discount and stock snapshots.No findings
Why it is in this group
- The name "inventoryplanner_list_purchase_order_items" says "list": a word for reading.
Description, as the server wrote it The line items of a purchase order: variant id, sku, title, ordered quantity (replenishment), received quantity and received_history, cost price, tax, discount and stock snapshots. GET /api/v1/purchase-orders/{id}/items.
Annotations the server declares
- title: List purchase order items
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
inventoryplanner_list_purchase_ordersList stock orders: purchase orders, transfers and assembly orders (the `type` field is "po"/empty, "transfer" or "assembly").No findings
Why it is in this group
- The name "inventoryplanner_list_purchase_orders" says "list": a word for reading.
Description, as the server wrote it List stock orders: purchase orders, transfers and assembly orders (the `type` field is "po"/empty, "transfer" or "assembly"). Filter with `filters`, e.g. {"status": "OPEN", "vendor": "Acme", "expected_date_lt": "2026-11-01"}. Default fields: id,reference,status,type,vendor,warehouse,source,created_date,expected_date,received_date,currency,total,total_ordered,total_received. GET /api/v1/purchase-orders.
Annotations the server declares
- title: List purchase orders
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
inventoryplanner_list_variant_vendorsThe vendors a variant can be ordered from, with cost_price, landing_cost_price, vendor_reference (vendor SKU), vendor_name, vendor_packaging (MOQ) and uom_ordering.No findings
Why it is in this group
- The name "inventoryplanner_list_variant_vendors" says "list": a word for reading.
Description, as the server wrote it The vendors a variant can be ordered from, with cost_price, landing_cost_price, vendor_reference (vendor SKU), vendor_name, vendor_packaging (MOQ) and uom_ordering. GET /api/v1/variants/{id}/vendors.
Annotations the server declares
- title: List variant vendors
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
inventoryplanner_list_variantsList product variants with Inventory Planner's computed metrics (forecast, replenishment, days to sell out, lost revenue, lead time, review period and ~200 more).No findings
Why it is in this group
- The name "inventoryplanner_list_variants" says "list": a word for reading.
Description, as the server wrote it List product variants with Inventory Planner's computed metrics (forecast, replenishment, days to sell out, lost revenue, lead time, review period and ~200 more). Always pass `fields` to pick the metrics you need (default: id,sku,lead_time,review_period,replenishment,oos,under_value; oos = forecasted days to sell out, under_value = forecasted lost revenue, replenishment = recommended order quantity). Use `filters` and `sort` for questions like "which SKUs need reordering". Removed variants are excluded unless include_removed. GET /api/v1/variants.
Annotations the server declares
- title: List variants
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.3.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http inventory-planner https://inventory-planner.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__inventory-planner__inventoryplanner_list_variants",
"mcp__inventory-planner__inventoryplanner_get_variant",
"mcp__inventory-planner__inventoryplanner_list_variant_vendors",
"mcp__inventory-planner__inventoryplanner_get_variant_vendor",
"mcp__inventory-planner__inventoryplanner_list_purchase_orders",
"mcp__inventory-planner__inventoryplanner_get_purchase_order",
"mcp__inventory-planner__inventoryplanner_list_purchase_order_items",
"mcp__inventory-planner__inventoryplanner_get_purchase_order_connections",
"mcp__inventory-planner__inventoryplanner_get_purchase_order_stock_update"
],
"ask": [
"mcp__inventory-planner__inventoryplanner_create_draft_purchase_order"
],
"deny": [
"mcp__inventory-planner__inventoryplanner_update_draft_purchase_order"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as inventory-planner. Review it before you use it.