← Back to directory
Q

QuickBooks Online MCP Server

Official
Access QuickBooks Online data and accounting operations through MCP.
GitHub source repository ↗
★ 370 Stars Category · Other Very popular Source revision c351dc011d9c
32FMRS · D
Reliability
4/20
Security and permissions
7/20
Maintenance
6/20
Documentation
8/20
Setup experience
7/20

Broad coverage with 145 tools, 29 entity types, and 11 reports; installation depends on Intuit app registration and OAuth, and the conflicting license statements should be verified.

Read the FMRS scoring method →

QuickBooks Online MCP Server exposes QuickBooks Online functionality to AI assistants through the Model Context Protocol. It provides CRUD and search capabilities for 29 entity types, 11 financial reports, OAuth 2.0 authentication, and local stdio execution.

Tools

create_customer
Create a customer
get_customer
Get a customer by ID
update_customer
Update customer details
delete_customer
Delete a customer
search_customers
Search customers with filters
create_invoice
Create an invoice
get_invoice
Get an invoice by ID
update_invoice
Update invoice details
delete_invoice
Delete or void an invoice
search_invoices
Search invoices with filters
get_invoice_pdf
Download an invoice as a PDF
create_estimate
Create an estimate
get_estimate
Get an estimate by ID
update_estimate
Update an estimate
delete_estimate
Delete an estimate
search_estimates
Search estimates
create_bill
Create a bill
get_bill
Get a bill by ID
update_bill
Update a bill
delete_bill
Delete a bill
search_bills
Search bills
create_vendor
Create a vendor
get_vendor
Get a vendor by ID
update_vendor
Update a vendor
delete_vendor
Delete a vendor
search_vendors
Search vendors
create_employee
Create an employee
get_employee
Get an employee by ID
update_employee
Update an employee
delete_employee
Delete an employee
search_employees
Search employees
create_account
Create an account
get_account
Get an account by ID
update_account
Update an account
search_accounts
Search accounts
create_item
Create an item
get_item
Get an item by ID
update_item
Update an item
delete_item
Delete an item
search_items
Search items
create_journal_entry
Create a journal entry
get_journal_entry
Get a journal entry by ID
update_journal_entry
Update a journal entry
delete_journal_entry
Delete a journal entry
search_journal_entries
Search journal entries
create_bill_payment
Create a bill payment
get_bill_payment
Get a bill payment by ID
update_bill_payment
Update a bill payment
delete_bill_payment
Delete a bill payment
search_bill_payments
Search bill payments
create_purchase
Create a purchase
get_purchase
Get a purchase by ID
update_purchase
Update a purchase
delete_purchase
Delete a purchase
search_purchases
Search purchases
create_payment
Record a customer payment
get_payment
Get a payment by ID
update_payment
Update a payment
delete_payment
Void a payment
search_payments
Search payments
create_sales_receipt
Create a sales receipt
get_sales_receipt
Get a sales receipt by ID
update_sales_receipt
Update a sales receipt
delete_sales_receipt
Void a sales receipt
search_sales_receipts
Search sales receipts
create_credit_memo
Create a credit memo
get_credit_memo
Get a credit memo by ID
update_credit_memo
Update a credit memo
delete_credit_memo
Void a credit memo
search_credit_memos
Search credit memos
create_refund_receipt
Create a refund receipt
get_refund_receipt
Get a refund receipt by ID
update_refund_receipt
Update a refund receipt
delete_refund_receipt
Void a refund receipt
search_refund_receipts
Search refund receipts
create_purchase_order
Create a purchase order
get_purchase_order
Get a purchase order by ID
update_purchase_order
Update a purchase order
delete_purchase_order
Delete a purchase order
search_purchase_orders
Search purchase orders
create_vendor_credit
Create a vendor credit
get_vendor_credit
Get a vendor credit by ID
update_vendor_credit
Update a vendor credit
delete_vendor_credit
Delete a vendor credit
search_vendor_credits
Search vendor credits
create_deposit
Create a bank deposit
get_deposit
Get a deposit by ID
update_deposit
Update a deposit
delete_deposit
Delete a deposit
search_deposits
Search deposits
create_transfer
Create an account transfer
get_transfer
Get a transfer by ID
update_transfer
Update a transfer
delete_transfer
Delete a transfer
search_transfers
Search transfers
create_time_activity
Create a time activity
get_time_activity
Get a time activity by ID
update_time_activity
Update a time activity
delete_time_activity
Delete a time activity
search_time_activities
Search time activities

Setup

Clone the repository, run npm install and npm run build. Copy .env.example to .env and provide the QuickBooks OAuth client credentials, refresh token, Realm ID, and environment. Register an app in the Intuit Developer Portal and complete the browser-based OAuth flow; sandbox supports a localhost callback, while production requires a public HTTPS callback. Configure the client to run dist/index.js as a node stdio subprocess.

claude_desktop_config.json
{"mcpServers":{"quickbooks":{"command":"node","args":["path/to/mcp-quickbooks-online/dist/index.js"],"env":{"QUICKBOOKS_CLIENT_ID":"your_client_id","QUICKBOOKS_CLIENT_SECRET":"your_client_secret","QUICKBOOKS_REFRESH_TOKEN":"your_refresh_token","QUICKBOOKS_REALM_ID":"your_realm_id","QUICKBOOKS_ENVIRONMENT":"sandbox","QUICKBOOKS_DISABLE_WRITE":"false","QUICKBOOKS_DISABLE_UPDATE":"false","QUICKBOOKS_DISABLE_DELETE":"false"}}}}

Fit and risk

Best for

  • Developers integrating QuickBooks Online data or accounting operations
  • Local integrations using Claude Code or another MCP-compatible client
  • Teams needing sandbox testing or production company access

Not for

  • Users who do not use QuickBooks Online
  • Users unable to register an Intuit app and complete OAuth authorization
  • Teams seeking a hosted service without a local process or credential configuration

Required permissions

  • Requires Intuit OAuth 2.0 app credentials
  • Requires access to a QuickBooks Online company and its Realm ID
  • Depending on enabled tools, may require permission to read, create, update, and delete accounting data

Risks and side effects

  • Write, update, and delete tools can change or void accounting records
  • Refresh tokens rotate automatically and are written back to a configuration file
  • Initial production OAuth authorization requires a public HTTPS callback
  • The source contains conflicting license information: Apache-2.0 in repository metadata and MIT in the README

Troubleshooting

  1. Verify all environment variables
  2. Check that tokens are valid and not expired
  3. Ensure the Intuit redirect URI exactly matches the registered URI
  4. Use QUICKBOOKS_ENVIRONMENT=sandbox for sandbox testing
  5. On a read-only filesystem, set QUICKBOOKS_TOKEN_STORE_PATH to an absolute writable token-file path

Use cases

Query customers, invoices, bills, and payments
Create and update QuickBooks Online accounting records
Retrieve balance sheet, profit and loss, cash flow, and other reports
Provide real-time QuickBooks Online data to AI applications through MCP

Supported clients

Claude CodeFull support