Skip to main content
QU

QuickBooks

v0.2.0OAuth2

Intuit QuickBooks Online โ€” global accounting leader (US/UK dominant). Customers, invoices, payments, items, P&L. Complements BR/LatAm ERPs for SaaS serving international customers.

22 tools4 env vars๐ŸŒ GLOBALstable on npm

Install

terminal
$ npm install @codespar/mcp-quickbooks

Quickstart

Add this entry to your claude_desktop_config.json (or any MCP-compatible client config).

claude_desktop_config.json
{
  "mcpServers": {
    "quickbooks": {
      "command": "npx",
      "args": [
        "-y",
        "@codespar/mcp-quickbooks"
      ],
      "env": {
        "QB_ACCESS_TOKEN": "<your_qb_access_token>",
        "QB_REALM_ID": "<your_qb_realm_id>"
      }
    }
  }
}

After restart, your agent can call any of the 22 tools below โ€” try create_customer first.

Environment variables ยท 4

Required to authenticate the server. Stored encrypted when using CodeSpar managed hosting.

QB_ACCESS_TOKEN
requiredsecret

QuickBooks OAuth2 bearer access token. Expires in 1hr โ€” caller is responsible for refresh via Intuit's OAuth2 auth_code flow.

QB_REALM_ID
required

QuickBooks company id (realmId). Issued when a user authorizes your app against a specific company.

QB_ENV
optional

QuickBooks environment: 'sandbox' (default) or 'production'. Selects sandbox-quickbooks.api.intuit.com vs quickbooks.api.intuit.com.

QB_MINOR_VERSION
optional

QuickBooks API minor version. Defaults to 70.

Available tools ยท 22

Each tool is independent โ€” your agent loads only what it needs to reduce context and response time.

WRITEcreate_customer
Create a customer in QuickBooks Online. DisplayName is required and must be unique.
WRITEupdate_customer
Update a customer. QBO uses sparse update: pass Id, SyncToken, sparse=true, plus any fields to change.
READget_customer
Retrieve a customer by QuickBooks entity id.
READlist_customers
Query customers using QBO's SQL-like query language. Example: "SELECT * FROM Customer WHERE Active = true MAXRESULTS 50". If query is omitted, returns all customers.
WRITEcreate_invoice
Create an invoice. CustomerRef and at least one Line item (SalesItemLineDetail with ItemRef) are required.
WRITEupdate_invoice
Update an invoice. QBO uses sparse update: pass Id, SyncToken, sparse=true, plus any fields to change.
DELETEvoid_invoice
Void an invoice. The invoice stays in QBO with zero amount. Requires Id and SyncToken.
DELETEdelete_invoice
Delete an invoice. Permanently removes the invoice. Requires Id and SyncToken.

Compatible frameworks

MCP is a protocol โ€” any framework that speaks it can mount this server.

Claude Agent SDKAnthropic
OpenAI AgentsOpenAI
Vercel AI SDKVercel
LangChainLangChain
LlamaIndexLlamaIndex
CrewAICrewAI
MastraMastra
Any MCP clientProtocol

Frequently asked questions

All credentials are encrypted at rest in an isolated vault scoped per organization. OAuth2 tokens are automatically refreshed before expiry. Your agent code never sees raw secrets โ€” it receives scoped, short-lived session tokens.
Servers โ€” Every LatAm commerce API your agent needs | CodeSpar