MCP Directory

QuickBooks Online MCP Server

Official

Intuit's official local MCP server exposing QuickBooks Online accounting data as callable tools.

Verified
stdio (local)
OAuth
TypeScript

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
git clone https://github.com/intuit/quickbooks-online-mcp-server && npm install && npm run build && node dist/index.js

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "quickbooks-online-mcp-server": {
      "command": "node",
      "args": [
        "/absolute/path/to/quickbooks-online-mcp-server/dist/index.js"
      ],
      "env": {
        "QUICKBOOKS_REALM_ID": "<your-qbo-realm-id>",
        "QUICKBOOKS_CLIENT_ID": "<your-qbo-client-id>",
        "QUICKBOOKS_ENVIRONMENT": "sandbox",
        "QUICKBOOKS_CLIENT_SECRET": "<your-qbo-client-secret>",
        "QUICKBOOKS_REFRESH_TOKEN": "<your-qbo-refresh-token>"
      }
    }
  }
}

Before you start

  • Node.js 18 or higher
  • A QuickBooks (Intuit) Developer account and an app created in the Intuit Developer Portal
  • OAuth 2.0 credentials from the app's Keys & Credentials page: Client ID and Client Secret
  • A Realm ID (QuickBooks company ID) and a refresh token obtained via the included OAuth handshake
  • An MCP-compatible client such as Claude Desktop

About QuickBooks Online MCP Server

The QuickBooks Online MCP Server is Intuit's official, open-source MCP server (released as an early preview) that exposes QuickBooks Online accounting data and operations as callable tools for AI assistants. It is a TypeScript implementation built on top of the node-quickbooks library, with Zod validation on every input.

It covers a broad surface of the QBO API — roughly 144 tools spanning around 29 entity types (customers, invoices, bills, vendors, accounts, items, journal entries, payments, and more) plus 11 financial reports such as Balance Sheet, Profit & Loss, Cash Flow, and Trial Balance. Operations are grouped into read, create, update, and delete, and the write/update/delete categories can each be disabled via environment variables (QUICKBOOKS_DISABLE_WRITE, QUICKBOOKS_DISABLE_UPDATE, QUICKBOOKS_DISABLE_DELETE) for safer read-only deployments.

The server runs locally over stdio and authenticates with OAuth 2.0 credentials from an Intuit Developer app. As an early-preview release it is intended for the QuickBooks Sandbox environment, making it well suited to building and testing AI accounting workflows before going to production.

Tools & capabilities (11)

get_* / search_* (read)

Read and query tools for ~29 entity types including customers, invoices, bills, vendors, accounts, items, and journal entries.

create_* (write)

Create entities such as customers, invoices, bills, vendors, and payments; can be disabled via QUICKBOOKS_DISABLE_WRITE.

update_* (update)

Update supported entities; can be disabled via QUICKBOOKS_DISABLE_UPDATE.

delete_* (delete)

Delete supported entities; can be disabled via QUICKBOOKS_DISABLE_DELETE.

get_balance_sheet

Generates the Balance Sheet financial report.

get_profit_and_loss

Generates the Profit & Loss financial report.

get_cash_flow

Generates the Cash Flow statement.

get_trial_balance

Generates the Trial Balance report.

get_general_ledger

Generates the General Ledger report.

financial reports (aged receivables/payables, customer/vendor)

Additional reports including Aged Receivables, Aged Payables, Customer Sales, and Customer/Vendor balances (11 reports total).

get_company_info

Retrieves company profile and metadata for the connected QBO realm.

When to use it

  • You want an AI assistant to pull live QuickBooks data — invoices, bills, customers, accounts — into a conversation
  • You need to generate financial reports like P&L, Balance Sheet, or Cash Flow on demand
  • You are building an AI accounting workflow and want to create or update invoices, bills, and payments programmatically
  • You want a read-only QBO connection for safe analysis by disabling write/update/delete tools
  • You are prototyping against the QuickBooks Sandbox before integrating QBO into a production app

Quick setup

  1. 1Create an app in the Intuit Developer Portal and copy the Client ID and Client Secret from Keys & Credentials
  2. 2Clone the repo, then run `npm install` and `npm run build`
  3. 3Copy `.env.example` to `.env` and fill in your credentials, Realm ID, and environment (sandbox)
  4. 4Run `npm run auth` to complete the browser-based OAuth handshake and obtain a refresh token
  5. 5Configure your MCP client (e.g. Claude Desktop) with the built server path and environment variables, then restart it
  6. 6Optionally set QUICKBOOKS_DISABLE_WRITE/UPDATE/DELETE to lock the server to read-only

Security notes

Connects to live accounting data via OAuth 2.0 refresh tokens; keep client secret and refresh token out of source control and start in the sandbox environment. Write operations can alter real ledgers, so use the write-disable flags or review tool permissions.

QuickBooks Online MCP Server FAQ

Does it support production QuickBooks or only the Sandbox?

As an early-preview release the local server is intended to run against the QuickBooks Sandbox environment. You select the environment in your `.env`, but production support is limited during preview.

How does authentication work?

It uses OAuth 2.0. You create an app in the Intuit Developer Portal, then run `npm run auth` for a browser sign-in that returns a refresh token used together with your Client ID, Client Secret, and Realm ID.

Can I prevent it from modifying my books?

Yes. Set QUICKBOOKS_DISABLE_WRITE, QUICKBOOKS_DISABLE_UPDATE, and QUICKBOOKS_DISABLE_DELETE to disable the create/update/delete tool categories, leaving only read access.

How many tools does it expose?

Around 144 tools covering roughly 29 entity types and 11 financial reports, grouped into read, create, update, and delete operations.

Is this an official Intuit project?

Yes. It is published under the `intuit` GitHub organization and licensed Apache-2.0, released as an early preview of Intuit's local MCP server.

Alternatives to QuickBooks Online MCP Server

Official Stripe server for payments, customers, subscriptions, invoices, and billing via natural language.

Featured
Verified
stdio (local)
API key
TypeScript
12 tools
Updated 1 month agoRepo

Coinbase's AgentKit MCP extension for onchain actions: transfers, swaps, and contract calls.

Verified
stdio (local)
API key
TypeScript
9 tools
Updated 1 month agoRepo

Alpaca's official trading server for stocks, ETFs, options, and crypto in plain English.

Verified
stdio (local)
API key
Python
12 tools
Updated 26 days agoRepo