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

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
93%
Qualität der Benennung
64%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (9)

  • LOWTool 'inventoryplanner_list_variant_vendors' name length outside 3-30 rangein inventoryplanner_list_variant_vendors
  • LOWTool 'inventoryplanner_get_variant_vendor' name length outside 3-30 rangein inventoryplanner_get_variant_vendor
  • LOWTool 'inventoryplanner_list_purchase_orders' name length outside 3-30 rangein inventoryplanner_list_purchase_orders
  • LOWTool 'inventoryplanner_get_purchase_order' name length outside 3-30 rangein inventoryplanner_get_purchase_order
  • LOWTool 'inventoryplanner_list_purchase_order_items' name length outside 3-30 rangein inventoryplanner_list_purchase_order_items
  • LOWTool 'inventoryplanner_get_purchase_order_connections' name length outside 3-30 rangein inventoryplanner_get_purchase_order_connections
  • LOWTool 'inventoryplanner_get_purchase_order_stock_update' name length outside 3-30 rangein inventoryplanner_get_purchase_order_stock_update
  • LOWTool 'inventoryplanner_create_draft_purchase_order' name length outside 3-30 rangein inventoryplanner_create_draft_purchase_order
  • LOWTool 'inventoryplanner_update_draft_purchase_order' name length outside 3-30 rangein inventoryplanner_update_draft_purchase_order

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,925Tokens (Tool-Definitionen)
~1.7 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.29% von 128k Kontext)

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

Was es kann

Tool-Inventar

Tools (11)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet11 Tools