Skip to main content
Glama

Final POS – Custom POS Builder

List orders

hub_get_orders
Read-only

Find orders — the same rows as Manage → Orders. Answers 'show me order 1042', 'what did we sell on Saturday', 'are there parked orders', 'orders rung up by Maria', 'orders over $500 at the King Street shop'. Filter by receipt number, status, source, employee, customer, product, date window, order total, outlet or station. Results are ALWAYS newest first — there is no other sorting, so a "biggest order" question needs the amount filter, not paging. Search matches the receipt number and the order id ONLY, never customer names or product names: for those, pass customerIds from get_customers or productIds from get_products. One row per order with its total; for what is INSIDE an order — line items, payments, refunds, notes — call get_order with the id from here. For how much the business took over a period use get_financial_summary or get_sales_breakdown instead of adding these rows up.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, default 1
searchNoReceipt number or order id. Does NOT match customer or product names
sourceNoe.g. ["in-store"], ["woo-commerce"]
statusNoFinal POS statuses: "completed", "refunded", "partial-refund", "parked". WooCommerce orders keep their own ("processing", "on-hold", "pending", "cancelled", "failed") — pass "other" to match every status outside the four Final POS ones
endDateNoOnly orders created at or before this ISO 8601 moment
outletsNoOutlet ids. Combined with stations by OR
maxTotalNoMaximum order total in MINOR units (cents)
minTotalNoMinimum order total in MINOR units (cents), e.g. 50000 for $500
pageSizeNoOrders per page, default 20
stationsNoStation ids. Combined with outlets by OR
startDateNoOnly orders created at or after this ISO 8601 moment
productIdsNoProduct ids from get_products — matches orders containing them
customerIdsNoCustomer ids from get_customers, not names
employeeIdsNoEmployee ids — from get_employee_sales, not names

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/non-destructive annotations, the description discloses key non-obvious behavior: results are ALWAYS newest-first with no other sorting, search matches receipt number and order id ONLY (never names), and the return is one row per order with its total. These are exactly the traits an agent would otherwise get wrong.

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 with purpose and example queries, then filters, then sorting caveats, then sibling routing. It is long but nearly every clause adds actionable guidance; a small trim of the enumerated filter list would tighten it further.

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?

For a 14-parameter, no-required, list-style tool with no output schema, the description covers selection context, sort behavior, search limitations, and the shape of the returned rows. Nothing an agent needs to call it correctly is missing.

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 description coverage is 100%, so the baseline is 3. The description enumerates the filterable dimensions and notes the cents-based amount filter, but this largely restates what the schema already documents (e.g. minTotal MINOR units with the $500 example), adding no new syntax or constraint detail.

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+resource ('Find orders') and anchors it to a known UI surface ('the same rows as Manage → Orders'). It clearly distinguishes itself from hub_get_order (which returns what's inside an order) and from the financial-summary siblings, so an agent can pick it without opening the schema.

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?

Gives concrete when-to-use prompts ('show me order 1042', 'orders over $500 at the King Street shop') and explicit when-not routing: customer/product names must go through get_customers/get_products, totals over a period through get_financial_summary or get_sales_breakdown. It even warns that a 'biggest order' question needs the amount filter rather than paging.

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.