QuickBooks

The QuickBooks connector gives AI agents access to your QuickBooks Online account for reading invoices, customers, payments, accounts, bills, and financial reports — as well as creating new records. Authentication uses OAuth 2.0 and your credentials are stored encrypted in MCPGate's vault, never exposed to the AI client.

Required scopes#

MCPGate requests the following OAuth scopes when you connect QuickBooks. Both scopes are requested up front to cover all read and write tools.

ScopePurpose
com.intuit.quickbooks.accountingRead and write accounting data (invoices, customers, payments, reports)
openidIdentify the connected QuickBooks account

Tool reference#

The QuickBooks connector exposes 12 tools: 8 read and 4 write. Use the MCP Apps page to enable or disable individual tools per app.

ToolCategoryDescription
quickbooks_list_invoicesreadList invoices in QuickBooks, optionally filtered by customer or status
quickbooks_get_invoicereadGet a specific QuickBooks invoice by ID
quickbooks_list_customersreadList customers in QuickBooks
quickbooks_list_paymentsreadList payments received in QuickBooks
quickbooks_list_accountsreadList chart of accounts in QuickBooks
quickbooks_get_reportreadGet a financial report from QuickBooks (e.g. ProfitAndLoss, BalanceSheet)
quickbooks_list_billsreadList bills (vendor invoices) in QuickBooks
quickbooks_queryreadRun a custom QuickBooks query using QuickBooks Query Language (SQL-like)
quickbooks_create_invoicewriteCreate a new invoice in QuickBooks
quickbooks_create_customerwriteCreate a new customer in QuickBooks
quickbooks_create_paymentwriteRecord a payment received in QuickBooks
quickbooks_create_billwriteCreate a new vendor bill in QuickBooks

QuickBooks Query Language

quickbooks_query accepts SQL-like queries using QuickBooks Query Language (QQL), for example SELECT * FROM Invoice WHERE TotalAmt > 1000. This tool is powerful but read-only — it cannot modify data.

Common guardrail recipes#

Read-only access#

Enable only the eight read tools and deny all write tools. Ideal for bookkeeping agents that generate reports, export data, or answer questions about financials without making any changes to the QuickBooks data.

Transact preset#

Use the built-in transact preset to allow reads plus quickbooks_create_invoice and quickbooks_create_payment, while keeping quickbooks_create_customer and quickbooks_create_bill denied. Agents can record standard billing transactions without modifying the customer database or creating new vendor obligations.

Require approval for new customers#

Apply the require_approval guardrail template to quickbooks_create_customer. Any attempt to create a new customer record will be paused until a human approves or rejects it in the MCPGate dashboard.

Troubleshooting#

  • Token expired — QuickBooks OAuth tokens expire after 1 hour. MCPGate automatically refreshes tokens using the refresh token. If refresh fails (refresh tokens expire after 100 days of inactivity), reconnect the QuickBooks connector.
  • Company not found — Each QuickBooks connection is tied to a specific company (Realm ID). If you have multiple QuickBooks companies, connect each one separately in MCPGate.
  • Sandbox vs. production — QuickBooks has separate sandbox and production environments. Ensure you are connecting to the correct environment by using the appropriate OAuth credentials from the Intuit Developer portal.