Skip to main content
Glama

List customers

wave_list_customers
Read-onlyIdempotent

List customers with outstanding and overdue balances, then filter by exact email, archive state, or modification time; use name substring search.

Instructions

List customers with their outstanding and overdue balances. Filter by exact email, archive state or modification time; use search for a name substring.

Input Schema

NameRequiredDescriptionDefault
pageNo1-based; use nextPage
sortNoDefault CREATED_AT_DESC
emailNoExact email match
detailNosummary: key fields, long text clipped. full: every field and line itemssummary
searchNoCase-insensitive substring match on name, email, displayId, firstName, lastName (scans the full list; use filters when you can)
pageSizeNoItems per page (max 100)
businessIdNoBusiness ID; defaults to the one wave_get_context reports
isArchivedNo
modifiedAtAfterNoOnly records modified after this time (ISO 8601)
modifiedAtBeforeNoOnly records modified before this time (ISO 8601)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral content beyond that: the response includes outstanding and overdue balances, exact-match semantics for email, and the notable performance trait that search scans the full list while filters do not.

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?

Two sentences, front-loaded with purpose and return content, followed immediately by filter guidance. Every clause carries information and nothing is repeated.

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?

For a 10-parameter read tool with no output schema, the description covers purpose, returned data and filter strategy adequately, and the schema handles the rest. A small gap remains: the summary-vs-full detail tradeoff and pagination are only implied via schema, and the default business resolution is not hinted at.

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 90%, so nearly every parameter is already documented, and most of the description's parameter text (exact email, archive state, modification time) restates the schema. The one marginal addition is steering agents to search for name substrings, but it does not explain detail, sort, or pagination semantics beyond the schema.

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?

The description states a specific verb and resource ('List customers') and adds what the listing surfaces ('outstanding and overdue balances'), which is useful since there is no output schema. It does not explicitly distinguish itself from wave_get_customer or other list siblings, but the list-vs-get distinction is implicit in the name.

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

Usage Guidelines3/5

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

It gives concrete guidance on which filters to use ('exact email, archive state or modification time') and warns to prefer search only for name substrings, which is a genuine usage nuance. However, there is no explicit when-to-use-this-vs-alternative guidance naming wave_get_customer for single-record lookups or wave_list_invoices for related data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools