Skip to main content
Glama

Run an inventory report

inventory_report
Read-onlyIdempotent

valuation: what was held on as_of (default today) and its value at the moving average. movement: per item what was received, shipped, adjusted and counted from-to (default this month), with the cost of goods shipped, which the bot books if the business keeps books. low_stock: items at or below their reorder point. Free.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "report": "<report>"
    },
    "name": "inventory_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoYYYY-MM-DD
fromNoYYYY-MM-DD
as_ofNoYYYY-MM-DD
reportYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Beyond the readOnly/idempotent annotations, it discloses that movement includes cost of goods shipped 'which the bot books if the business keeps books' – a meaningful downstream side effect the annotations do not convey. However, that same phrase sits in tension with readOnlyHint=true and is left ambiguous (does the report book entries, or merely report them?), and nothing is said about size limits or output shape.

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

Conciseness4/5

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

Front-loaded and dense: one clause per report variant, no filler, defaults stated inline. The telegraphic fragment style ('movement: ... Free.') is efficient but reads as shorthand, and the trailing 'Free.' is unexplained cost information tacked onto the end.

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?

With no output schema, the description does the work of describing what each report returns (value at moving average, received/shipped/adjusted/counted, COGS, reorder point status), which is enough for an agent to choose and call it. Remaining gaps are secondary: output format, whether reports are paginated or size-bounded.

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

Parameters4/5

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

Schema coverage is 75% and the 'report' enum has no description, but the description supplies the missing meaning: it maps as_of to valuation (default today) and from/to to movement (default this month), which the schema does not say. It does not clarify whether date params are ignored for low_stock or what happens if an irrelevant date is supplied.

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

Purpose4/5

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

States a specific verb+resource (run an inventory report) and enumerates its three report variants with what each returns: valuation holdings at moving average, movement of received/shipped/adjusted/counted with COGS, low_stock at/below reorder point. It is clearly distinct from data-mutation siblings like inventory_move or inventory_stocktake, though it never names the closest read siblings (inventory_history, inventory_export) to disambiguate.

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?

The per-variant sentences effectively say when each report applies (valuation for point-in-time value, movement for period activity, low_stock for replenishment), and the defaults ('as_of default today', 'from-to default this month') tell the agent it can omit dates. It stops short of exclusions or explicit routing against sibling tools such as inventory_history or inventory_export.

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.

Resources