io.usefulapi/extensiv · v1.0.1 · ecommerce
Extensiv MCP by usefulapi is healthy: it completed an MCP handshake in 568 ms and exposes 16 tools.
Read Extensiv warehouse records, create outbound orders and cancel eligible orders.
Endpoint: https://extensiv.usefulapi.io/mcp (streamable-http)
Repository · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 16 |
| Latency | 568 ms |
| Last checked (UTC) | 2026-10-31T01:20:20.472Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-31T01:20:20.472Z | Healthy | 568 |
extensiv_list_facilities | List the warehouse's facilities with their ids and properties (facility ids are needed for orders, stock details and receivers). GET /properties/facilities. |
extensiv_list_carriers | List the carriers with their shipment services (modes) and billing codes, the values an order's routingInfo and billingCode must use. GET /properties/carriers. |
extensiv_list_customers | List the warehouse's customers (the companies whose goods it stores), with their customer ids. GET /customers. |
extensiv_get_customer | One customer by customer id: company info, contacts and settings. GET /customers/{customer_id}. |
extensiv_list_items | List the items (SKUs) of one customer, with item ids, descriptions and units. Filter with rql, for example `sku==ABC-1`. GET /customers/{customer_id}/items. |
extensiv_list_orders | List outbound orders matching an RQL filter, for example `ReadOnly.CustomerIdentifier.id==1` or `readonly.processDate=gt=2026-10-01T00:00:00` (orders closed after that time). Use detail=OrderItems to include the line items. Orders carry the ship-to name, address and contact details (personal data). |
extensiv_get_order | One order by its transaction id (the order id from extensiv_list_orders): status, ship-to, routing, and with detail=OrderItems the lines. GET /orders/{transaction_id}. |
extensiv_list_stock_summaries | Inventory totals per item and facility (on hand, allocated, available). Filter with rql, for example `ItemId==123` or a customer filter. GET /inventory/stocksummaries. |
extensiv_list_inventory | Inventory detail lines (location, lot, quantities). Filter with rql, for example `itemIdentifier.sku==SF-Box-DG`. GET /inventory. |
extensiv_list_stock_details | All inventory of one customer in one facility, broken out by receive item (lot number, serial number and other track-by values). Both ids are required. GET /inventory/stockdetails. |
extensiv_list_receivers | List inbound receivers (receipts of goods), for example `ReadOnly.CustomerIdentifier.id==1`. Use detail=ReceiveItems for the lines. GET /inventory/receivers. |
extensiv_get_receiver | One receiver by its transaction id. GET /inventory/receivers/{transaction_id}. |
extensiv_list_receiver_items | The line items of one receiver, with item details. GET /inventory/receivers/{transaction_id}/items. |
extensiv_list_purchase_orders | List inbound purchase orders per customer. Filter with rql, sort with sort. GET /inventory/pos. |
extensiv_create_order | WRITE: submit a new outbound order for a customer and facility (the warehouse will pick and ship it). Not idempotent: calling twice creates two orders, so check extensiv_list_orders for the reference_num first. Needs ids from extensiv_list_customers, extensiv_list_facilities and SKUs from extensiv_l |
extensiv_cancel_order | WRITE: cancel one order by transaction id, with a reason and an optional cancellation fee. This cannot be undone; the order must be in a state the warehouse can still cancel (otherwise Extensiv answers with an error). The tool first reads the order to get the ETag Extensiv requires (If-Match). POST |