Skip to main content
Glama

List products and services

wave_list_products
Read-onlyIdempotent

List products and services used on invoice and estimate lines, including price, income/expense accounts, and default sales taxes; filter active or archived items.

Instructions

List products/services (the items invoice and estimate lines must reference), with price, income/expense accounts and default sales taxes. Active only unless isArchived=true.

Input Schema

NameRequiredDescriptionDefault
pageNo1-based; use nextPage
sortNoDefault CREATED_AT_DESC
detailNosummary: key fields, long text clipped. full: every field and line itemssummary
isSoldNoOnly items sold (have an income account)
searchNoCase-insensitive substring match on name, description (scans the full list; use filters when you can)
isBoughtNoOnly items bought (have an expense account)
pageSizeNoItems per page (max 100)
businessIdNoBusiness ID; defaults to the one wave_get_context reports
isArchivedNoDefault false (active only)
modifiedAtAfterNoOnly records modified after this time
modifiedAtBeforeNoOnly records modified before this time

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's added value is the default filtering behavior: archived records are excluded unless isArchived=true. That is a genuinely useful disclosure an agent could otherwise get wrong. It stops short of describing paging/response behavior, which matters for a list tool.

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, zero filler, with the resource identified first and the archived-visibility caveat front-loaded at the end where it is easy to scan. Nothing is repeated unnecessarily.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter read tool with no output schema, the description covers purpose, key returned fields, and the archived default, but leaves the response shape and pagination contract (page/nextPage, pageSize cap) to the schema alone. It is adequate but not fully self-sufficient for an agent that must page through 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 every parameter including isArchived, detail, search, and the modifiedAt bounds is already documented in structured data. The description only restates the isArchived default and the returned field categories; it adds no new meaning about parameter interplay (e.g. how search interacts with paging) 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?

"List products/services" is a specific verb+resource, and the parenthetical explains the domain role (the items invoice and estimate lines must reference) plus the fields returned (price, income/expense accounts, default sales taxes). It is clearly distinct from wave_get_product / wave_create_product / wave_update_product by name and verb, though it never names a sibling to route against.

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?

Usage is implied rather than stated: the agent learns this is the catalog of items that invoice/estimate lines must reference, which suggests when to call it, and the archived default is flagged. There is no explicit when-to-use vs. alternatives (e.g. wave_get_product for a single item), no mention of when search/paging is preferred over a full scan.

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