Wave
FreeNot checkedProvides 54 tools across 10 categories for Wave Accounting, enabling invoicing, customer management, products, transactions, bills, estimates, taxes, businesses
About
Provides 54 tools across 10 categories for Wave Accounting, enabling invoicing, customer management, products, transactions, bills, estimates, taxes, businesses, and financial reporting through Wave's GraphQL API.
README
An MCP server for Wave Accounting, providing access to invoicing, customers, products, transactions, bills, estimates, taxes, and financial reporting via Wave's GraphQL API.
Features
54 Tools across 10 categories
| Category | Tools | Capabilities |
|---|---|---|
| Invoices | 10 | List, get, create, update, delete, send, approve, mark sent, list/record payments |
| Customers | 6 | List, get, create, update, delete, search by name/email |
| Products | 5 | List, get, create, update, archive products and services |
| Accounts | 4 | List, get, create, update chart of accounts |
| Transactions | 6 | List, get, create, update, categorize, list attachments |
| Bills | 6 | List, get, create, update, list/record bill payments |
| Estimates | 6 | List, get, create, update, send, convert to invoice |
| Taxes | 3 | List, get, create sales taxes |
| Businesses | 3 | List, get current, get by ID |
| Reporting | 5 | P&L, Balance Sheet, Aged Receivables, Tax Summary, Cashflow |
17 MCP App Resources
Pre-built UI layout definitions accessible via wave://apps/{name}:
invoice-dashboard, invoice-detail, invoice-builder, customer-detail, customer-grid, product-catalog, chart-of-accounts, transaction-feed, transaction-categorizer, bill-manager, estimate-builder, tax-overview, profit-loss, balance-sheet, cashflow-chart, aging-report, business-overview
Prerequisites
- A Wave account
- An OAuth2 access token from the Wave Developer Portal
Installation
npm install
npm run build
Configuration
# Required
export WAVE_ACCESS_TOKEN=your_oauth2_access_token
# Optional — set a default business ID so you don't have to pass it every call
export WAVE_BUSINESS_ID=your_business_id
Usage
Run directly
WAVE_ACCESS_TOKEN=your_token npm run dev
With Cursor / Claude Desktop
Add to your MCP config:
{
"mcpServers": {
"wave": {
"command": "node",
"args": ["/path/to/wave-mcp/build/main.js"],
"env": {
"WAVE_ACCESS_TOKEN": "your_access_token",
"WAVE_BUSINESS_ID": "optional_business_id"
}
}
}
}
Examples
// List overdue invoices
wave_list_invoices({ status: "OVERDUE" })
// Create an invoice
wave_create_invoice({
customerId: "customer_456",
invoiceDate: "2026-01-15",
items: [
{ description: "Consulting", quantity: 10, unitPrice: "150.00" }
]
})
// Profit & Loss report
wave_profit_and_loss({ startDate: "2026-01-01", endDate: "2026-03-31" })
// Search customers
wave_search_customers({ query: "acme" })
Architecture
src/
├── main.ts # Entry point — reads env, starts server
├── server.ts # MCP server setup, request routing
├── client.ts # Wave GraphQL API client (gql.waveapps.com)
├── types/index.ts # TypeScript types for all Wave entities
├── tools/
│ ├── invoices-tools.ts # 10 invoice tools
│ ├── customers-tools.ts # 6 customer tools
│ ├── products-tools.ts # 5 product tools
│ ├── accounts-tools.ts # 4 account tools
│ ├── transactions-tools.ts # 6 transaction tools
│ ├── bills-tools.ts # 6 bill tools
│ ├── estimates-tools.ts # 6 estimate tools
│ ├── taxes-tools.ts # 3 tax tools
│ ├── businesses-tools.ts # 3 business tools
│ └── reporting-tools.ts # 5 reporting tools
└── apps/index.ts # 17 MCP app resource definitions
All tools use parameterized GraphQL queries against https://gql.waveapps.com/graphql/public. Auth is via OAuth2 Bearer token.
Development
npm run build # Compile TypeScript
npm run watch # Watch mode
npx tsc --noEmit # Type-check without emitting
License
MIT
Install Wave in Claude Desktop, Claude Code & Cursor
unyly install wave-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add wave-mcp -- npx -y wave-mcpFAQ
Is Wave MCP free?
Yes, Wave MCP is free — one-click install via Unyly at no cost.
Does Wave need an API key?
No, Wave runs without API keys or environment variables.
Is Wave hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Wave in Claude Desktop, Claude Code or Cursor?
Open Wave on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Wave with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
