mcpbeat Sign in

Simple Inventory Management MCP Server

answering

Simple Inventory Management is answering right now. Last checked 9 min ago. It exposes 31 tools.

Read and update live small-business inventory, suppliers, reorder suggestions and purchase orders.

Uptime history 4 days of history
4 days agonow
100.0%
Uptime 24h
91 of 91 checks
31
Tools
read from the server
575 ms
Response time
average over 24h
open, no key
Access
streamable-http

Nothing serious here today

Today is the operative word: we check Simple Inventory Management every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 9 min ago.

run in your terminal
claude mcp add simple-inventory-management --transport http https://simpleinventorymanagement.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://simpleinventorymanagement.com/mcp
~/.codex/config.toml
[mcp_servers.simple-inventory-management]
url = "https://simpleinventorymanagement.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "simple-inventory-management": {
      "url": "https://simpleinventorymanagement.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "simple-inventory-management": {
      "type": "http",
      "url": "https://simpleinventorymanagement.com/mcp"
    }
  }
}

Available tools 31

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

inventory
add_inventory_unit
Adds a stock line to an inventory item. Provide inventory item id, name, optional identifier (serial, lot code, or other label), quantity (default 1), and status (InStock, Ordered, Outbound, Damaged). Use quantity greater than 1 for fungible groups (e.g. 5 of the same lot). An item can track at most 500 stock lines. Returns the created line.
delete_inventory_item
Delete a given inventory item by Id. Returns true if success.
get_inventory
Gets all items in inventory that belong to the users company. Inventory items have a name, id, value (cost), stock, and other parameters. Quantities are decimals. When an item has a unit (e.g. "kg", "lb", "ml") every quantity on it (inventoryCount, onOrderCount, damagedCount, toShipCount) is measured in that unit; when unit is null the item is counted in discrete pieces.
get_inventory_item_custom_fields
Gets the custom field values set on a given inventory item by its id. Returns each field's name, value, and whether it is shown as a column in the inventory table.
list_inventory_units
Lists the stock lines of an inventory item by its id. Each line has a name, optional identifier (serial), quantity, status (InStock, Ordered, Outbound, Damaged), and may hold unit custom fields such as lot number. Item totals are the sum of line quantities by status.
remove_inventory_item_custom_field
Removes a custom field value from an inventory item by item id and field name. The reusable field definition itself is left in place for other items. Returns true if a value was removed.
remove_inventory_unit
Removes a stock line by its unit id. The parent item's stock totals are recomputed from remaining lines. Returns true if a line was removed.
set_inventory_item_custom_field
Sets (creates or updates) a custom field value on an inventory item. Provide the inventory item id, the field name (an existing field with that name is reused, otherwise a new field is created for the company), and the value. showInTable is a per-field, company-wide setting: true shows the field as a column in the inventory table for every item, false hides it. Returns the saved field.
set_inventory_item_custom_field_by_name
Sets (creates or updates) a custom field on an inventory item referenced by its name instead of its id, so you can act on a request like "set the roast level for regular beans to Dark" in one step. Provide the item name (matched within the user's company), the field name (an existing field with that name is reused, otherwise created), and the value. showInTable is a per-field, company-wide setting: true shows the field as a column for every item. If the name matches no item or more than one, the result explains what happened and lists candidates so you can confirm with the user.
set_inventory_unit_identifier
Sets (or changes) the identifier of a stock line by its unit id. The identifier is a free-form label: serial number, asset tag, lot code, or similar. Pass an empty value to clear it. Does not change quantity. Returns the updated unit.
set_inventory_unit_status
Sets the status of an entire stock line by unit id (moves the full quantity). Status accepts InStock, Ordered, Outbound or Damaged. For moving only part of a line's quantity, use move_inventory_unit_quantity instead. Returns the updated line.
image
get_image_upload_link
Creates a one-time upload link for an inventory item's photo or the company logo, valid for 15 minutes and for one upload. Best for full-size photos. Two ways to use it: (1) if you can run code and your sandbox can reach this server, POST the image file to the link as multipart/form-data with the field name "file" (for example: requests.post(link, files={"file": open(path, "rb")})); the response is JSON saying whether it worked. (2) Otherwise give the link to the user: opening it on a phone shows a page to take or choose a photo. If a POST fails with a network or proxy error, your sandbox is blocked from this domain, so fall back to giving the user the link (or to set_image_from_base64).
set_image_from_base64
Sets an inventory item's photo or the company logo from a small image sent inline as base64. Use this for a photo the user pasted into the chat when you can run code on the file but your sandbox can't reach this server (otherwise prefer get_image_upload_link, which keeps the full-size photo). Shrink the image first: the decoded image must be 150 KB or less. In Python: from PIL import Image; import io, base64, hashlib; im = Image.open(path); im.thumbnail((512, 512)); buf = io.BytesIO(); im.convert("RGB").save(buf, "JPEG", quality=80); data = buf.getvalue(); print(hashlib.sha256(data).hexdigest()); print(base64.b64encode(data).decode()). Copy the base64 exactly and pass the SHA-256 too, so a copying slip is caught instead of saving a broken image.
set_image_from_url
Sets an inventory item's photo or the company logo from an image on the web (for example a manufacturer's product photo). The server downloads the image itself, so nothing large passes through the conversation. Only public https:// addresses that return a JPEG, PNG, WebP, GIF or BMP image (up to 15 MB) work. For a photo the user pasted into the chat, use set_image_from_base64 or get_image_upload_link instead.
edit
edit_inventory_item
Edit an existing inventory item. If field is not to be changed then leave null. Id field is required. Counts are absolute new values in the item unit of measure (decimals allowed, e.g. 2.5 for 2.5 kg). Set unit to change the unit label (e.g. "kg"); it does not convert existing quantities.
edit_inventory_item_name
Edit the name of an existing inventory item by Id
unit
list_unit_custom_fields
Lists custom field values on a stock line (inventory unit) by unit id. Use for lot number, expiry, and other per-line attributes.
set_unit_custom_field
Sets (creates or updates) a custom field on a stock line by unit id. Field names are reused company-wide; new names are created with Unit scope. showInTable shows the field as a column on unit lists. Returns the saved field.
custom
list_custom_fields
Lists the reusable custom field definitions for the user's company. Custom fields hold extra per-item details such as lot number, expiry date, serial number, color or bin location. Call this before setting a field so you reuse an existing field name instead of creating a near-duplicate.
deleted
list_deleted_inventory_items
Lists the inventory items that were deleted in the user's company, newest first, with when and by whom. Deleted items keep their history and can be brought back with restore_inventory_item.
generate
generate_purchase_orders
Create draft inbound purchase orders for every item at or below its reorder point, grouped by preferred supplier. Returns how many orders and lines were created. The orders are drafts; complete them in the app when the stock arrives.
item
find_item_by_barcode
Find an inventory item by its barcode (UPC, EAN, or Code 128 / SKU value) within the user's company. Returns the matching item or an error if none matches.
move
move_inventory_unit_quantity
Moves a quantity from a stock line to another status. If quantity is less than the line's quantity, the line is split (lot/custom fields are copied onto the new line). Use this for partial ship/receive of a lot line. Status accepts InStock, Ordered, Outbound or Damaged. Returns the line that holds the moved quantity.
new
create_new_inventory_item
Create a new inventory item by name, and return the object with the id of the new inventory item. Pass an optional unit of measure (e.g. "kg", "lb", "g", "ml", "L") for items tracked by weight or volume; leave it null for items counted in pieces.
order
create_order
Create a new order for the company. Use Type "Inbound" to restock items from a supplier (the default) or "Outbound" to ship items out. Supply a name and the line items to order (each line is an inventory item plus a count). Identify each line's item by inventoryItemId (from get_inventory) or by itemName. Items not listed are still added to the order with a count of zero, just like creating an order in the app. Setting a count increases the item's on-order amount (Inbound) or outbound amount (Outbound); finishing the delivery is done separately when the order is completed.
reorder
get_reorder_suggestions
List inventory items that are at or below their reorder point, with the suggested quantity to order (in the item unit of measure when it has one) and the preferred supplier.
restore
restore_inventory_item
Restores a deleted inventory item by Id (see list_deleted_inventory_items), with its counts, units, custom field values and history. Order lines and assembly parts removed by the delete are not restored. Returns the restored item.
supplier
create_supplier
Create a supplier for the company by name (other contact details optional). Returns the new supplier id.
suppliers
list_suppliers
List the company's suppliers (id, name, email, phone, lead time in days).
take
take_inventory_snapshot
Take a reconciliation snapshot of the company's current inventory. This captures the current count, on-order, damaged, in-use, and value of every inventory item at this moment in time so it can be reviewed or compared later. Provide a name (for example a date or audit label) and optional notes.
units
find_units_by_custom_field
Finds stock lines across the company where a unit custom field matches a value (case-insensitive contains). Use for lot recalls: fieldName "Lot #" and value "abc123". Returns item name, unit id, quantity, status, and the field value.

