100+ integrations are ready to connect to your AI.Connect your first MCP

QuickBooks MCP server for your AI

Raise and email invoices, chase what's unpaid, enter supplier bills, add customers and items, and pull P&L or aged receivables straight out of the company file it's connected to.

PopMCPQuickBooks

Show me aged receivables and which invoices are over 60 days past due

Supported QuickBooks tools

Every read, write and polled trigger PopMCP exposes across the Accounting API — sales, purchases, lists, items, reports, query and change data capture.

quickbooks_create_estimate

Create a Estimate.

quickbooks_create_invoice

Create a Invoice.

quickbooks_create_payment

Create a Payment.

quickbooks_create_salesreceipt

Create a SalesReceipt.

quickbooks_get_estimate

Read a single Estimate by Id.

quickbooks_get_invoice

Read a single Invoice by Id.

quickbooks_get_payment

Read a single Payment by Id.

quickbooks_get_salesreceipt

Read a single SalesReceipt by Id.

quickbooks_send_invoice

Email a Invoice.

quickbooks_update_invoice

Update a Invoice.

quickbooks_create_bill

Create a Bill.

quickbooks_get_bill

Read a single Bill by Id.

quickbooks_update_bill

Update a Bill.

quickbooks_create_attachable

Create an Attachable — a NOTE or a link/metadata attachment tied to one or more records.

quickbooks_create_customer

Create a Customer.

quickbooks_get_companyinfo

Read the company profile (legal + company name, address, contact, fiscal year, country, subscription region).

quickbooks_get_customer

Read a single Customer by Id.

quickbooks_update_customer

Update a Customer.

quickbooks_cdc

Change Data Capture — return every object of the requested entities created/updated/deleted/voided since a timestamp.

quickbooks_create_account

Create a Account.

quickbooks_create_item

Create a Item.

quickbooks_create_vendor

Create a Vendor.

quickbooks_get_account

Read a single Account by Id.

quickbooks_get_item

Read a single Item by Id.

quickbooks_get_vendor

Read a single Vendor by Id.

quickbooks_query

Run a QuickBooks query (the SQL-like read language) — the primary way to LIST, FILTER, and COUNT records of any entity.

quickbooks_update_item

Update a Item.

quickbooks_run_report

Run a QuickBooks report and return its row/column data.

quickbooks_create_creditmemo

Create a CreditMemo.

quickbooks_create_refundreceipt

Create a RefundReceipt.

quickbooks_delete_creditmemo

Delete a CreditMemo (transaction entities only).

quickbooks_delete_estimate

Delete a Estimate (transaction entities only).

quickbooks_delete_invoice

Delete a Invoice (transaction entities only).

quickbooks_delete_payment

Delete a Payment (transaction entities only).

quickbooks_delete_refundreceipt

Delete a RefundReceipt (transaction entities only).

quickbooks_delete_salesreceipt

Delete a SalesReceipt (transaction entities only).

quickbooks_get_creditmemo

Read a single CreditMemo by Id.

quickbooks_get_refundreceipt

Read a single RefundReceipt by Id.

quickbooks_send_creditmemo

Email a CreditMemo.

quickbooks_send_estimate

Email a Estimate.

quickbooks_send_refundreceipt

Email a RefundReceipt.

quickbooks_send_salesreceipt

Email a SalesReceipt.

quickbooks_update_creditmemo

Update a CreditMemo.

quickbooks_update_estimate

Update a Estimate.

quickbooks_update_payment

Update a Payment.

quickbooks_update_refundreceipt

Update a RefundReceipt.

quickbooks_update_salesreceipt

Update a SalesReceipt.

quickbooks_void_invoice

Void a Invoice (zeroes the amounts but keeps the record, unlike delete).

quickbooks_void_payment

Void a Payment (zeroes the amounts but keeps the record, unlike delete).

quickbooks_void_salesreceipt

Void a SalesReceipt (zeroes the amounts but keeps the record, unlike delete).

quickbooks_create_creditcardpayment

Create a CreditCardPayment.

quickbooks_create_deposit

Create a Deposit.

quickbooks_create_journalentry

Create a JournalEntry.

quickbooks_create_recurringtransaction

Create a RecurringTransaction.

quickbooks_create_timeactivity

Create a TimeActivity.

quickbooks_create_transfer

Create a Transfer.

quickbooks_delete_creditcardpayment

Delete a CreditCardPayment (transaction entities only).

