Skip to main content
Glama

SOS Inventory MCP by usefulapi

Create item

sosinventory_create_item

WRITE: creates a new inventory item. Optionally books initial stock: SOS then creates an inventory adjustment for the quantity at the given location. Item names must be unique within their category: check sosinventory_list_items first. POST /api/v2/item.

Input Schema

NameRequiredDescriptionDefault
skuNo
nameYesItem name.
typeNoItem type (SOS's default applies when omitted).
vendorNoDefault vendor.
barcodeNo
taxableNo
categoryNoExisting category (a category cannot be created here).
descriptionNo
initial_valueNoTotal value of the opening stock.
purchase_costNoPurchase cost per unit.
reorder_pointNo
base_sales_priceNoSales price per unit.
initial_locationNoLocation name that receives the opening stock (type=location).
initial_quantityNoOpening stock. Needs initial_location; SOS books an adjustment for it.
initial_quantity_dateNoDate of the opening stock (YYYY-MM-DDTHH:MM:SS).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true; the description adds real behavioral context on top by disclosing the hidden side effect that supplying a quantity causes SOS to create an inventory adjustment at the location. It omits permission/auth requirements and the non-idempotent consequence of retrying (duplicate items), which the annotation only flags without explaining.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the WRITE marker so the agent knows the mutation class immediately, then effect, then precondition. Nothing is padded and the endpoint is a useful trailing detail rather than a lead-in.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter creation tool with no output schema, the description covers the flow and the notable side effect well. What it never addresses is what comes back — whether the new item's id is returned so the agent can chain into sosinventory_get_item or a stock operation — which is the one real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% and the description adds only one genuinely new fact — the category-scoped uniqueness constraint on name — plus a soft restatement of the initial_quantity/initial_location dependency already documented in the schema. The remaining 15 parameters, including nested vendor/category objects and the enum-typed 'type', are left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource pair ("WRITE: creates a new inventory item") and immediately names the secondary effect (an inventory adjustment for opening stock). This clearly separates it from the create_* siblings (customer, vendor, purchase order, sales order) and from sosinventory_get_item.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete precondition with a named alternative tool: check sosinventory_list_items first because names must be unique per category. It also frames the initial-stock path as optional. It stops short of any when-not-to-use guidance (e.g. don't use for services or for updating existing items — use an update tool instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.