Skip to main content
Glama
oliverames

MCP Server for Wave

by oliverames

Wave: List Products

wave_list_products
Read-onlyIdempotent

List products and services from your Wave account to use as line items in invoices and estimates. Filter by name, date, archive status, or sales type.

Instructions

List products and services. Invoice and estimate line items must reference a product, so this is the usual first step when building either one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number for offset pagination.
sortNoNAME_ASC, NAME_DESC, CREATED_AT_ASC/DESC, MODIFIED_AT_ASC/DESC. Defaults to NAME_ASC.
is_soldNoOnly products sold to customers.
fetch_allNoWalk every page instead of returning just one. Slower, but complete.
is_boughtNoOnly products bought from vendors.
page_sizeNoRecords per page (1-200).
business_idNoBusiness to operate on. Defaults to the session business set by wave_set_default_business.
is_archivedNoFilter to archived (true) or active (false) products.
name_containsNoCase-insensitive substring match on name, applied locally.
modified_afterNoISO 8601 timestamp; only products changed after it.
modified_beforeNoISO 8601 timestamp; only products changed before it.
response_formatNoOutput format: "markdown" for a compact human-readable summary, "json" for the complete record.markdown
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. Description adds no further behavioral traits (e.g., pagination details are in schema). Meets baseline but adds no extra value beyond annotations.

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 focused sentences, front-loaded with purpose and context. No wasted words.

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?

Sufficient for a listing tool with 12 documented parameters and clear annotations. Lacks explanation of output format behavior, but schema covers response_format and fetch_all.

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 baseline is 3. Description does not elaborate on parameter meanings beyond what schema provides.

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?

Clearly states the tool lists products/services and explains its role as a first step for invoices/estimates, distinguishing it from single-resource tools like wave_get_product.

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?

Explicitly says it's the usual first step for building invoices/estimates, providing strong contextual guidance. Does not explicitly mention alternatives for single products, but context signals include wave_get_product.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oliverames/wave-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server