Inventory Planner MCP by usefulapi
Read Inventory Planner forecasts, replenishment and purchase orders; create draft purchase orders.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (9)
- LOWin inventoryplanner_list_variant_vendors
- LOWin inventoryplanner_get_variant_vendor
- LOWin inventoryplanner_list_purchase_orders
- LOWin inventoryplanner_get_purchase_order
- LOWin inventoryplanner_list_purchase_order_items
- LOWin inventoryplanner_get_purchase_order_connections
- LOWin inventoryplanner_get_purchase_order_stock_update
- LOWin inventoryplanner_create_draft_purchase_order
- LOWin inventoryplanner_update_draft_purchase_order
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"inventory-planner": {
"url": "https://inventory-planner.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://inventory-planner.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (11)
🟢inventoryplanner_list_variants(fields, filters, sort, include_removed, page, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"fields": {
"type": "string",
"maxLength": 2000,
"pattern": "^[A-Za-z0-9_.,-]+$"
},
"filters": {
"description": "Filters, as {\"<field>\": value} or {\"<field>_<operator>\": value}. Operators: eq (default), eqi (case-insensitive), ne, gt, gte, lt, lte, range (\"5-10\"), match (regex), in (comma-separated). Example: {\"replenishment_gt\": 0, \"sku_match\": \"^TSHIRT\"}.",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"sort": {
"description": "Sort by one field, e.g. {\"field\": \"under_value\", \"direction\": \"desc\"}.",
"type": "object",
"properties": {
"field": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$"
},
"direction": {
"default": "asc",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"required": [
"field"
]
},
"include_removed": {
"type": "boolean"
},
"page": {
"description": "Page number, counting from 0 (default 0). Pass the previous reply's next_page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"limit": {
"description": "Results per page, 1-1000 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢inventoryplanner_get_variant(variant_id, fields)
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}.
Eingabe-Schema
{
"type": "object",
"properties": {
"variant_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Inventory Planner id."
},
"fields": {
"type": "string",
"maxLength": 2000,
"pattern": "^[A-Za-z0-9_.,-]+$"
}
},
"required": [
"variant_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢inventoryplanner_list_variant_vendors(variant_id)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"variant_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Inventory Planner id."
}
},
"required": [
"variant_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢inventoryplanner_get_variant_vendor(variant_id, vendor_id)
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}.
Eingabe-Schema
{
"type": "object",
"properties": {
"variant_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Inventory Planner id."
},
"vendor_id": {
"description": "The vendor name in lowercase, as listed by inventoryplanner_list_variant_vendors.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"variant_id",
"vendor_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢inventoryplanner_list_purchase_orders(fields, filters, sort, page, limit)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"fields": {
"type": "string",
"maxLength": 2000,
"pattern": "^[A-Za-z0-9_.,-]+$"
},
"filters": {
"description": "Filters, as {\"<field>\": value} or {\"<field>_<operator>\": value}. Operators: eq (default), eqi (case-insensitive), ne, gt, gte, lt, lte, range (\"5-10\"), match (regex), in (comma-separated). Example: {\"replenishment_gt\": 0, \"sku_match\": \"^TSHIRT\"}.",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"sort": {
"description": "Sort by one field, e.g. {\"field\": \"under_value\", \"direction\": \"desc\"}.",
"type": "object",
"properties": {
"field": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$"
},
"direction": {
"default": "asc",
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"required": [
"field"
]
},
"page": {
"description": "Page number, counting from 0 (default 0). Pass the previous reply's next_page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"limit": {
"description": "Results per page, 1-1000 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢inventoryplanner_get_purchase_order(purchase_order_id, fields)
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}.
Eingabe-Schema
{
"type": "object",
"properties": {
"purchase_order_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Inventory Planner id."
},
"fields": {
"type": "string",
"maxLength": 2000,
"pattern": "^[A-Za-z0-9_.,-]+$"
}
},
"required": [
"purchase_order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢inventoryplanner_list_purchase_order_items(purchase_order_id, fields, page, limit)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"purchase_order_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Inventory Planner id."
},
"fields": {
"type": "string",
"maxLength": 2000,
"pattern": "^[A-Za-z0-9_.,-]+$"
},
"page": {
"description": "Page number, counting from 0 (default 0). Pass the previous reply's next_page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"limit": {
"description": "Results per page, 1-1000 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
}
},
"required": [
"purchase_order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢inventoryplanner_get_purchase_order_connections(purchase_order_id)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"purchase_order_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Inventory Planner id."
}
},
"required": [
"purchase_order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢inventoryplanner_get_purchase_order_stock_update(purchase_order_id, for_destination)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"purchase_order_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Inventory Planner id."
},
"for_destination": {
"description": "true (default) = the destination warehouse; false = the source warehouse (transfers only).",
"type": "boolean"
}
},
"required": [
"purchase_order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡inventoryplanner_create_draft_purchase_order(vendor, warehouse, reference, expected_date, currency, ...)
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).
Eingabe-Schema
{
"type": "object",
"properties": {
"vendor": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The vendor name, as it appears in Inventory Planner."
},
"warehouse": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The destination warehouse, as it appears in Inventory Planner."
},
"reference": {
"description": "Your PO reference.",
"type": "string",
"maxLength": 200
},
"expected_date": {
"description": "Expected delivery date, e.g. 2026-11-15 or 2026-11-15T10:00:00+01:00.",
"type": "string",
"maxLength": 40
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
"notes": {
"type": "string",
"maxLength": 2000
},
"items": {
"minItems": 1,
"maxItems": 500,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Variant id."
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 10000000,
"description": "Quantity to order."
}
},
"required": [
"id",
"quantity"
]
}
}
},
"required": [
"vendor",
"warehouse",
"items"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴inventoryplanner_update_draft_purchase_order(purchase_order_id, reference, expected_date, notes)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"purchase_order_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Inventory Planner id."
},
"reference": {
"type": "string",
"maxLength": 200
},
"expected_date": {
"description": "Expected delivery date, e.g. 2026-11-15 or 2026-11-15T10:00:00+01:00.",
"type": "string",
"maxLength": 40
},
"notes": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"purchase_order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis