QuickBooks Online MCP Server
Provides tools for interacting with QuickBooks Online, including create, delete, get, search, and update operations for accounting entities such as accounts, bills, customers, invoices, items, journal entries, purchases, and vendors, plus financial and transaction reporting tools.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
QuickBooks Online MCP Server
This is a Model Context Protocol (MCP) server implementation for QuickBooks Online integration.
Setup
Install dependencies:
npm installCreate a
.envfile in the root directory with the following variables:
QUICKBOOKS_CLIENT_ID=your_client_id
QUICKBOOKS_CLIENT_SECRET=your_client_secret
QUICKBOOKS_ENVIRONMENT=sandboxGet your Client ID and Client Secret:
Go to the Intuit Developer Portal
Create a new app or select an existing one
Get the Client ID and Client Secret from the app's keys section
Add
http://localhost:8000/callbackto the app's Redirect URIs
Related MCP server: QuickBooks Online MCP Server
Authentication
.env holds only the static app credentials (QUICKBOOKS_CLIENT_ID, QUICKBOOKS_CLIENT_SECRET, QUICKBOOKS_ENVIRONMENT) and is gitignored — copy .env.example to .env to get started. The rotating refresh token and realm ID are persisted separately to .qbo-tokens.json (also gitignored) and managed automatically. The short-lived access token is kept in memory only and re-minted on each launch.
One-time authorization (recommended)
Run the OAuth flow once to connect your QuickBooks company:
npm run authThis will:
Start a temporary local server on
http://localhost:8000/callbackOpen your default browser automatically
Redirect you to QuickBooks for authentication
Save the tokens to
.qbo-tokens.jsononce authenticatedClose automatically when complete
After that, the server keeps itself authenticated automatically: it refreshes the access token ahead of expiry and persists the rotating refresh token on every refresh. You only need to re-run npm run auth if the refresh token is left unused long enough to expire (100 days idle).
Automatic re-authorization
If the refresh token is ever rejected during a tool call, the server launches the browser flow again automatically. Set QBO_AUTO_REAUTH=false in .env to disable this and instead fail fast with a message telling you to run npm run auth (useful for headless/unattended setups).
Migrating from an older setup
If you already have QUICKBOOKS_REFRESH_TOKEN / QUICKBOOKS_REALM_ID in your .env, they are picked up once on first run and migrated into .qbo-tokens.json. You can delete them from .env afterward.
Usage
After authentication is set up, you can use the MCP server to interact with QuickBooks Online. The server provides various tools for managing customers, estimates, bills, and more.
Available Tools
Added tools for Create, Delete, Get, Search, Update for the following entities:
Account
Bill Payment
Bill
Customer
Employee
Estimate
Invoice
Item
Journal Entry
Purchase
Vendor
Report Tools (29 reports)
Run QuickBooks financial reports via report_* tools. All accept optional date range/filter parameters.
Financial Statements:
report_balance_sheet- Balance Sheetreport_profit_and_loss- Profit and Loss (Income Statement)report_profit_and_loss_detail- Profit and Loss with transaction detailreport_trial_balance- Trial Balancereport_cash_flow- Statement of Cash Flows
Sales & Income:
report_customer_sales- Sales by Customerreport_item_sales- Sales by Product/Servicereport_customer_income- Income by Customerreport_department_sales- Sales by Departmentreport_class_sales- Sales by Class
Customer Reports:
report_customer_balance- Customer Balance Summaryreport_customer_balance_detail- Customer Balance Detailreport_aged_receivables- A/R Aging Summaryreport_aged_receivable_detail- A/R Aging Detail
Vendor Reports:
report_vendor_balance- Vendor Balance Summaryreport_vendor_balance_detail- Vendor Balance Detailreport_aged_payables- A/P Aging Summaryreport_aged_payable_detail- A/P Aging Detailreport_vendor_expenses- Expenses by Vendor
Transaction & Ledger Reports:
report_transaction_list- Transaction Listreport_transaction_list_with_splits- Transaction List with Splitsreport_transaction_list_by_customer- Transaction List by Customerreport_transaction_list_by_vendor- Transaction List by Vendorreport_general_ledger- General Ledger Detailreport_journal- Journal Report
Other:
report_inventory_valuation_summary- Inventory Valuation Summaryreport_account_list- Account List Detailreport_trial_balance_fr- Trial Balance (France only)report_tax_summary- Tax Summary (France only)
Error Handling
If you see an error message like "QuickBooks not connected", make sure to:
Check that your
.envfile contains all required variablesVerify that your tokens are valid and not expired
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect QuickBooks Online to AI agents with secure read or write access across multiple companies.
Connect QuickBooks to ChatGPT, Claude & Grok. Record bills, invoices, journal entries. Run reports.
QuickBooks Online in Claude and ChatGPT: 221 tools, full ledger, multi-company, Canada + US, FR/EN.
Personal finance for AI agents: accounts, budgets, goals, 9-strategy debt payoff, reports. OAuth 2.1
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with QuickBooks Online through OAuth authentication. Supports CRUD operations for financial entities like customers, invoices, bills, estimates, and accounting records through natural language.1MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to query and manage QuickBooks Online data through natural language, including customers, invoices, bills, vendors, accounts, and financial reports.7MIT
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to QuickBooks Online, enabling management of invoices, customers, expenses, and reports through natural language.MIT
- AlicenseAqualityCmaintenanceEnables LLM agents to manage QuickBooks Online invoices, customers, and payments via typed tools with OAuth 2.1 authentication, rate limiting, and retries, plus read-only resources for company and receivables summaries.18MIT