Skip to main content
Glama

Final POS – Custom POS Builder

Check stock

hub_get_stock
Read-only

How many of ONE product are on hand, broken down by variant and by outlet. Answers 'how many of these do I have', 'how many are left at the King Street shop', 'where is this product in stock'. Takes the product id from get_products — get_products itself returns prices, never quantities. Pass outletId (from get_outlets) to narrow it to a single shop. CRITICAL — "tracked: false" means the merchant switched stock counting OFF for that variant at that outlet, so there is NO count at all. It is NOT "0 in stock". Never say "you have 0" or "it is out of stock" about an untracked line; say stock is not being tracked there. Only lines with tracked: true carry a real quantity. Outlets where the product is hidden do not appear at all. For 'what is running out' across the whole catalogue use find_low_stock instead — do not page through products with this tool.

Input Schema

NameRequiredDescriptionDefault
outletIdNoOutlet id from get_outlets. Omit for every outlet
productIdYesProduct id from get_products — not a name

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover read-only safety, so the description's remaining value is its critical semantic caveat: tracked: false means counting is off and there is NO count, not zero. It also discloses that hidden outlets are omitted entirely and prescribes the exact phrasing to avoid ('you have 0'). This is genuine behavioral context the agent cannot get from annotations or schema.

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?

Every sentence earns its place: the purpose, the ID provenance, the tracked:false rule, and the sibling routing are all load-bearing. The critical warning is capitalized and placed before the alternative-tool guidance, keeping the important content front-loaded.

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

Completeness5/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 compensates by describing the return breakdown by variant and outlet, and by pre-interpreting the track/untracked field the agent will encounter. Nothing needed to call this tool correctly or to interpret its result is missing.

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 100%, so the baseline is 3, but the description adds value by tying each parameter to its source tool (productId from get_products, outletId from get_outlets) and clarifying that omitting outletId spans every outlet. The schema has little more to add, but the description reinforces provenance and narrowing behavior.

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?

States a specific verb and resource (how many of one product are on hand), and explicitly demarcates the response shape: broken down by variant and by outlet. It distinguishes itself from siblings by noting get_products returns prices never quantities, anchoring exactly what this tool is for.

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

Usage Guidelines5/5

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

Names the alternative for a different job — find_low_stock for 'what is running out' across the catalogue — and explicitly warns against paging through products with this tool. It also tells the agent where each id comes from and when to pass outletId to narrow to a single shop.

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.