Inventory Planner MCP by usefulapi

Read Inventory Planner forecasts, replenishment and purchase orders; create draft purchase orders.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
93%
이름 품질
64%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (9)

  • LOWTool 'inventoryplanner_list_variant_vendors' name length outside 3-30 rangeinventoryplanner_list_variant_vendors에서
  • LOWTool 'inventoryplanner_get_variant_vendor' name length outside 3-30 rangeinventoryplanner_get_variant_vendor에서
  • LOWTool 'inventoryplanner_list_purchase_orders' name length outside 3-30 rangeinventoryplanner_list_purchase_orders에서
  • LOWTool 'inventoryplanner_get_purchase_order' name length outside 3-30 rangeinventoryplanner_get_purchase_order에서
  • LOWTool 'inventoryplanner_list_purchase_order_items' name length outside 3-30 rangeinventoryplanner_list_purchase_order_items에서
  • LOWTool 'inventoryplanner_get_purchase_order_connections' name length outside 3-30 rangeinventoryplanner_get_purchase_order_connections에서
  • LOWTool 'inventoryplanner_get_purchase_order_stock_update' name length outside 3-30 rangeinventoryplanner_get_purchase_order_stock_update에서
  • LOWTool 'inventoryplanner_create_draft_purchase_order' name length outside 3-30 rangeinventoryplanner_create_draft_purchase_order에서
  • LOWTool 'inventoryplanner_update_draft_purchase_order' name length outside 3-30 rangeinventoryplanner_update_draft_purchase_order에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,925토큰 (도구 정의)
~1.7 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.29%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "inventory-planner": {
      "url": "https://inventory-planner.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://inventory-planner.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (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.

입력 스키마

{
  "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}.

입력 스키마

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

입력 스키마

{
  "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}.

입력 스키마

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

입력 스키마

{
  "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}.

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

{
  "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).

입력 스키마

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

입력 스키마

{
  "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"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 11개