Skip to main content
Glama

List payments received

wave_list_payments
Read-onlyIdempotent

List invoice payments and estimate deposits with totals, newest first, to review money received. Filter by payment date range and customer for targeted reconciliation.

Instructions

List money received: invoice payments and estimate deposits, newest first, with totals. These are the only transaction records Wave's public API can read; bank/card transactions, expenses and money transactions created through the API cannot be listed. Filter by payment date range and customer.

Input Schema

NameRequiredDescriptionDefault
kindNoall
sortNodate_desc
limitNoRows to return
offsetNoRows to skip; use nextOffset
endDateNoLatest payment date (inclusive)
startDateNoEarliest payment date (inclusive)
businessIdNoBusiness ID; defaults to the one wave_get_context reports
customerIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the description's job is to add context — and it does, disclosing the default newest-first ordering, that totals are included, and the hard API scope limit on which transaction records are readable. It does not mention pagination behavior beyond the schema's offset field, which keeps it from a 5.

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?

Three tight sentences, front-loaded with what is returned before the scope limitations and filters. No filler, though the scope-limitation sentence is dense and could have been split for scanability.

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 an 8-parameter read tool with no output schema, the description covers what is returned ('with totals'), ordering, and the filter surface, which is enough to call it correctly. The main gap is the absence of any note on pagination/nextOffset behavior or a pointer to the sibling for non-payment transactions.

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 description coverage is 63%, and the description compensates by explaining that filtering is by payment date range and customer, and by mapping the undescribed 'kind' enum values to plain language ('invoice payments and estimate deposits'). It adds little about sort, limit or offset, but those are already documented in the schema.

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?

The description names a specific verb and resource ('List money received: invoice payments and estimate deposits'), enumerates the exact record kinds returned, and states ordering and totals. It also distinguishes itself from other transaction-reading siblings by declaring that bank/card transactions, expenses and API-created money transactions cannot be listed.

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

Usage Guidelines4/5

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

It gives clear conditions for use (invoice payments and estimate deposits only) and explicit exclusions for what this tool will not return, which steers the agent away from misusing it. It stops short of naming the sibling tool to use for the excluded transaction types (e.g. wave_list_transactions), so the routing is implied rather than explicit.

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