Skip to main content
Q

QuickBooks

@codespar/mcp-quickbooks Β· v0.2.2

🌐 GlobalERPAuth · OAuth2beta22 tools4 env vars

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

Get started Β· freeView docs

MIT Β· runs locally or through the CodeSpar runtime

Package
@codespar/mcp-quickbooks
Version
0.2.2
npm dist-tag
latest
Category
ERP
Auth
OAuth2
Country
🌐 Global
License
MIT
Transport
stdio Β· streamable-http

Quickstart

Install, set the credentials, make the first call.

Pick your client. The server runs locally over stdio, or through the hosted runtime.

Add the server to your clientOne config entry. No build step, no SDK required.
Set the environment variables4 variables read by this server's code, listed below.
Restart and make the first callThe agent can call any of the 22 tools. Try create_customer first.
terminal
# Claude Code claude mcp add quickbooks -e QB_ACCESS_TOKEN=… -e QB_ENV=… -e QB_MINOR_VERSION=… -e QB_REALM_ID=… -- npx -y @codespar/mcp-quickbooks@0.2.2 # then: /mcp to confirm the server is connected
Environment variables4 variables
QB_ACCESS_TOKENQuickBooks OAuth2 bearer access token. Expires in 1hr β€” caller is responsible for refresh via Intuit's OAuth2 auth_code flow.requiredsecret
QB_ENVQuickBooks environment: 'sandbox' (default) or 'production'. Selects sandbox-quickbooks.api.intuit.com vs quickbooks.api.intuit.com.optional
QB_MINOR_VERSIONQuickBooks API minor version. Defaults to 70.optional
QB_REALM_IDQuickBooks company id (realmId). Issued when a user authorizes your app against a specific company.required

Names read from the package code (@codespar/mcp-quickbooks@0.2.2). Descriptions and flags come from its manifest. Self-hosted, you hold the credentials. On the CodeSpar runtime the credential you connect is stored encrypted (AES-256-GCM, key derived per organization), and the runtime adds it to the provider call itself; the agent never receives it.

First call democreate_customer

"Create a customer in QuickBooks Online. DisplayName is required and must be unique"

tools/callcreate_customerresult returned

Tools

What your agent can call.

22 tools, as the package's tools/list returns them.

create_customer

Create a customer in QuickBooks Online. DisplayName is required and must be unique.

update_customer

Update a customer. QBO uses sparse update: pass Id, SyncToken, sparse=true, plus any fields to change.

get_customer

Retrieve a customer by QuickBooks entity id.

list_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.

create_invoice

Create an invoice. CustomerRef and at least one Line item (SalesItemLineDetail with ItemRef) are required.

update_invoice

Update an invoice. QBO uses sparse update: pass Id, SyncToken, sparse=true, plus any fields to change.

void_invoice

Void an invoice. The invoice stays in QBO with zero amount. Requires Id and SyncToken.

delete_invoice

Delete an invoice. Permanently removes the invoice. Requires Id and SyncToken.

get_invoice

Retrieve an invoice by QuickBooks entity id.

send_invoice

Email an invoice to the customer. If sendTo is omitted, uses BillEmail on the invoice.

create_payment

Record a customer payment against one or more invoices. TotalAmt and CustomerRef are required.

get_payment

Retrieve a payment by QuickBooks entity id.

Names and descriptions come from the package's tools/list (@codespar/mcp-quickbooks@0.2.2). A kind (read, write, delete) is shown only when the package annotates its tools or each tool was verified one by one; neither exists for this server yet.

Compatibility

MCP is a protocol. Any client that speaks it can mount this server.

Through the CodeSpar runtime, codespar_discover finds this server's tools, and a tools/call runs with the credential connected in your project, a test key included.

hostedhttps://connect.codespar.dev/mcp15 meta-tools

Protocol

Any MCP client

stdio Β· streamable-http

Questions

Before you install.

How do I install the QuickBooks MCP server?

Run npx -y @codespar/mcp-quickbooks@0.2.2 and add the config block above to your MCP client: Claude Code, Cursor, Claude Desktop, VS Code, or any MCP-compatible client. No build step, no SDK required. Prefer hosted? Add the CodeSpar endpoint with a test key and connect QuickBooks in your project; codespar_discover finds its tools.

What can my agent do with QuickBooks?

QuickBooks exposes 22 tools for erp. Your agent calls them directly; the full list is above.

How does QuickBooks authenticate, and how are credentials stored?

QuickBooks uses OAuth2. Self-hosted, you hold the credentials: the server reads them from its environment variables. On the CodeSpar runtime the credential you connect is stored encrypted for your organization, and the runtime adds it to each provider call, so the agent never handles it.

How does QuickBooks handle upstream API changes?

Every server is versioned independently on npm. The command on this page pins 0.2.2, the version whose tools are listed here; your agent keeps running it until you change the version.

Is QuickBooks open source? How do I report a bug?

Yes. QuickBooks is MIT-licensed and published on npm as @codespar/mcp-quickbooks, source on GitHub (link in the Details panel). Report issues on the package repository; security issues go to security@codespar.dev, and we respond within 24 hours.

Start in seconds.

On the CodeSpar runtime, the credential you connect stays encrypted for your organization and the runtime adds it to each call. You just call the tool.

Start in seconds demo
Create an account and copy a test key.
Add the hosted endpoint to your client with the config above.
Connect QuickBooks in your project and ask your agent for the first call.
QuickBooks β€” MCP server Β· 22 tools | CodeSpar