Skip to main content
Glama
yoyodyne7
by yoyodyne7

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WAVE_BUSINESS_IDYesThe business id to operate on. You can find it by running the server with --list-businesses.
WAVE_ACCESS_TOKENYesYour Wave Full Access Token from the Wave developer portal. Treat it like a password.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
wave_get_businessA

Show the Wave business this server is pinned to: name, default currency, timezone and whether Wave email sending is enabled. Use it to check the connection before other tools. All wave_* tools act on this one business only.

wave_list_customersA

List customers of the pinned Wave business, sorted by name. Filter by exact email, or by name (case-insensitive contains; searches up to 500 customers and sets scan_truncated if there are more). Returns id, contact details, default currency and outstanding/overdue amounts. Use the id with wave_create_invoice or wave_list_invoices.

wave_get_customerA

Get one customer by id, including address, default currency and outstanding/overdue amounts.

wave_create_customerA

Create a customer in the pinned Wave business. Check wave_list_customers first to avoid duplicates. Set currency for clients billed in a currency other than the business default (e.g. USD for US clients).

wave_update_customerB

Change fields on an existing customer. Only the fields you pass are changed.

wave_list_productsA

List the products/services the business sells (unarchived), sorted by name. Each invoice line item needs a product id from here. Shows unit price, income account and default sales taxes.

wave_list_sales_taxesA

List the business's sales taxes (e.g. HST) with ids and current rates. Use the ids in wave_create_invoice line items (sales_tax_ids).

wave_list_accountsA

List chart-of-accounts entries (unarchived). Filter by types and/or subtypes. For the deposit account in wave_record_payment use subtypes ["CASH_AND_BANK"]. For a product's income account use subtypes ["INCOME"].

wave_create_productA

Create a product/service that can be used on invoice line items. Check wave_list_products first. income_account_id must be an account of subtype INCOME, DISCOUNTS or OTHER_INCOME.

wave_list_invoicesA

List invoices of the pinned Wave business, newest invoice date first. Filter by status, customer, currency, invoice date range or invoice number (contains match). Returns summaries; use wave_get_invoice for line items and payments. For accounts receivable, list status OVERDUE or UNPAID.

wave_get_invoiceA

Get one invoice with line items, taxes, payments, totals, amount due and the PDF and customer-view URLs.

wave_create_invoiceA

Create a DRAFT invoice. Nothing is sent and nothing is posted to the books until wave_approve_invoice and wave_send_invoice. Needs a customer id (wave_list_customers) and at least one line item with a product id (wave_list_products). Tax per line: omit sales_tax_ids to use the product's defaults, or pass [] for no tax (zero-rated US/export clients).

wave_update_invoiceA

Change a DRAFT invoice. Only the fields you pass are changed, except items, which replaces ALL line items. Refuses invoices that are no longer drafts.

wave_approve_invoiceA

Approve a DRAFT invoice, which posts it to the books and makes it sendable. It does not email anyone. This is a two-step tool: the first call (confirm omitted) returns a preview and a fingerprint and changes nothing. Show the preview to the user. Only after they agree, call again with confirm: true and the fingerprint.

wave_send_invoiceA

Have Wave EMAIL an approved invoice to the given addresses. This reaches a real client and cannot be unsent. The preview shows recipients, subject, totals and tax, and whether a recipient matches the customer's email on file. This is a two-step tool: the first call (confirm omitted) returns a preview and a fingerprint and changes nothing. Show the preview to the user. Only after they agree, call again with confirm: true and the fingerprint.

wave_mark_invoice_sentA

Record that an approved invoice was sent outside Wave (e.g. from your own email). Wave emails no one. This is a two-step tool: the first call (confirm omitted) returns a preview and a fingerprint and changes nothing. Show the preview to the user. Only after they agree, call again with confirm: true and the fingerprint.

wave_record_paymentA

Record a payment the business has ALREADY received against an approved invoice. This changes the books; it does not move money. amount is in the invoice's currency and may not exceed the amount due. payment_account_id is the account the money landed in: wave_list_accounts with subtypes ["CASH_AND_BANK"]. This is a two-step tool: the first call (confirm omitted) returns a preview and a fingerprint and changes nothing. Show the preview to the user. Only after they agree, call again with confirm: true and the fingerprint.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 17 tools

Disambiguation5/5

Each tool targets a distinct resource+action, and the descriptions carefully delineate the tricky invoice lifecycle tools (create vs approve vs send vs mark_sent) with explicit sequencing notes. An agent can reliably select the right tool for each step.

Naming Consistency5/5

Every tool follows a strict wave_verb_noun snake_case pattern (wave_list_customers, wave_create_invoice, wave_record_payment), with no deviations in casing or verb style across the set.

Tool Count4/5

17 tools is on the higher side but each covers a genuine entity/action across the customers, products, invoices, taxes, accounts and payments domain. It is well-scoped for a full invoicing lifecycle with only minor redundancy.

Completeness4/5

The invoice lifecycle is fully covered (create, update, approve, send, record payment), plus customers, products, taxes and accounts. Minor gaps exist: no customer delete/archive and no product update/get, but core workflows have no dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues