Inventory Planner MCP by usefulapi
Read Inventory Planner forecasts, replenishment and purchase orders; create draft purchase orders.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (9)
- LOWen inventoryplanner_list_variant_vendors
- LOWen inventoryplanner_get_variant_vendor
- LOWen inventoryplanner_list_purchase_orders
- LOWen inventoryplanner_get_purchase_order
- LOWen inventoryplanner_list_purchase_order_items
- LOWen inventoryplanner_get_purchase_order_connections
- LOWen inventoryplanner_get_purchase_order_stock_update
- LOWen inventoryplanner_create_draft_purchase_order
- LOWen inventoryplanner_update_draft_purchase_order
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"inventory-planner": {
"url": "https://inventory-planner.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://inventory-planner.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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).
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}Comunidad
Evidencia