Wave Accounting

Wave Accounting

Query Wave Accounting (businesses, customers, products, invoices, chart of accounts) and create customers or email invoices via Wave's GraphQL API from any AI agent. 8 tools, Bearer token auth.

7-day free trial · No credit card · EU-hosted

Ask Wave anything

Try a real prompt against Wave Accounting via AnythingMCP — Claude calls the tools, returns the answer. Press Enter on your own message to install on Cloud.

Install Wave on Cloud
Wave Accounting · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

Setup in 2 minutes

  1. 1Start a free trial on cloud.anythingmcp.com.
  2. 2Click Wave Accounting in the connector store. Paste credentials when prompted.
  3. 3Mint an MCP API key and point your AI client at the generated MCP URL.
Install Wave Accounting now

Guides for Wave

Step-by-step setup for the most popular AI clients.

Setting up Wave Accounting

From the connector definition itself: where to find the credentials, what they need to be allowed to do, and which API this adapter talks to.

This connector wraps the Wave GraphQL API (gql.waveapps.com/graphql/public).

Setup:

  1. Sign in to https://my.waveapps.com → bottom-left avatar → Manage Applications → Create Application.
  2. Use the OAuth flow to obtain an access token, OR (faster) generate a Full Access Token from the application settings (single-tenant).
  3. Business ID: Wave is multi-business — call wave_get_businesses and take the id of the business to work in.
  4. Set WAVE_ACCESS_TOKEN and WAVE_BUSINESS_ID.

Authentication: Authorization: Bearer ${WAVE_ACCESS_TOKEN}.

Every business-level tool takes business_id (customers, products, invoices, accounts, and reading one invoice): Wave reaches all of them through business(id: …). Pass the ID from wave_get_businesses on each call.

GraphQL-only: Wave has no REST. The auto-injected GraphQL builtins (wave_accounting_graphql_query, wave_accounting_graphql_mutation, wave_accounting_graphql_schema) are available for arbitrary queries. The typed wrappers below cover the most common cases.

Pagination is by page, not cursor: list tools take page (1-based) and page_size (Wave's default is 45), and answer with pageInfo { currentPage totalPages totalCount }. Ask for the next page while currentPage < totalPages.

Money is a { value, currency } object: value is a decimal string in major units ("12.50"), minorUnitValue the same amount in cents.

Mutations answer with didSucceed and inputErrors { path message } rather than an HTTP error: didSucceed: false means Wave refused the change — read inputErrors.

Rate limits: 60 req/min per token + complexity budget. 429 with Retry-After.

Out of scope here: payroll, payment-processing setup, bank-feed reconciliation UI.

Your AI is two clicks away from Wave Accounting.

Install the connector, paste your credentials, ask your AI a question. 7-day free trial, no credit card.