
QuickBooks Online MCP server by Intuit: setup, read-only switches and what it can change
Lets Claude Code or Claude Desktop read and edit your QuickBooks Online books: invoices, bills, payments, journal entries and reports. Runs on your computer.
This is Intuit's open-source server for QuickBooks Online, and it runs on your own computer. Your assistant can pull reports like profit and loss or aged receivables, and it can also create, change and void invoices, bills, payments and journal entries. Before you start, you need to register an app on the Intuit Developer Portal and complete a one-time sign-in, which is developer work. If you only want to use QuickBooks in Claude, Intuit's hosted QuickBooks connector is far easier.
Good for
- Developers and Intuit partners building on the QuickBooks Online API
- Bookkeepers who want reports and lookups from a QuickBooks company in their AI chat
- Small businesses that want invoices and bills entered by asking, after a careful setup
- Teams that need the server and its keys to stay on their own machine
Works in
2 supported · 10 should work
Tap an app to see how to set it up and any known problems.
Intuit's README gives a Claude Code config block that points at the built server. GitHub
Intuit's README covers launching it from Claude Desktop; use the current version so it finds its settings file. GitHub
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install QuickBooks Online MCP Server (Intuit)
Claude Code
- 1
Copy this prompt.
Add the QuickBooks Online MCP Server (Intuit) server to Claude Code. Open .mcp.json (create it if it does not exist) and merge in this entry, keeping any servers already there: { "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" } } } } Ask me for QUICKBOOKS_CLIENT_ID, QUICKBOOKS_CLIENT_SECRET, QUICKBOOKS_REFRESH_TOKEN, QUICKBOOKS_REALM_ID, QUICKBOOKS_ENVIRONMENT and only put the values in that config, nowhere else. Then tell me how to load it and whether I need to sign in. - 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Built server (dist/index.js), Intuit app keys and refresh token.
Read-only mode: Set QUICKBOOKS_DISABLE_WRITE, QUICKBOOKS_DISABLE_UPDATE and QUICKBOOKS_DISABLE_DELETE to "true" in the env block. Your assistant can then only look things up and run reports.
Intuit does not publish this server on npm, so you build it from the repo first. Start with a sandbox company: production apps reject localhost sign-in addresses, so the first production sign-in needs a public HTTPS address such as an ngrok tunnel, and an open issue reports production sign-in currently fails. Replace path/to/... with the full path to dist/index.js in your clone.
From the project README. Source.
Tools
Runs your profit and loss report for any date range
Runs a Profit and Loss (income statement) report showing income, expenses and net profit for the period you choose.
Try: “What is my profit and loss for this year?”
Read ·
get_profit_and_lossRuns your balance sheet: assets, liabilities and equity
Runs a Balance Sheet report showing what the business owns, owes and its equity on a given date.
Try: “Show me my balance sheet as of the end of last month.”
Read ·
get_balance_sheetRuns your statement of cash flows
Runs a Statement of Cash Flows report showing money coming in and going out over a period.
Try: “Show me my cash flow for last month.”
Read ·
get_cash_flowShows which customers owe you money and how overdue it is
Runs an A/R Aging report listing unpaid customer invoices grouped by how long they are overdue.
Try: “Who owes me money and how late are they?”
Read ·
get_aged_receivablesShows which bills you owe and how overdue they are
Runs an A/P Aging report listing unpaid vendor bills grouped by how long they are overdue.
Try: “Which bills are overdue right now?”
Read ·
get_aged_payablesShows the open balance for each customer
Runs a Customer Balance report listing the outstanding balance for every customer.
Try: “What does each customer owe me right now?”
Read ·
get_customer_balanceShows the open balance you owe each vendor
Runs a Vendor Balance report listing the outstanding balance you owe each vendor.
Try: “How much do I owe each vendor?”
Read ·
get_vendor_balanceBreaks down your sales by customer
Runs a Sales by Customer report showing how much each customer bought over a period.
Try: “Who were my top 10 customers by sales this year?”
Read ·
get_customer_salesBreaks down your spending by vendor
Runs an Expenses by Vendor report showing how much you spent with each vendor over a period.
Try: “Which vendors did I spend the most with last quarter?”
Read ·
get_vendor_expensesPulls the general ledger with every transaction by account
Runs a General Ledger report listing every transaction posted to each account over a period.
Try: “Show me the general ledger for the Office Supplies account in March.”
Read ·
get_general_ledgerRuns a trial balance of every account
Runs a Trial Balance report showing the debit and credit balance of every account on a date.
Try: “Run a trial balance as of December 31.”
Read ·
get_trial_balanceFinds invoices that match filters you describe
Searches the invoices in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “Show me all unpaid invoices over $1,000.”
Read ·
search_invoicesOpens one invoice with all its details
Looks up an invoice by its ID and shows every detail QuickBooks holds for it.
Try: “Show me invoice 1042.”
Read ·
read_invoiceFinds customers that match filters you describe
Searches the customers in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “Find customers with 'Acme' in the name.”
Read ·
search_customersOpens one customer with all its details
Looks up a customer record by its ID and shows every detail QuickBooks holds for it.
Try: “Show me Acme Corp's customer details.”
Read ·
get_customerFinds customer payments that match filters you describe
Searches the customer payments in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List customer payments received this week.”
Read ·
search_paymentsOpens one customer payment with all its details
Looks up a payment received from a customer by its ID and shows every detail QuickBooks holds for it.
Try: “Show me Acme's last payment.”
Read ·
get_paymentFinds bills that match filters you describe
Searches the bills in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List bills due in the next 7 days.”
Read ·
search_billsOpens one bill with all its details
Looks up a bill from a vendor by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the latest Staples bill.”
Read ·
get-billFinds vendors that match filters you describe
Searches the vendors in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “Find vendors in Portland.”
Read ·
search_vendorsOpens one vendor with all its details
Looks up a vendor (supplier) record by its ID and shows every detail QuickBooks holds for it.
Try: “Show me Staples' vendor details.”
Read ·
get-vendorFinds estimates that match filters you describe
Searches the estimates in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List estimates sent this month that are still pending.”
Read ·
search_estimatesOpens one estimate with all its details
Looks up an estimate or quote by its ID and shows every detail QuickBooks holds for it.
Try: “Show me estimate 204.”
Read ·
get_estimateFinds expenses and purchases that match filters you describe
Searches the expenses and purchases in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “Find card purchases over $200 this month.”
Read ·
search_purchasesOpens one expense or purchase with all its details
Looks up an expense, check or card purchase by its ID and shows every detail QuickBooks holds for it.
Try: “Show me yesterday's Home Depot purchase.”
Read ·
get_purchaseFinds products and services that match filters you describe
Searches the products and services in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “Find products and services with 'consulting' in the name.”
Read ·
search_itemsOpens one product or service with all its details
Looks up a product or service item by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the Consulting item and its rate.”
Read ·
read_itemFinds accounts that match filters you describe
Searches the accounts in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List all my expense accounts.”
Read ·
search_accountsOpens one account with all its details
Looks up an account in your chart of accounts by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the details of the Office Supplies account.”
Read ·
get_accountFinds sales receipts that match filters you describe
Searches the sales receipts in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List sales receipts from today.”
Read ·
search_sales_receiptsOpens one sales receipt with all its details
Looks up a sales receipt for a sale paid on the spot by its ID and shows every detail QuickBooks holds for it.
Try: “Show me sales receipt 310.”
Read ·
get_sales_receiptFinds journal entries that match filters you describe
Searches the journal entries in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “Find journal entries posted to Depreciation this year.”
Read ·
search_journal_entriesOpens one journal entry with all its details
Looks up a journal entry by its ID and shows every detail QuickBooks holds for it.
Try: “Show me journal entry 88.”
Read ·
get_journal_entryFinds bill payments that match filters you describe
Searches the bill payments in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List bill payments made last month.”
Read ·
search_bill_paymentsOpens one bill payment with all its details
Looks up a payment you made against a bill by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the payment for the Staples bill.”
Read ·
get_bill_paymentFinds bank deposits that match filters you describe
Searches the bank deposits in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List bank deposits from last week.”
Read ·
search_depositsOpens one bank deposit with all its details
Looks up a bank deposit by its ID and shows every detail QuickBooks holds for it.
Try: “Show me Friday's deposit.”
Read ·
get_depositFinds transfers between accounts that match filters you describe
Searches the transfers between accounts in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List transfers between accounts this month.”
Read ·
search_transfersOpens one transfer between accounts with all its details
Looks up a transfer between two of your accounts by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the last transfer to savings.”
Read ·
get_transferFinds credit memos that match filters you describe
Searches the credit memos in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List open credit memos.”
Read ·
search_credit_memosOpens one credit memo with all its details
Looks up a credit memo that reduces what a customer owes by its ID and shows every detail QuickBooks holds for it.
Try: “Show me credit memo 12.”
Read ·
get_credit_memoFinds refund receipts that match filters you describe
Searches the refund receipts in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List refunds issued this month.”
Read ·
search_refund_receiptsOpens one refund receipt with all its details
Looks up a refund receipt for money paid back to a customer by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the refund to Jane Smith.”
Read ·
get_refund_receiptFinds purchase orders that match filters you describe
Searches the purchase orders in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List open purchase orders.”
Read ·
search_purchase_ordersOpens one purchase order with all its details
Looks up a purchase order to a vendor by its ID and shows every detail QuickBooks holds for it.
Try: “Show me PO 3001.”
Read ·
get_purchase_orderFinds vendor credits that match filters you describe
Searches the vendor credits in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List vendor credits I have not used yet.”
Read ·
search_vendor_creditsOpens one vendor credit with all its details
Looks up a credit a vendor owes you by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the Staples credit.”
Read ·
get_vendor_creditFinds employees that match filters you describe
Searches the employees in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List all active employees.”
Read ·
search_employeesOpens one employee with all its details
Looks up an employee record by its ID and shows every detail QuickBooks holds for it.
Try: “Show me Jane Smith's employee record.”
Read ·
get_employeeFinds time entries that match filters you describe
Searches the time entries in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “Show me all time entries for Jane this week.”
Read ·
search_time_activitiesOpens one time entry with all its details
Looks up a time entry for billable or payroll hours by its ID and shows every detail QuickBooks holds for it.
Try: “Show me Jane's Monday time entry.”
Read ·
get_time_activityFinds attachments that match filters you describe
Searches the attachments in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “Find attachments on bills from last month.”
Read ·
search_attachablesOpens one attachment with all its details
Looks up a file attached to a record, such as a receipt by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the receipt attached to bill 55.”
Read ·
get_attachableFinds classes that match filters you describe
Searches the classes in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List all my classes.”
Read ·
search_classesOpens one class with all its details
Looks up a class used to track income and expenses by segment by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the Retail class.”
Read ·
get_classFinds locations and departments that match filters you describe
Searches the locations and departments in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List all my locations.”
Read ·
search_departmentsOpens one location or department with all its details
Looks up a location or department used for tracking by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the Portland location.”
Read ·
get_departmentFinds payment terms that match filters you describe
Searches the payment terms in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List my payment terms.”
Read ·
search_termsOpens one payment term with all its details
Looks up a payment term such as Net 30 by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the Net 30 term.”
Read ·
get_termFinds payment methods that match filters you describe
Searches the payment methods in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List my payment methods.”
Read ·
search_payment_methodsOpens one payment method with all its details
Looks up a payment method such as check or card by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the Venmo payment method.”
Read ·
get_payment_methodFinds sales tax codes that match filters you describe
Searches the sales tax codes in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List my sales tax codes.”
Read ·
search_tax_codesOpens one sales tax code with all its details
Looks up a sales tax code by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the California tax code.”
Read ·
get_tax_codeFinds sales tax rates that match filters you describe
Searches the sales tax rates in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List my sales tax rates.”
Read ·
search_tax_ratesOpens one sales tax rate with all its details
Looks up a sales tax rate by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the 8.25% tax rate.”
Read ·
get_tax_rateFinds tax agencies that match filters you describe
Searches the tax agencies in your QuickBooks company using filters such as name, date or amount, and lists the matches.
Try: “List the tax agencies I file with.”
Read ·
search_tax_agenciesOpens one tax agency with all its details
Looks up a tax agency you file with by its ID and shows every detail QuickBooks holds for it.
Try: “Show me the details of my state tax agency.”
Read ·
get_tax_agencyFinds your budgets and their monthly amounts
Searches the budgets set up in QuickBooks and returns their amounts by account and month. Budgets can only be read, not changed.
Try: “Show me this year's budget for marketing.”
Read ·
search_budgetsShows your company name, address and other details
Looks up the company details QuickBooks holds, such as legal name, address and fiscal year.
Try: “What address does QuickBooks have for my company?”
Read ·
get_company_infoDownloads an invoice as a PDF
Downloads a QuickBooks invoice as a PDF file, returned in the chat or saved to a folder on your computer when one is set.
Try: “Download invoice 1042 as a PDF.”
Files ·
get_invoice_pdfCreates a new invoice in your books
Creates an invoice in your QuickBooks company from the details you give.
Try: “Create an invoice for Acme Corp for $1,200 for consulting.”
Write ·
create_invoiceCreates a new customer in your books
Creates a customer record in your QuickBooks company from the details you give.
Try: “Add a new customer: Jane Smith, jane@smithco.com.”
Write ·
create_customerCreates a new customer payment in your books
Creates a payment received from a customer in your QuickBooks company from the details you give.
Try: “Record a $1,200 payment from Acme Corp for invoice 1042.”
Write ·
create_paymentCreates a new bill in your books
Creates a bill from a vendor in your QuickBooks company from the details you give.
Try: “Enter a $340 bill from Staples for office supplies, due in 30 days.”
Write ·
create-billCreates a new vendor in your books
Creates a vendor (supplier) record in your QuickBooks company from the details you give.
Try: “Add a new vendor: Bright Electric, 555-0100.”
Write ·
create-vendorCreates a new estimate in your books
Creates an estimate or quote in your QuickBooks company from the details you give.
Try: “Draft an estimate for the Henderson remodel: $4,500 labor and $2,800 materials.”
Write ·
create_estimateCreates a new expense or purchase in your books
Creates an expense, check or card purchase in your QuickBooks company from the details you give.
Try: “Record a $86 Home Depot card purchase for supplies.”
Write ·
create_purchaseCreates a new product or service in your books
Creates a product or service item in your QuickBooks company from the details you give.
Try: “Create a service called Car repair at $150 an hour.”
Write ·
create_itemCreates a new account in your books
Creates an account in your chart of accounts in your QuickBooks company from the details you give.
Try: “Create an expense account called Software Subscriptions.”
Write ·
create_accountCreates a new sales receipt in your books
Creates a sales receipt for a sale paid on the spot in your QuickBooks company from the details you give.
Try: “Create a sales receipt for a $75 cash sale to Jane Smith.”
Write ·
create_sales_receiptCreates a new journal entry in your books
Creates a journal entry in your QuickBooks company from the details you give.
Try: “Record a $500 depreciation journal entry for this month.”
Write ·
create_journal_entryCreates a new bill payment in your books
Creates a payment you made against a bill in your QuickBooks company from the details you give.
Try: “Record a payment of the Staples bill from checking.”
Write ·
create_bill_paymentCreates a new bank deposit in your books
Creates a bank deposit in your QuickBooks company from the details you give.
Try: “Record a $2,500 deposit to checking.”
Write ·
create_depositCreates a new transfer between accounts in your books
Creates a transfer between two of your accounts in your QuickBooks company from the details you give.
Try: “Move $2,000 from checking to savings.”
Write ·
create_transferCreates a new credit memo in your books
Creates a credit memo that reduces what a customer owes in your QuickBooks company from the details you give.
Try: “Give Acme Corp a $100 credit memo for a late delivery.”
Write ·
create_credit_memoCreates a new refund receipt in your books
Creates a refund receipt for money paid back to a customer in your QuickBooks company from the details you give.
Try: “Record a $40 refund to Jane Smith by card.”
Write ·
create_refund_receiptCreates a new purchase order in your books
Creates a purchase order to a vendor in your QuickBooks company from the details you give.
Try: “Create a purchase order to Staples for 10 boxes of paper.”
Write ·
create_purchase_orderCreates a new vendor credit in your books
Creates a credit a vendor owes you in your QuickBooks company from the details you give.
Try: “Record a $50 credit from Staples for a returned chair.”
Write ·
create_vendor_creditCreates a new employee in your books
Creates an employee record in your QuickBooks company from the details you give.
Try: “Add a new employee, Sam Lee, starting Monday.”
Write ·
create_employeeCreates a new time entry in your books
Creates a time entry for billable or payroll hours in your QuickBooks company from the details you give.
Try: “Log 6 hours of consulting for Jane on Monday for Acme Corp.”
Write ·
create_time_activityCreates a new class in your books
Creates a class used to track income and expenses by segment in your QuickBooks company from the details you give.
Try: “Create a class called Wholesale.”
Write ·
create_classCreates a new location or department in your books
Creates a location or department used for tracking in your QuickBooks company from the details you give.
Try: “Create a location called Seattle.”
Write ·
create_departmentCreates a new payment term in your books
Creates a payment term such as Net 30 in your QuickBooks company from the details you give.
Try: “Create a Net 45 payment term.”
Write ·
create_termCreates a new payment method in your books
Creates a payment method such as check or card in your QuickBooks company from the details you give.
Try: “Add Venmo as a payment method.”
Write ·
create_payment_methodChanges an existing invoice
Edits an invoice that already exists in QuickBooks.
Try: “Change the due date on invoice 1042 to next Friday.”
Write ·
update_invoiceChanges an existing customer
Edits a customer record that already exists in QuickBooks.
Try: “Change Acme Corp's billing email to billing@acme.com.”
Write ·
update_customerChanges an existing customer payment
Edits a payment received from a customer that already exists in QuickBooks.
Try: “Change the deposit account on Acme's last payment.”
Write ·
update_paymentChanges an existing bill
Edits a bill from a vendor that already exists in QuickBooks. It reads the current record and changes only the fields you name.
Try: “Change the due date on the Staples bill to the 15th.”
Write ·
update-billChanges an existing vendor
Edits a vendor (supplier) record that already exists in QuickBooks.
Try: “Update Staples' phone number to 555-0199.”
Write ·
update-vendorChanges an existing estimate
Edits an estimate or quote that already exists in QuickBooks.
Try: “Extend estimate 204 by two weeks.”
Write ·
update_estimateChanges an existing expense or purchase
Edits an expense, check or card purchase that already exists in QuickBooks.
Try: “Change the category on the Home Depot purchase to Repairs.”
Write ·
update_purchaseChanges an existing product or service
Edits a product or service item that already exists in QuickBooks.
Try: “Raise the Consulting rate to $175 an hour.”
Write ·
update_itemChanges an existing account
Edits an account in your chart of accounts that already exists in QuickBooks.
Try: “Rename the Misc account to Other Expenses.”
Write ·
update_accountChanges an existing sales receipt
Edits a sales receipt for a sale paid on the spot that already exists in QuickBooks.
Try: “Add a line to sales receipt 310.”
Write ·
update_sales_receiptChanges an existing journal entry
Edits a journal entry that already exists in QuickBooks.
Try: “Change the memo on journal entry 88.”
Write ·
update_journal_entryChanges an existing bill payment
Edits a payment you made against a bill that already exists in QuickBooks.
Try: “Change the date on the Staples bill payment.”
Write ·
update_bill_paymentChanges an existing bank deposit
Edits a bank deposit that already exists in QuickBooks.
Try: “Change the memo on Friday's deposit.”
Write ·
update_depositChanges an existing transfer between accounts
Edits a transfer between two of your accounts that already exists in QuickBooks.
Try: “Change the amount of the last transfer to $1,500.”
Write ·
update_transferChanges an existing credit memo
Edits a credit memo that reduces what a customer owes that already exists in QuickBooks.
Try: “Change the amount on credit memo 12 to $120.”
Write ·
update_credit_memoChanges an existing refund receipt
Edits a refund receipt for money paid back to a customer that already exists in QuickBooks.
Try: “Update the memo on the refund to Jane Smith.”
Write ·
update_refund_receiptChanges an existing purchase order
Edits a purchase order to a vendor that already exists in QuickBooks.
Try: “Add two toner cartridges to PO 3001.”
Write ·
update_purchase_orderChanges an existing vendor credit
Edits a credit a vendor owes you that already exists in QuickBooks.
Try: “Change the Staples credit to $60.”
Write ·
update_vendor_creditChanges an existing employee
Edits an employee record that already exists in QuickBooks.
Try: “Update Jane Smith's address.”
Write ·
update_employeeChanges an existing time entry
Edits a time entry for billable or payroll hours that already exists in QuickBooks.
Try: “Change Jane's Monday entry to 5 hours.”
Write ·
update_time_activityAttaches a file such as a receipt to a record
Uploads a file, from your computer, a web link or the chat, and attaches it to a record such as a bill or invoice.
Try: “Attach this receipt to bill 55.”
Write ·
create_attachableRenames or re-notes an attachment, without replacing the file
Changes an attachment's file name, note or category. It cannot replace the file itself.
Try: “Add the note "Paid by card" to the receipt on bill 55.”
Write ·
update_attachableChanges an existing class
Edits a class used to track income and expenses by segment that already exists in QuickBooks.
Try: “Rename the Retail class to Stores.”
Write ·
update_classChanges an existing location or department
Edits a location or department used for tracking that already exists in QuickBooks.
Try: “Rename the Portland location to Portland East.”
Write ·
update_departmentChanges an existing payment term
Edits a payment term such as Net 30 that already exists in QuickBooks.
Try: “Change Net 45 to Net 60.”
Write ·
update_termChanges an existing payment method
Edits a payment method such as check or card that already exists in QuickBooks.
Try: “Rename the Card payment method to Credit card.”
Write ·
update_payment_methodChanges your company name, address or contact details
Edits the company details stored in QuickBooks, such as address, phone or email.
Try: “Change my company address to 123 Main St, Portland.”
Write ·
update_company_infoVoids an invoice
Voids an invoice in QuickBooks so it no longer counts in your books.
Try: “Void invoice 1042.”
Delete ·
delete_invoiceRemoves a customer by marking it inactive
Removes a customer record from use by marking it inactive in QuickBooks.
Try: “Remove the duplicate customer Acme Corp (old).”
Delete ·
delete_customerVoids a customer payment
Voids a payment received from a customer in QuickBooks so it no longer counts in your books.
Try: “Void Acme's duplicate payment.”
Delete ·
delete_paymentDeletes a bill
Deletes a bill from a vendor from QuickBooks.
Try: “Delete the duplicate Staples bill from yesterday.”
Delete ·
delete-billDeletes a vendor
Deletes a vendor (supplier) record from QuickBooks. An open issue reports this tool currently always fails.
Try: “Remove the vendor Bright Electric.”
Delete ·
delete-vendorVoids an estimate
Voids an estimate or quote in QuickBooks so it no longer counts in your books.
Try: “Void estimate 204.”
Delete ·
delete_estimateRemoves an expense or purchase by marking it inactive
Removes an expense, check or card purchase from use by marking it inactive in QuickBooks.
Try: “Remove the duplicate Home Depot purchase.”
Delete ·
delete_purchaseRemoves a product or service by marking it inactive
Removes a product or service item from use by marking it inactive in QuickBooks.
Try: “Mark the old Car repair item inactive.”
Delete ·
delete_itemVoids a sales receipt
Voids a sales receipt for a sale paid on the spot in QuickBooks so it no longer counts in your books.
Try: “Void sales receipt 310.”
Delete ·
delete_sales_receiptRemoves a journal entry by marking it inactive
Removes a journal entry from use by marking it inactive in QuickBooks.
Try: “Remove journal entry 88.”
Delete ·
delete_journal_entryRemoves a bill payment by marking it inactive
Removes a payment you made against a bill from use by marking it inactive in QuickBooks.
Try: “Delete the Staples bill payment I entered twice.”
Delete ·
delete_bill_paymentDeletes a bank deposit
Deletes a bank deposit from QuickBooks.
Try: “Delete Friday's duplicate deposit.”
Delete ·
delete_depositDeletes a transfer between accounts
Deletes a transfer between two of your accounts from QuickBooks.
Try: “Delete the last transfer to savings.”
Delete ·
delete_transferVoids a credit memo
Voids a credit memo that reduces what a customer owes in QuickBooks so it no longer counts in your books.
Try: “Void credit memo 12.”
Delete ·
delete_credit_memoVoids a refund receipt
Voids a refund receipt for money paid back to a customer in QuickBooks so it no longer counts in your books.
Try: “Void the refund to Jane Smith.”
Delete ·
delete_refund_receiptDeletes a purchase order
Deletes a purchase order to a vendor from QuickBooks.
Try: “Delete PO 3001.”
Delete ·
delete_purchase_orderDeletes a vendor credit
Deletes a credit a vendor owes you from QuickBooks.
Try: “Delete the Staples credit.”
Delete ·
delete_vendor_creditRemoves an employee by marking them inactive
Removes an employee record from use by marking it inactive in QuickBooks.
Try: “Mark Sam Lee as inactive.”
Delete ·
delete_employeeDeletes a time entry
Deletes a time entry for billable or payroll hours from QuickBooks.
Try: “Delete Jane's Monday time entry.”
Delete ·
delete_time_activityDeletes an attachment
Deletes a file attached to a record, such as a receipt from QuickBooks.
Try: “Remove the wrong receipt from bill 55.”
Delete ·
delete_attachableUsed by the assistant behind the scenes
Checks company settings like accounting method and tracking
Reads company settings such as cash or accrual accounting and whether classes, locations and purchase orders are turned on, so the assistant fills records in correctly.
Try: “Is my company set to cash or accrual accounting?”
Read ·
get_preferences
Read from the source code
Pros and cons
Good
- Built and published by Intuit in its own GitHub organization.
- Covers 29 kinds of QuickBooks records and 11 financial reports.
- Three switches remove create, update or delete tools completely, so read-only is real.
- Runs on your computer, so your keys never pass through a third party.
- A sandbox company lets you try everything on fake data first.
- Free and open source.
Watch out
- Needs an Intuit developer app and a one-time browser sign-in before anything works.
- Production sign-in needs a public HTTPS address, and an open issue says it currently fails.
- Not on npm: you clone, install and build it yourself.
- All write and delete tools are on until you switch them off.
- Failed calls are not flagged as errors, and a few tools are reported broken.
- Only works in apps on your computer, not in claude.ai or ChatGPT on the web.
Permissions
high risk · 5 things to watch
High risk
By default your assistant can create, change and void invoices, payments, bills and journal entries in your real books. Turn on all three disable switches for read-only use, and try it on a sandbox company before your live one.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
It can create, change and void transactions
All create, update and delete tools are on by default, including invoices, payments, bills and journal entries. Turn on the three disable switches unless you need edits. github.com
Your app keys and sign-in token sit on disk
The client secret and refresh token live in a file on your computer. Anyone who copies them can reach your books until you disconnect the app in QuickBooks. github.com
Production sign-in is currently broken
An open issue reports the sign-in script fails with production keys. Try it on a sandbox company first. github.com
A failed change can look like it worked
Errors come back as normal text, so your assistant may say it saved something it did not. Check every change in QuickBooks. github.com
Old vulnerable dependencies were fixed
A July 2026 audit found 15 vulnerable dependencies; a retest in August found none. Use the current version. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | Set QUICKBOOKS_DISABLE_WRITE=true, QUICKBOOKS_DISABLE_UPDATE=true and QUICKBOOKS_DISABLE_DELETE=true in the server env. Create, update and delete tools are then never registered; get, search and report tools stay. |
|---|---|
| Talks to | QuickBooks Online API (Intuit) |
| Sign-in and keys | Client ID, client secret and refresh token in the repo's .env or the MCP client config; the rotated refresh token is written back to .env or to QUICKBOOKS_TOKEN_STORE_PATH. |
| Scopes |
|
Alternatives
Use Intuit's hosted QuickBooks connector if you just want QuickBooks in Claude: you sign in with Intuit and nothing runs on your machine. Pick this local server when you are a developer who needs the full API, all 142 tools, or keys that stay on your own computer.
| Server | Official | Runs | Sign-in | Can change things | Tools |
|---|---|---|---|---|---|
| QuickBooks Online MCP (Intuit)This page | Official | Local | Developer app | Yes | 142 |
| Intuit QuickBooks connector | Official | Hosted | Intuit account | Yes | 74 |
| Meridian QuickBooks Connector | Community | Hosted | – | Yes | – |
| @codespar/mcp-quickbooks | Community | Local | – | – | – |
| quickbooks-mcp (laf-rge) | Community | Local | – | Yes | – |
What people say
Developers like its real read-only switches and dislike how hard the production sign-in is.
What people like
- The create, update and delete switches really remove tools, so a read-only setup is easy to check
Common complaints
- Production sign-in is hard and currently broken for some users
- Errors are returned as normal results, which hides failures
- Some tools fail outright, such as deleting a vendor
In their words
“Removing the tools from the catalog before `server.tool()` rather than instructing the model not to call them is real capability removal, and it made a read-only deployment straightforward to verify.”dmorizet15GitHub issueSep 2026
“Since #104 by @ehkay-bit, it is not possible to run `npm run auth` with production credentials.”plcarmel
Questions
Can it create or change transactions?
Yes. Out of the box it can create, edit and delete or void invoices, bills, payments, journal entries, deposits, transfers and more. Deletes often void the record or mark it inactive, but they still change your books.
How do I make it read-only?
Set QUICKBOOKS_DISABLE_WRITE, QUICKBOOKS_DISABLE_UPDATE and QUICKBOOKS_DISABLE_DELETE to true in the server settings. Those tools are then removed, and lookups and reports keep working.
Is there a simpler way to use QuickBooks in Claude?
Yes. Intuit's hosted QuickBooks connector is in Claude's connectors directory: you click Connect and sign in with Intuit, with no developer app or install. It covers reports, invoices, estimates, customers and payment links.
Do I need an Intuit developer account?
Yes. You register an app on the Intuit Developer Portal to get keys, then sign in once in your browser. Intuit offers no simple personal API key.
Why does sign-in fail for my real (production) company?
Intuit does not accept a localhost address for production apps, so the first sign-in needs a public HTTPS address such as an ngrok tunnel. An open issue also reports the sign-in script currently fails with production keys.
Is it safe to connect my real books?
Only with care. Start on a sandbox company, turn on the three read-only switches, and keep the keys file private, since it gives full access to the company.
Does it work with QuickBooks Desktop?
No. It only works with QuickBooks Online.
Is it free?
Yes. It is free and open source. You need a QuickBooks Online company, or a sandbox company from the Intuit Developer Portal.
How often do I need to sign in again?
Rarely. The server renews its access on its own and saves the new token, so you only sign in again if its 100-day renewal window lapses or you disconnect the app.
Information
updated Nov 1, 2026
- Publisher
- Intuit (official)
- Transport
- stdio
- Auth
- OAuth
- License
- Apache-2.0
- Last commit
- Sep 15, 2026
Other QuickBooks MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 10Hide
- intuit/quickbooks-online-mcp-server README · github.com
- Production authentication doesn't work anymore · github.com
- Intuit QuickBooks connector for Claude · claude.com
- src/index.ts · github.com
- Available tools · github.com
- register-tool.ts · github.com
- Tool failures are returned as normal results · github.com
- 15 production-dependency vulnerabilities (3 critical) at HEAD · github.com
- QuickBooks MCP server · meridian.pilot.com
- delete-vendor always fails · github.com