wave-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@wave-mcpwho owes me money?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
wave-mcp
A small, read-only MCP server over Wave Accounting's public GraphQL API. Ask your books plain-English questions from any MCP client — "who owes me money?", "what just got paid?", "where did the money go?", "how's revenue this year?" — with a focus on accounts receivable, the signal Wave quietly exposes but most tools ignore (whether the customer ever opened the invoice), and payments received (including money still in Wave's payout pipeline, not yet in your bank).
FastMCP, env-var auth, no dependencies beyond mcp and requests.
Tools
Tool | What it answers |
| AR: every invoice still owed, aged, with |
| Payments received in the last N days, newest first. Flags |
| Invoiced revenue (accrual) by month over a date range. |
| Total income, total expenses, net, and per-account breakdown — from ledger account balances. Cumulative-to-date, not date-filterable (see limits). |
| Full chart of accounts with balances, grouped by type. Defaults to nonzero/non-archived (Wave auto-creates a big pile of empty per-invoice AR sub-accounts). |
| Customer list with per-customer outstanding/overdue AR + contact info, largest balance first. |
| Vendor list (who you buy from) with contact info. |
| Product/service catalog with unit prices — your price list. |
| Estimates/quotes (sales pipeline) with status, totals, deposit status. |
| List businesses (id, name, currency) to discover a |
| The one write tool. Books a business expense (increase an expense account, funded from an account — defaults to owner equity for personally-paid purchases). Dry-run by default; |
Related MCP server: qbo-mcp
Scope & limits (deliberate)
Read-only except one guarded write (
wave_create_expense): dry-run default, explicitconfirm=Trueto post, deterministicexternalIdso an identical call can't duplicate. Every other tool only queries. Money transactions can't be read back via the API, so verify writes in Wave's UI.Wave's public API has no money-transaction (bank-ledger) endpoint and no date-filterable P&L report. But account balances and invoice payments ARE exposed, so
wave_profit_and_loss/wave_chart_of_accountsgive real expense and net-income figures — as cumulative-to-date balances, not scoped to an arbitrary date range. For period-accurate P&L, Wave's own UI reports are authoritative.Revenue (
wave_revenue) is accrual (by invoice date), excludes DRAFT/SAVED, and is the one figure here that IS date-filterable. Use it to cross-check the timing that the cumulative balances can't express.
Setup
python3 -m venv .venv && ./.venv/bin/pip install -r requirements.txt
export WAVE_FULL_ACCESS_TOKEN=... # or via your secret manager
./.venv/bin/python server.pyGet WAVE_FULL_ACCESS_TOKEN from the Wave Developer
Portal → your application → Full Access
Token. Using your own account's token is free even on the Starter plan.
Register with an MCP client
Example stdio entry (Claude Code / Claude Desktop mcpServers):
{
"wave": {
"command": "/path/to/wave-mcp/.venv/bin/python",
"args": ["/path/to/wave-mcp/server.py"],
"env": { "WAVE_FULL_ACCESS_TOKEN": "your-token" }
}
}Prefer a secret manager over inlining the token — e.g. wrap the command with
doppler run -- ... and keep WAVE_FULL_ACCESS_TOKEN in Doppler. Set
WAVE_BUSINESS_NAME to pick a default business (otherwise the first
non-personal business is used).
License
MIT © 2026 Noah Weir
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceThis project builds a read-only MCP server. For full read, write, update, delete, and action capabilities and a simplified setup, check out our free CData MCP Server for Wave Financial (beta): https://www.cdata.com/download/download.aspx?sku=HWZK-V&type=betaLast updatedMIT
- AlicenseAqualityDmaintenanceMCP server for QuickBooks Online providing read-only access to customers, vendors, invoices, bills, and chart of accounts. Enables natural language queries to your financial data through Claude or any MCP client.Last updated8MIT
- Alicense-qualityCmaintenanceThis MCP server enables AI assistants like Claude to perform Wave Accounting bookkeeping tasks—such as drafting invoices, managing customers, recording payments, and looking up financial data—through natural language commands.Last updatedMIT
- Flicense-qualityDmaintenanceComprehensive MCP server for Wave Accounting, providing 45+ tools across invoicing, customers, products, transactions, bills, estimates, taxes, and financial reporting, plus 17 pre-built UI workflows.Last updated4
Related MCP Connectors
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
GibsonAI MCP server: manage your databases with natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/noahbalboah/wave-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server