Skip to main content
Glama

Final POS – Custom POS Builder

Employee sales

hub_get_employee_sales
Read-only

Sales per staff member for a date range — Reports → Employee Sales. Answers 'who is my best seller', 'how much did Maria sell', 'who took the most refunds', 'average ticket per employee'. One row per employee with orders, gross sales, refunds, tips and average transaction. Staff lists are short, so ranking is safe: pull the rows and sort them yourself rather than asking the merchant to narrow down. Pass employeeId to get a single person. For the actual orders one person rang up, use get_employee_orders.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, default 1
endDateYesEnd of the window, ISO 8601. Inclusive of the day when a bare date is given
outletsNoOutlet ids to restrict to. Omit for all outlets
pageSizeNoRows per page, default 50
stationsNoStation ids to restrict to. Omit for all stations
startDateYesStart of the window, ISO 8601, e.g. "2026-08-01" or "2026-08-01T00:00:00Z"
employeeIdNoRestrict to one employee, by id from a previous call

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), but the description adds return-shape context that no output schema provides: one row per employee with orders, gross sales, refunds, tips and average transaction. It also discloses that ranking is safe for small lists. It stops short of stating pagination behavior beyond the schema's defaults.

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?

Front-loads what the tool returns, then layers in use-cases, ranking guidance, the employeeId shortcut, and the sibling alternative. Every sentence contributes; nothing is padding.

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 fully compensates by describing the row contents and grain (one row per employee). For a read-only reporting tool it gives an agent everything needed to call it correctly and interpret results.

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 all seven parameters are already documented. The description only re-states employeeId's single-employee behavior, which the schema already explains ('Restrict to one employee, by id from a previous call'), adding no new syntax or semantics. Baseline 3 is appropriate.

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 ('Sales per staff member for a date range'), maps it to a UI location (Reports → Employee Sales), and explicitly contrasts with the sibling get_employee_orders. The concrete example questions ('who is my best seller', 'how much did Maria sell') make the tool's scope unambiguous.

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 explicit routing: use get_employee_orders for individual order detail, pass employeeId for a single person, and pull-and-sort rows yourself rather than asking the merchant to narrow (with reasoning: staff lists are short). Both the when and the alternative are stated.

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.