Skip to main content
Glama

Final POS – Custom POS Builder

List customers

hub_get_customers
Read-only

List the merchant's customers. Answers 'who are my customers', 'find John's email', 'has this person bought from us'. Search matches email, first name, last name and full name — NOT phone numbers, addresses or notes. LIMITATION — there is no sorting: results come back in stored order and cannot be ordered by spend, name or last visit. So 'my best customers' or 'who spent the most' CANNOT be answered from this tool, and you must NOT page through everyone trying. Say plainly that sorting is not supported yet, then offer what does work: search by a name or email, or ask the merchant to narrow it down.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, default 1
searchNoFilter by email, first name, last name or full name
pageSizeNoResults per page, default 20

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, non-destructive, closed-world), and the description adds genuinely new behavior: search scope is limited to email/name fields and explicitly excludes phone/address/notes, and results are returned in stored order with no sorting. These constraints materially change how an agent should behave and are not derivable from the 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.

Conciseness4/5

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

Front-loaded with capability, then search scope, then the limitation and the prescribed response. Slightly longer than needed — the no-sorting point is restated three ways ('cannot be ordered by spend, name or last visit', 'my best customers', 'who spent the most') — but no sentence is off-topic.

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 filtered-list tool with no output schema, the definition covers capability, search coverage, the hard limitation, and the required user-facing behavior. An agent has everything it needs to answer or correctly refuse a customer query.

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 page/pageSize/search semantics already come from the schema (baseline 3). The description adds marginal but real value with the negative enumeration of what 'search' does NOT match (phone, address, notes), which the schema does not state.

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 ('List the merchant's customers') and immediately frames the questions it answers ('who are my customers', 'find John's email', 'has this person bought from us'). This distinguishes it from hub_get_customer (single record), hub_create_customer, and hub_get_customer_orders without needing 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?

Goes beyond context to explicit exclusions: no sorting means 'my best customers'/'who spent the most' cannot be answered, and paging through everyone is forbidden. It also prescribes the fallback (search by name/email, or ask the merchant to narrow down), which is exactly the when-not/alternative guidance the dimension asks for.

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.