quickbooks_delete_deposit

Delete a Deposit (transaction entities only).

quickbooks_delete_journalentry

Delete a JournalEntry (transaction entities only).

quickbooks_delete_recurringtransaction

Delete a RecurringTransaction (transaction entities only).

quickbooks_delete_timeactivity

Delete a TimeActivity (transaction entities only).

quickbooks_delete_transfer

Delete a Transfer (transaction entities only).

quickbooks_get_creditcardpayment

Read a single CreditCardPayment by Id.

quickbooks_get_deposit

Read a single Deposit by Id.

quickbooks_get_exchangerate

Read the exchange rate for a source currency (against the company's home currency) as of a date.

quickbooks_get_journalentry

Read a single JournalEntry by Id.

quickbooks_get_recurringtransaction

Read a single RecurringTransaction by Id.

quickbooks_get_reimbursecharge

Read a single ReimburseCharge by Id (billable expenses awaiting reimbursement; created implicitly, read-only via the API).

quickbooks_get_timeactivity

Read a single TimeActivity by Id.

quickbooks_get_transfer

Read a single Transfer by Id.

quickbooks_update_creditcardpayment

Update a CreditCardPayment.

quickbooks_update_deposit

Update a Deposit.

quickbooks_update_exchangerate

Set/override an exchange rate.

quickbooks_update_journalentry

Update a JournalEntry.

quickbooks_update_recurringtransaction

Update a RecurringTransaction.

quickbooks_update_timeactivity

Update a TimeActivity.

quickbooks_update_transfer

Update a Transfer.

quickbooks_create_billpayment

Create a BillPayment.

quickbooks_create_purchase

Create a Purchase.

quickbooks_create_purchaseorder

Create a PurchaseOrder.

quickbooks_create_vendorcredit

Create a VendorCredit.

quickbooks_delete_bill

Delete a Bill (transaction entities only).

quickbooks_delete_billpayment

Delete a BillPayment (transaction entities only).

quickbooks_delete_purchase

Delete a Purchase (transaction entities only).

quickbooks_delete_purchaseorder

Delete a PurchaseOrder (transaction entities only).

quickbooks_delete_vendorcredit

Delete a VendorCredit (transaction entities only).

quickbooks_get_billpayment

Read a single BillPayment by Id.

quickbooks_get_purchase

Read a single Purchase by Id.

quickbooks_get_purchaseorder

Read a single PurchaseOrder by Id.

quickbooks_get_vendorcredit

Read a single VendorCredit by Id.

quickbooks_send_purchaseorder

Email a PurchaseOrder.

quickbooks_update_billpayment

Update a BillPayment.

quickbooks_update_purchase

Update a Purchase.

quickbooks_update_purchaseorder

Update a PurchaseOrder.

quickbooks_update_vendorcredit

Update a VendorCredit.

quickbooks_void_billpayment

Void a BillPayment (zeroes the amounts but keeps the record, unlike delete).

quickbooks_create_class

Create a Class.

quickbooks_create_companycurrency

Create a CompanyCurrency.

quickbooks_create_department

Create a Department.

quickbooks_create_journalcode

Create a JournalCode.

quickbooks_create_paymentmethod

Create a PaymentMethod.

quickbooks_create_term

Create a Term.

quickbooks_get_budget

Read a single Budget by Id.

quickbooks_get_class

Read a single Class by Id.

quickbooks_get_companycurrency

Read a single CompanyCurrency by Id.

quickbooks_get_department

Read a single Department by Id.

quickbooks_get_journalcode

Read a single JournalCode by Id.

quickbooks_get_paymentmethod

Read a single PaymentMethod by Id.

quickbooks_get_term

Read a single Term by Id.

quickbooks_update_class

Update a Class.

quickbooks_update_companycurrency

Update a CompanyCurrency.

quickbooks_update_department

Update a Department.

quickbooks_update_journalcode

Update a JournalCode.

quickbooks_update_paymentmethod

Update a PaymentMethod.

quickbooks_update_term

Update a Term.

quickbooks_create_tax_code

Create a TaxCode together with its TaxRate(s) in one call (the TaxService — the only way to create tax codes/rates via the API).

quickbooks_create_taxagency

Create a TaxAgency.

quickbooks_get_taxagency

Read a single TaxAgency by Id.

quickbooks_get_taxcode

Read a single TaxCode by Id.

quickbooks_get_taxrate

Read a single TaxRate by Id.

quickbooks_delete_attachable

Delete a Attachable (transaction entities only).

quickbooks_get_attachable

Read a single Attachable by Id (attachment/note metadata + its AttachableRef links to parent records).

quickbooks_get_customertype

Read a single CustomerType by Id.

quickbooks_get_preferences

Read the company's Preferences (the singleton settings object: sales/expense forms, accounting method default, currency, tax, etc.).

quickbooks_update_attachable

Update a Attachable.

quickbooks_update_companyinfo

Update the company profile.

quickbooks_update_preferences

Update the company Preferences.

quickbooks_batch

Execute up to 30 operations (create / update / delete / query / read, mixed) in ONE request.

quickbooks_create_employee

Create a Employee.

quickbooks_get_employee

Read a single Employee by Id.

quickbooks_update_account

Update a Account.

quickbooks_update_employee

Update a Employee.

quickbooks_update_vendor

Update a Vendor.

Connect QuickBooks to your AI

Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the QuickBooks side.

Enter the Client ID and Client secret from your own Intuit app, plus an optional Environment, then authorize in the browser and pick the company. No password is shared and the connection locks to that one company file.

Auth typeyour-quickbooks-value
Client IDABxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Client secret••••••••••••3f7a
Authorize PopMCP on QuickBooksAuthorize

Then just ask for the work

  • Show me aged receivables and which invoices are over 60 days past due

    • run_report
    • query
  • Bump the due date on all open invoices for Acme Corp out by 14 days

    • query
    • get_invoice
    • update_invoice
  • Raise an invoice for Acme for 12 hours of onsite work and email it over

    • get_customer
    • create_invoice
    • send_invoice
  • What changed on invoices and payments since Friday, and who still owes us?

    • cdc
    • query
    • run_report

Use QuickBooks from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

QuickBooks MCP server questions

What teams ask before putting QuickBooks behind an AI client.

Do I need my own Intuit developer app to connect QuickBooks?

Yes. The connect form asks for the Client ID and Client secret from an OAuth app in your own Intuit developer account, alongside an optional Environment field. You then authorize in the browser and choose the company, so your QuickBooks sign-in itself is never shared with PopMCP.

What can the agent reach once the account is connected?

The connection is locked to the single company file you picked during authorization. Inside it, the agent works across the Accounting API: customers, vendors, items, invoices, bills, payments, estimates, sales receipts, journal entries, the chart of accounts, reports, the query language, batch operations and change data capture. Nothing outside that company file is in reach.

There is no list_invoices tool — how does the agent find records?

QuickBooks exposes one SQL-like read language, and query is the primary way to list, filter and count records of any entity. The get_ tools, such as get_invoice or get_customer, then pull a single record by Id once query has found it. Reports come back through run_report, and cdc answers "what changed since Tuesday" by returning every object of the entities you name that was created, updated, deleted or voided after a timestamp.

Can I try this against a test company before touching live books?

The connect form has an optional Environment field next to the Client ID and Client secret. Because the credentials come from your own Intuit app and you choose the company during authorization, you can point a first connection at a test company and run the write-heavy prompts there. Authorize a second connection for the live company file when you are happy with what the agent does — each connection stays locked to the one file you picked.

Can the agent delete records in my books?

Only transaction entities have delete tools: delete_invoice, delete_estimate, delete_creditmemo, delete_payment, delete_refundreceipt and delete_salesreceipt. Name records such as customers, vendors and items have no delete at all — the agent changes them with update_customer, update_item and the like. To hold a deletion for a human, keep writes on and require approval; to take deletion off the table entirely, set the connection read-only so no write tool is exposed.

How many QuickBooks operations does the MCP server expose?

133 operations across 14 API modules, split 41 reads to 92 writes, plus 23 triggers PopMCP can watch. The 28 most-used operations load into your AI client by default and the rest stay searchable, which keeps the tool list from crowding out the model's context. Switch on the full catalog when you want every operation present at once.

Do I have to run or host the QuickBooks MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

Why do only 28 of the 133 tools load by default?

Loading 133 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 28-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.

What is the difference between a tool and a trigger?

A tool is something your AI calls — there are 133 here. A trigger is something PopMCP watches for you: 23 QuickBooks events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into QuickBooks.

Connect QuickBooks to your AI in minutes

Launch a hosted MCP endpoint for QuickBooks, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP