Skip to content

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.

Deletes · 1Changes · 1

11 tools: 1 can delete or cancel things, 1 change things and 9 only read.

Scanned Oct 21, 2026

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/mcp

Tools

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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.