Provides access to the QuickBooks Online Accounting API to manage financial records like customers, invoices, and expenses, and to generate various accounting reports.
Enables management of QuickBooks Online accounting data, including customers, invoices, expenses, and payments, as well as the generation of financial reports such as Profit and Loss and Balance Sheets.
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., "@QuickBooks Online MCP ServerShow me the profit and loss report for last month"
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.
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.
Quick Start
Prerequisites
Node.js >= 20
QuickBooks Online OAuth2 app credentials (requires an Intuit developer account)
Install and Build
Run (stdio mode)
Run (HTTP mode)
The server listens on http://0.0.0.0:8080/mcp by default.
Docker
Environment Variables
Variable | Required | Default | Description |
| Yes (env mode) | — | QuickBooks Online OAuth2 access token |
| Yes (env mode) | — | QuickBooks Online company (realm) ID |
| No |
| Transport type: |
| No |
| HTTP server port |
| No |
| HTTP server bind address |
| No |
| Auth mode: |
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