Endpoints

URLTransportStateLatencyChecked
https://simpleinventorymanagement.com/mcp streamable-http answering 576 ms 9 min ago

Alternatives to Simple Inventory Management

same job, measured the same way
Spark Inventory
by sparkinventory

AI inventory management: stock, Demand ESP reorder recommendations and purchase orders.

answering
Inventory Planner MCP by usefulapi
by usefulapi

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

11 tools answering
Three Way Match
by theluckystrike

Match supplier invoice lines against purchase orders and accepted receipts by SKU, locally.

local only
Supplier Invoice Matching
by theluckystrike

Match supplier invoice lines against purchase orders and accepted receipts by SKU, locally.

local only
Purchase Order
by theluckystrike

Purchase orders for suppliers: VAT line items, a delivery date, an A4 PDF, mark received.

16 tools local only
Finale Inventory MCP by usefulapi
by usefulapi

Read Finale Inventory products, stock, orders and shipments; create draft purchase orders.

13 tools answering
SOS Inventory MCP by usefulapi
by usefulapi

Read SOS Inventory stock and orders; create customers, items and purchase or sales orders.

19 tools answering
TourMind Booking MCP
by tourmind-com

Business hotel search, live rates, booking, order management, and payment via TourMind.

answering

Simple Inventory Management — questions

Answers built from our own checks of this server.

What can Simple Inventory Management do?
It exposes 31 tools, read directly from the server on our last check. Among them: add_inventory_unit, create_new_inventory_item, create_order, create_supplier, delete_inventory_item, edit_inventory_item and 25 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Simple Inventory Management mostly used for?
Its tools cluster around inventory, image and unit. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Simple Inventory Management working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 575 ms. The bar chart above shows every period we have measured.
How do I connect Simple Inventory Management?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Simple Inventory Management need an API key?
No. Simple Inventory Management completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 31 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Simple Inventory Management?
It answers our handshake in 575 ms on average, which is faster than 19% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.