QuickBooks Online
MCP server for QuickBooks Online β accounts, customers, invoices, bills, and reports.
Ask AI about QuickBooks Online
Powered by Claude Β· Grounded in docs
I know everything about QuickBooks Online. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
QuickBooks Online MCP Server
Model Context Protocol (MCP) server for the QuickBooks Online Accounting API. Enables Claude and other MCP-compatible clients to manage QBO customers, invoices, expenses, payments, and reports.
One-Click Deployment
Quick Start
Prerequisites
- Node.js >= 20
- QuickBooks Online OAuth2 app credentials (requires an Intuit developer account)
Install and Build
npm install
npm run build
Run (stdio mode)
QBO_ACCESS_TOKEN=your-access-token QBO_REALM_ID=your-realm-id npm start
Run (HTTP mode)
MCP_TRANSPORT=http QBO_ACCESS_TOKEN=your-access-token QBO_REALM_ID=your-realm-id npm start
The server listens on http://0.0.0.0:8080/mcp by default.
Docker
docker build -t qbo-mcp .
docker run -p 8080:8080 \
-e MCP_TRANSPORT=http \
-e QBO_ACCESS_TOKEN=your-access-token \
-e QBO_REALM_ID=your-realm-id \
qbo-mcp
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
QBO_ACCESS_TOKEN | Yes (env mode) | β | QuickBooks Online OAuth2 access token |
QBO_REALM_ID | Yes (env mode) | β | QuickBooks Online company (realm) ID |
MCP_TRANSPORT | No | stdio | Transport type: stdio or http |
MCP_HTTP_PORT | No | 8080 | HTTP server port |
MCP_HTTP_HOST | No | 0.0.0.0 | HTTP server bind address |
AUTH_MODE | No | env | Auth mode: env or gateway |
Gateway Mode
When AUTH_MODE=gateway, credentials are passed per-request via HTTP headers instead of environment variables:
X-Qbo-Access-Tokenβ OAuth2 access tokenX-Qbo-Realm-Idβ QuickBooks Online company (realm) ID
This allows a gateway/proxy to manage multi-tenant credentials.
Available Tools
Tools are organized into domains. Use qbo_navigate to select a domain, then use the domain-specific tools.
Navigation
qbo_navigateβ Select a domain (customers, invoices, expenses, payments, reports)qbo_backβ Return to domain selection
Customers
qbo_customers_listβ List customersqbo_customers_getβ Get customer by IDqbo_customers_createβ Create a new customerqbo_customers_searchβ Search customers by name or other criteria
Invoices
qbo_invoices_listβ List invoicesqbo_invoices_getβ Get invoice by IDqbo_invoices_createβ Create a new invoiceqbo_invoices_sendβ Send an invoice via email
Expenses
qbo_expenses_list_purchasesβ List purchase transactionsqbo_expenses_list_billsβ List billsqbo_expenses_get_purchaseβ Get purchase by IDqbo_expenses_get_billβ Get bill by ID
Payments
qbo_payments_listβ List paymentsqbo_payments_getβ Get payment by IDqbo_payments_createβ Create a new payment
Reports
qbo_reports_profit_and_lossβ Generate Profit and Loss reportqbo_reports_balance_sheetβ Generate Balance Sheet reportqbo_reports_aged_receivablesβ Generate Aged Receivables reportqbo_reports_aged_payablesβ Generate Aged Payables reportqbo_reports_customer_salesβ Generate Customer Sales report
License
Apache-2.0
