
Quickbooks Mcp Server
Connects Claude directly to QuickBooks Online via the Intuit REST API with OAuth2 authentication. The free tier gives you read access to invoices, expenses, account balances, transactions, and customer data. Premium tier adds P&L, balance sheet, cash flow reports, AR/AP aging, and write operations like creating invoices, recording payments, and logging expenses. Tokens are encrypted at rest with auto-refresh, and rate limiting is built in. Setup requires creating a QuickBooks developer app, running an OAuth flow to get your realm ID, and dropping credentials into your Claude Desktop config. If you're doing bookkeeping through natural language instead of clicking through the QuickBooks UI, this handles the API plumbing.
- tools
- 18
- transport
- STDIO
- last updated
- Mar 25, 2026
Tools
18 toolsPublic tool metadata for what this MCP can expose to an agent.
QUICKBOOKS_CREATE_ACCOUNTCreate a new account in QuickBooks with the given parameters.4 params
Create a new account in QuickBooks with the given parameters.
account_numberstringaccount_sub_typestringCashOnHand · Checking · MoneyMarket · RentsHeldInTrust · Savings · TrustAccountsaccount_typestringBank · Other Current Asset · Fixed Asset · Other Asset · Accounts Receivable · EquitynamestringQUICKBOOKS_CREATE_CUSTOMERCreate a new customer in QuickBooks with the given parameters.6 params
Create a new customer in QuickBooks with the given parameters.
display_namestringfamily_namestringgiven_namestringmiddle_namestringsuffixstringtitlestringQUICKBOOKS_CREATE_EMPLOYEECreate a new employee in QuickBooks.3 params
Create a new employee in QuickBooks.
family_namestringgiven_namestringprimary_addrobjectQUICKBOOKS_CREATE_INVOICETool to create a new invoice in QuickBooks. Use after confirming customer and item details.3 params
Tool to create a new invoice in QuickBooks. Use after confirming customer and item details.
customer_idstringlinesarrayminorversionintegerQUICKBOOKS_CREATE_VENDORCreate a new vendor in QuickBooks with the given details.6 params
Create a new vendor in QuickBooks with the given details.
display_namestringfamily_namestringgiven_namestringmiddle_namestringsuffixstringtitlestringQUICKBOOKS_CUSTOMER_BALANCE_DETAILGenerate a balance detail report for a customer in QuickBooks with the given customer ID.13 params
Generate a balance detail report for a customer in QuickBooks with the given customer ID.
aging_methodstringReport_Date · CurrentarpaidstringAll · Paid · Unpaidcolumnsstringcustom1stringcustomer_idsarraydepartment_idsarrayend_duedatestringreport_datestringshipviastringsort_bystringsort_orderstringascend · descendstart_duedatestringterm_idsarrayQUICKBOOKS_CUSTOMER_BALANCE_REPORTGenerate a balance report for a customer in QuickBooks with the given customer ID.8 params
Generate a balance report for a customer in QuickBooks with the given customer ID.
accounting_methodstringCash · AccrualarpaidstringAll · Paid · Unpaidcustomer_idsarraydate_macrostringToday · Yesterday · This Week · Last Week · This Week-to-date · Last Week-to-datedepartment_idsarrayreport_datestringsort_orderstringascend · descendsummarize_column_bystringTotal · Month · Week · Days · Quarter · YearQUICKBOOKS_LIST_INVOICESTool to list invoices via QuickBooks Query endpoint. Use when retrieving invoices with optional pagination and custom fields.3 params
Tool to list invoices via QuickBooks Query endpoint. Use when retrieving invoices with optional pagination and custom fields.
fieldsarraymax_resultsintegerstart_positionintegerQUICKBOOKS_QUERY_ACCOUNTQuery an account in QuickBooks with the given parameters.1 params
Query an account in QuickBooks with the given parameters.
querystringQUICKBOOKS_READ_ACCOUNTRead an account in QuickBooks with the given account ID.1 params
Read an account in QuickBooks with the given account ID.
account_idstringQUICKBOOKS_READ_CUSTOMERRead a customer in QuickBooks with the given customer ID.1 params
Read a customer in QuickBooks with the given customer ID.
customer_idstringQUICKBOOKS_READ_EMPLOYEERead an employee's details in QuickBooks with the given employee ID.1 params
Read an employee's details in QuickBooks with the given employee ID.
employee_idstringQUICKBOOKS_READ_INVOICETool to fetch a QuickBooks invoice by ID or the most recent if no ID provided. Use when needing full invoice details including metadata and sync token.2 params
Tool to fetch a QuickBooks invoice by ID or the most recent if no ID provided. Use when needing full invoice details including metadata and sync token.
invoice_idstringminorversionintegerQUICKBOOKS_READ_VENDORRead a vendor in QuickBooks with the given vendor ID.1 params
Read a vendor in QuickBooks with the given vendor ID.
vendor_idstringQUICKBOOKS_UPDATE_FULL_INVOICETool to fully replace an Invoice. Use when you need to update all aspects of an existing invoice in a single operation.3 params
Tool to fully replace an Invoice. Use when you need to update all aspects of an existing invoice in a single operation.
invoiceobjectminorversionintegerrequestidstringQUICKBOOKS_UPDATE_SPARSE_INVOICETool to perform a sparse update of an existing invoice. Use when you need to update only specific invoice fields without overwriting other data.1 params
Tool to perform a sparse update of an existing invoice. Use when you need to update only specific invoice fields without overwriting other data.
invoiceobjectQUICKBOOKS_VENDOR_BALANCE_DETAILGenerate a balance detail report for a vendor in QuickBooks with the given vendor ID.12 params
Generate a balance detail report for a vendor in QuickBooks with the given vendor ID.
accounting_methodstringCash · AccrualappaidstringAll · Paid · Unpaiddate_macrostringToday · Yesterday · This Week · Last Week · This Week-to-date · Last Week-to-datedepartment_idsarrayduedate_macrostringToday · Yesterday · This Week · Last Week · This Week-to-date · Last Week-to-dateend_duedatestringreport_datestringsort_bystringsort_orderstringascend · descendstart_duedatestringterm_idsarrayvendor_idsarrayQUICKBOOKS_VENDOR_BALANCE_REPORTGet the balance report of a vendor in QuickBooks with the given vendor ID.9 params
Get the balance report of a vendor in QuickBooks with the given vendor ID.
accounting_methodstringCash · AccrualappaidstringAll · Paid · Unpaiddate_macrostringToday · Yesterday · This Week · Last Week · This Week-to-date · Last Week-to-datedepartment_idsarrayqzurlstringreport_datestringsort_orderstringascend · descendsummarize_column_bystringTotal · Month · Week · Days · Quarter · Yearvendor_idsarraySponsors
Readme
QuickBooks MCP Server
Connect Claude Desktop and Claude Code to QuickBooks Online for natural-language accounting. Ask questions about invoices, expenses, reports, and more using plain English.
What is this?
An MCP (Model Context Protocol) server that gives Claude direct access to your QuickBooks Online data. Instead of logging into QuickBooks and clicking through reports, just ask Claude:
"Show me all overdue invoices sorted by amount" "What's our P&L this quarter?" "Create an invoice for Acme Corp for $2,500"
The server handles OAuth authentication, API calls, rate limiting, and data formatting.
Quick Start
1. Install
pip install quickbooks-mcp
Or install from source:
git clone https://github.com/nyxtools/quickbooks-mcp-server.git
cd quickbooks-mcp-server
pip install -e .
2. Create a QuickBooks Developer App
Details
- Repository
- github.com/nyxtoolsdev/quickbooks-mcp-server
- Category
- Finance & Commerce
- Package
quickbooks-mcp- Transport
- STDIO
- Registry
- MCP registry, active