QuickBooks MCP Server: 34 Tools for Invoicing, Reporting & Accounting via AI

QuickBooks Online is where millions of businesses manage invoicing, bills, payments, and financial reporting. AI agents that can read and write QuickBooks data can automate invoice creation, pull financial reports, track overdue payments, and reconcile changes — all through natural language.
MCP (Model Context Protocol) gives AI agents structured access to the QuickBooks API. There are two ways to connect: Intuit's official MCP server and MCPBundles' 34-tool accounting bundle. This guide covers both.
Two Ways to Connect
1. Intuit's Official MCP Server
Intuit released an official QuickBooks MCP server on GitHub — a Node.js package with ~20 tools covering CRUD operations on core accounting entities (customers, vendors, invoices, bills, payments, estimates). It connects via stdio and handles OAuth.
Pros: First-party, maintained by Intuit, covers core entity operations. Cons: Local npm install and process required, stdio transport (Claude Desktop only).
2. MCPBundles Accounting Bundle — 34 Tools
MCPBundles wraps the full QuickBooks Online API into 34 hosted tools covering everything in Intuit's official server plus financial reports, batch operations, change data capture, PDF generation, void/credit operations, and a SQL-like query tool. One OAuth connection, hosted — every MCP client gets access.
Pros: Full API coverage, financial reports, batch ops, hosted setup, works with any MCP client. Cons: REST-based (not Intuit's official MCP transport).
Both options work — use Intuit's server for a lightweight local setup, the MCPBundles bundle for full API coverage and hosted access, or enable both.
What Each Option Covers
| Capability | Intuit Official (~20 tools) | MCPBundles (34 tools) |
|---|---|---|
| Customers, Vendors, Employees | CRUD | CRUD (upsert pattern) |
| Invoices, Bills, Payments | CRUD | Full lifecycle + send |
| Estimates | Basic | Create + send to customer |
| SQL-like queries | No | Yes (Intuit's query language) |
| Financial reports (P&L, Balance Sheet, Cash Flow) | No | Yes (12+ report types) |
| Batch operations (30 ops per call) | No | Yes |
| Change data capture (CDC) | No | Yes |
| PDF generation (invoices, estimates) | No | Yes (base64 download) |
| File attachments | No | Yes (upload to entities) |
| Void transactions | No | Yes |
| Credit memos, refund receipts | No | Yes |
| Purchase orders | No | Yes |
| Journal entries, deposits, transfers | No | Yes |
| Time activities | No | Yes |
| Tax codes | No | Yes (read) |
| Company info & preferences | Basic | Full |
| Sandbox support | Config file | One checkbox |
| Setup | npm install + local process + OAuth config | Hosted, OAuth once |
| Works with | Claude Desktop (stdio) | Claude, ChatGPT, Cursor, Windsurf, any MCP client |
The SQL-Like Query Language
The most powerful read tool in the bundle. QuickBooks Online has its own SQL-like query dialect:
SELECT * FROM Customer WHERE Active = true
SELECT * FROM Invoice WHERE TotalAmt > 100 ORDERBY DueDate
SELECT * FROM Vendor WHERE DisplayName LIKE '%Supply%'
SELECT * FROM Bill WHERE DueDate < '2026-04-01' AND Balance > '0'
Your AI writes these queries naturally. It supports WHERE, ORDERBY, STARTPOSITION, and MAXRESULTS. No JOINs or subqueries — but for targeted accounting lookups, it covers most use cases in a single call.
What Your AI Can Do
Invoice Management
The full invoice lifecycle without opening QuickBooks:
- Create invoice — Line items, customer, due date, terms. Your AI constructs the invoice from a conversation.
- Send invoice — Email the invoice directly to the customer from QuickBooks.
- Record payment — Link a payment to an invoice to mark it paid.
- Download PDF — Get a base64 PDF of any invoice for review or forwarding.
- Void invoice — Reverse financial impact without deleting the record (audit trail preserved).
Bill & Expense Tracking
Mirror of invoicing, but for money going out:
- Create vendor — Add new suppliers.
- Create bill — Record what you owe.
- Pay bill — Record payment against a bill from a specific bank account.
- Purchase orders — Order tracking before goods arrive.
- Purchases — Direct expense recording without a bill.
Financial Reporting
12+ report types available through a single tool:
| Report | What it shows |
|---|---|
| ProfitAndLoss | Revenue minus expenses over a period |
| BalanceSheet | Assets, liabilities, equity at a point in time |
| CashFlow | Cash inflows and outflows |
| AgedReceivables | Who owes you money, and how overdue |
| AgedPayables | Who you owe money, and how overdue |
| GeneralLedger | Every transaction in every account |
| TrialBalance | Debits and credits for all accounts |
"What's our P&L for Q1?" — answered in seconds, not by navigating through QuickBooks menus.
Batch Operations
Run up to 30 mutations in a single API call. Create 30 customers, update 30 invoices, or mix operations across entity types. Your AI batches related changes automatically when it makes sense.
Change Data Capture (CDC)
Ask QuickBooks "what changed since last Tuesday?" and get back every entity that was created, updated, or deleted. This is how sync systems work — and your AI can use it to detect drift, reconcile data, or generate change summaries.
Advanced Operations
- Credit memos — Issue credits against customer accounts
- Refund receipts — Process customer refunds
- Journal entries — Manual accounting adjustments
- Deposits — Record bank deposits grouping multiple payments
- Transfers — Move money between accounts
- Time activities — Track billable hours per employee
- Attachments — Upload receipts, contracts, or documents linked to any entity
Real Workflows
"Find all overdue invoices and tell me the total outstanding"
Your AI runs SELECT * FROM Invoice WHERE DueDate < '2026-04-11' AND Balance > '0', sums the balances, and groups by customer. One prompt replaces the aged receivables report.
"Create an invoice for Acme Corp — 10 hours of consulting at $200/hr"
Your AI looks up the Acme customer record, creates an invoice with one line item (10 × $200), sets net-30 terms, and sends it directly to the customer's email.
"What's our cash position?"
Balance sheet report filtered to current period, plus a cash flow statement. Your AI reads both and gives you the headline number and any notable changes.
"Sync everything that changed this week"
CDC query with a timestamp from Monday. Your AI gets back every modified customer, invoice, bill, payment, and vendor — ready for reconciliation with your other systems.
The Upsert Pattern
Every write tool uses QuickBooks' optimistic concurrency model:
- Create: Omit
idandsync_token— returns the new entity - Update: Provide
idplus a freshsync_tokenfrom a recent read — QuickBooks rejects stale tokens to prevent overwrites - Deactivate: Customers, vendors, and employees can't be deleted — set
active: falseinstead - Void: Transactions can be voided (preserves audit trail) or deleted
Your AI handles this automatically — it reads before writing to get the current sync token.
Setup
- Enable the QuickBooks bundle on MCPBundles
- Connect via OAuth (QuickBooks prompts you to select the company)
- Ask your AI: "Show me the company info and list the last 10 invoices"
The OAuth flow captures your Company ID (realm) automatically. Sandbox and production environments are supported — toggle with one checkbox.
FAQ
How does this compare to Intuit's official QuickBooks MCP server?
Intuit's official server covers core entity CRUD with ~20 tools via a local npm process. MCPBundles adds financial reports, batch operations, change detection, PDF downloads, void/credit operations, and a SQL-like query tool — 34 tools total, hosted. You can use both: Intuit's for lightweight local access, MCPBundles for the extended API surface.
Can my AI access my live QuickBooks data?
Yes. After OAuth, your AI has direct access to your QuickBooks Online company data. Every tool call hits the live API. For testing, enable the sandbox checkbox to connect to an Intuit sandbox company instead.
What about multi-entity accounting?
The SQL-like query tool supports filtering across all entity types. Your AI can query customers, invoices, vendors, bills, accounts, items, and more — each with WHERE clauses, ordering, and pagination.
Is there a sandbox mode?
Yes. Toggle "Use QuickBooks sandbox API" in the credential settings to route all API calls to Intuit's sandbox environment. Useful for testing without affecting production data.
Can my AI send invoices to customers?
Yes. The send invoice tool emails the invoice directly from QuickBooks to the customer. Same for estimates — create and send in two calls.