Sortly MCP by usefulapi
Search inventory items and folders, low-stock alerts, jobs and purchase orders, and update stock.
Connect it
Settings → Connectors → Add custom connector
URL: https://sortly.usefulapi.io/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://sortly.usefulapi.io/mcp{
"mcpServers": {
"sortly": {
"url": "https://sortly.usefulapi.io/mcp"
}
}
}claude mcp add --transport http sortly https://sortly.usefulapi.io/mcp{
"servers": {
"sortly": {
"type": "http",
"url": "https://sortly.usefulapi.io/mcp"
}
}
}20 tools, verified live
sortly_list_itemsread-onlyList items and folders, newest first. By default the root level; pass folder_id for a folder's direct contents, plus include_subfolders for everything nested under it. Paginated via meta.next_page_url / total_pages. Sortly: GET /api/v1/items.
sortly_get_itemread-onlyFetch a single item or folder by numeric id: quantity, min_quantity, price, tags, sid, barcodes, and optionally custom field values and photos. Sortly: GET /api/v1/items/{item_id}.
sortly_search_itemsread-onlySearch items and folders by name, optionally limited to items or folders and scoped to specific folders. Read-only despite being a POST. Paginated: send the same arguments with the next page number. Sortly: POST /api/v1/items/search.
sortly_list_recently_updated_itemsread-onlyList items and folders changed since a Unix timestamp — the incremental-sync read ('what moved since yesterday?'). Without updated_since it behaves like sortly_list_items. Sortly: GET /api/v1/items/recent.
sortly_list_custom_fieldsread-onlyList the account's custom fields (id, name, type, applies_to). Call this before writing custom_attribute_values to get the right custom_attribute_id. Sortly: GET /api/v1/custom_fields.
sortly_list_unitsread-onlyList the units of measure available to the account (unit_name, unit_type, scale) — the values measured_quantity and purchase-order lines expect. Sortly: GET /api/v1/units.
sortly_list_alertsread-onlyList stock (Quantity) and date (DateReminder) alerts, with is_fired showing which have already triggered — the quick way to find low-stock items. Sortly: GET /api/v1/alerts.
sortly_list_jobsread-onlyList jobs (work orders that pull stock out), most recently updated first, filterable by name prefix and status. Paginated via meta.pagination.has_next. Sortly: GET /api/v1/jobs.
sortly_get_jobread-onlyFetch a single job: status, folder_id (where its pulled items sit), dates, notes, custom field values and the version needed for updates. Sortly: GET /api/v1/jobs/{job_id}.
sortly_list_purchase_ordersread-onlyList purchase orders, most recently updated first, filterable by PO number and status. The list leaves out notes, terms, sub_total and line_items — use sortly_get_purchase_order for those. Needs Purchase Orders on the plan (else 402). Sortly: GET /api/v1/purchase_orders.
sortly_get_purchase_orderread-onlyFetch a single purchase order with its line_items (quantity vs received_quantity), vendor, addresses, charges, totals and version. Sortly: GET /api/v1/purchase_orders/{purchase_order_id}.
sortly_get_purchase_order_receive_statusread-onlyReport the most recent receive against a purchase order: pending / completed / failed, with the line ids received, pending and failed (and why). Returns 404 until something has been received. Sortly: GET /api/v1/purchase_orders/{purchase_order_id}/receive/status.
sortly_create_itemcan modifyCreate a trackable item (type item) or a folder (type folder), optionally inside a folder via parent_id, with quantity, price, tags, custom fields, barcodes and a measured quantity. WRITE. Sortly: POST /api/v1/items.
sortly_update_itemcan modifyChange fields on an existing item or folder — e.g. set a new quantity after a stock count, rename it, or relocate a folder via parent_id. Only the fields you pass change; pass null to clear a nullable field. Sending tags or custom_attribute_values replaces them. WRITE. Sortly: PUT /api/v1/items/{item_id} (returns 204).
sortly_move_itemcan modifyMove some or all of an item's quantity to another folder (items only — relocate a folder with sortly_update_item parent_id). A partial move splits off a new item with the same sid; a full move relocates the item; a matching item at the destination is merged, and the returned id is the destination's. Undo by moving it back. WRITE. Sortly: POST /api/v1/items/{item_id}/move.
sortly_create_alertcan modifyCreate a stock alert on an item (type Quantity, e.g. threshold_method quantity_less_than with threshold_value 5, or less_than_or_equal_to_min_quantity), or a DateReminder on a datetime custom field (custom_attribute_id + before/after/same_day + threshold_interval). WRITE. Sortly: POST /api/v1/alerts.
sortly_create_jobcan modifyCreate a job (and its job folder) in not_started status. Name must be unique in the company. Then use sortly_pull_items_into_job to record the stock it uses. WRITE. Sortly: POST /api/v1/jobs.
sortly_pull_items_into_jobcan modifyMove quantities of existing items (from any folders) into a job's folder — how usage on a job is recorded. Up to 100 items per call; items are processed independently, so ALWAYS check data.errors (a partial failure still returns 200). Undo with sortly_return_items_from_job. Returns 403 on a completed job. WRITE. Sortly: POST /api/v1/jobs/{job_id}/items.
sortly_return_items_from_jobcan modifyMove items off a job's folder back into inventory (destination_folder_id, or All Items if omitted). Up to 100 per call; check data.errors — items are processed one by one. WRITE. Sortly: POST /api/v1/jobs/{job_id}/items/return.
sortly_create_purchase_ordercan modifyCreate a purchase order in draft status (no stock or ordering happens until it is moved on in Sortly). Sortly computes amounts, sub_total and total from the lines; omit purchase_order_number to have one generated. Needs Purchase Orders on the plan (else 402). WRITE. Sortly: POST /api/v1/purchase_orders.
Alternatives in Finance & Payments
Compare →KSKenwea — Sandbox Attestation & Agent MarketplaceB
Signed sandbox verdicts on any artifact, plus an agent marketplace. No key, no signup, no payment.
CHChurnkeyB
Read and manage Churnkey cancel flows, retention metrics, and payment recovery
RORoboSystemsB
Accounting knowledge graphs: SEC XBRL filings, QuickBooks ledgers, reports and forecasts over MCP.
AFArcadia FinanceB
Concentrated liquidity on Uniswap/Aerodrome (rebalance, compound, leverage) or single-sided lending.
Banco Central do Brasil (BCB) — SGS Time Series MCP ServerB
Banco Central do Brasil (BCB): SGS series, Focus expectations, PTAX, stats + provenance. 17 tools.
ATAgent402.Tools: pay-per-call web toolsB
Agentic Finance: 500+ agent tools, multi-chain USDC over x402 or MPP, or free via proof-of-work