QuickBooks Online MCP Server

The official open-source server from Intuit: use invoices, customers, payments and eleven financial reports from QuickBooks Online locally with Claude Code. Setup runs through your own developer app, and write tools can be switched off.

Description

The QuickBooks Online MCP Server connects AI assistants to QuickBooks Online, the accounting software. MCP, the Model Context Protocol, is an open standard that lets assistants such as Claude Code work with outside services. Intuit, the maker of QuickBooks, publishes the server in its GitHub organisation. It runs locally as a stdio process, so your client starts it on your own machine. According to the README, it offers 145 tools covering 29 entity types and 11 financial reports.

What is the QuickBooks Online MCP Server good for?

The server is aimed at developers and partners who want to bring QuickBooks into their own workflows or test AI prompts against real accounting structures. An assistant can use it to find open invoices, pull a report on overdue receivables or create a new customer along with an invoice. It is especially handy in the sandbox, a test environment with a practice company, where you can try out workflows without touching real entries. If you simply want to ask questions about your numbers in a chat, the connector described below will usually serve you better.

Which data and reports does the server cover?

According to the README, the entities include customers, invoices, payments, bills, vendors, journal entries, classes and departments. Most have tools for creating, reading, searching, updating and deleting. Tax codes, tax rates and tax agencies are read-only. Among the reports, the repository lists the balance sheet, profit and loss, cash flow, trial balance, general ledger and aged receivables and payables. Deleting does not work the same way everywhere: some tools void a document, while others remove a record. So read the description of each tool before you allow it.

Setup and sign-in

This takes more effort than many hosted servers. There are no personal API keys. Instead, you register your own app in the Intuit Developer Portal, which gives you a client ID and client secret. Sign-in uses OAuth 2.0, a standard method for delegated access. In the sandbox, the local address http://localhost:8000/callback and the command npm run auth are enough. For real company data, Intuit rejects local addresses. According to the README, you then need a public HTTPS address once, for example through an ngrok tunnel. After that, the server runs without a browser as long as the refresh token is renewed within 100 days.

How does it differ from the QuickBooks connector?

Intuit also offers a hosted connector for Claude and a plugin for ChatGPT. These are separate products. The connector needs no developer app, and you simply sign in with your Intuit account on claude.ai. Since 28 July 2026, Intuit says it can also create and send invoices. According to the help article, however, it is currently available only to customers in the US. The open-source repository mentions no such limit and is aimed more at technical teams. It also works directly on the accounting objects, whereas the connector is tailored to a set of defined use cases. Compared with the Xero MCP Server, one difference stands out: QuickBooks does not start ready-made through npx, because you clone and build it first.

Maturity and licence

The repository has existed since October 2025 and is still maintained, with the latest push in September 2026. It has no published releases, though, and the package version sits at 0.0.1. The licence information is contradictory. The LICENSE file and GitHub say Apache 2.0, while the README and package.json say MIT. We list Apache 2.0 because the licence file is the one that counts. If this matters to your company, clear it up first.

Costs

The server itself is free. For real data, you need a QuickBooks Online account, and Intuit lists the plans on its pricing page. According to that page, the Free plan does not include third-party integrations, so check it before you rely on it. Your AI model may also cost money.

Who should use the QuickBooks Online MCP Server?

It suits developers, integration partners and technical finance teams who want full control over the connection and are comfortable with OAuth apps. It is a weaker fit for freelancers without a technical background. Because this is financial data, always start in the sandbox, switch off the write tools and allow changes only after a review.

Requirements

Git and Node.js with npm, an app in the Intuit Developer Portal, a QuickBooks Online sandbox or account, and an MCP client such as Claude Code. The README does not name a minimum Node.js version.

Installation instructions

With the QuickBooks Online MCP Server from Intuit, your AI assistant reaches accounting data locally. This guide covers setup with a sandbox, a test environment with a practice company, and with Claude Code. It then explains how to move to real data.

Requirements

You need Git, Node.js with npm and an account in the Intuit Developer Portal. The README does not name a minimum Node.js version. If you only want to work with your numbers in a chat and you are in the US, look at the QuickBooks connector for Claude first. It works without your own app.

Step 1: Build the server

Clone the repository with git clone https://github.com/intuit/quickbooks-online-mcp-server.git. Switch to the folder and run npm install and npm run build. The sample address in the README contains a placeholder, so use the address from this guide.

Step 1: Create an app in the Developer Portal

Register an app in the Intuit Developer Portal and note the client ID and client secret. Enter http://localhost:8000/callback as the redirect URI. The address must match your configuration exactly in protocol, host, port and path.

Step 2: Connect the sandbox

Copy .env.example to .env and enter QUICKBOOKS_CLIENT_ID, QUICKBOOKS_CLIENT_SECRET and QUICKBOOKS_ENVIRONMENT=sandbox. Start npm run auth. Your browser opens, and you sign in to the sandbox company. The tokens then end up in the .env file.

Step 3: Connect Claude Code

Run claude mcp add --scope user quickbooks -- node /absolute/path/quickbooks-online-mcp-server/dist/index.js and adjust the path. The server looks for the .env file next to the built module, not in your current working folder. In Claude Code, /mcp shows whether the connection works.

Lock down write access

To begin with, set QUICKBOOKS_DISABLE_WRITE, QUICKBOOKS_DISABLE_UPDATE and QUICKBOOKS_DISABLE_DELETE to "true". The server then never registers the create, update and delete tools. Read tools stay available. Only allow write access once your workflows run reliably in the sandbox.

Step 4: First tasks

Start with questions that only read data. For example: Which invoices are overdue? Show me the profit and loss statement for last quarter. Compare the answers with the QuickBooks interface. That shows you whether the assistant reads the reports correctly.

Moving to real data

For production, Intuit rejects local redirect addresses. According to the README, you need a public HTTPS address once, for example through an ngrok tunnel or your own callback service. After that, the refresh token is enough, and it replaces itself on renewal. Before you switch, check that your QuickBooks plan includes third-party integrations, and have an accounting expert review the results.

git clone https://github.com/intuit/quickbooks-online-mcp-server.git && cd quickbooks-online-mcp-server && npm install && npm run build

Authentication

OAuth 2.0 through your own app in the Intuit Developer Portal. You need QUICKBOOKS_CLIENT_ID, QUICKBOOKS_CLIENT_SECRET, QUICKBOOKS_REFRESH_TOKEN, QUICKBOOKS_REALM_ID and QUICKBOOKS_ENVIRONMENT. One browser handshake is enough. After that, the server renews the token itself as long as the 100-day window does not lapse.

Required access permissions

The server works with one company, set through QUICKBOOKS_REALM_ID. Read tools are always active. Setting QUICKBOOKS_DISABLE_WRITE, QUICKBOOKS_DISABLE_UPDATE and QUICKBOOKS_DISABLE_DELETE to "true" means the create, update and delete tools are never registered. In the README configuration example, these switches are set to "false".

Transmitted or stored data

The server runs on your machine and talks directly to the QuickBooks API. Tokens sit in plain text in the .env file or in the file at QUICKBOOKS_TOKEN_STORE_PATH. Whatever a tool returns is also seen by your AI model, so financial and customer data may reach your client's provider. Intuit's statement about not using data for training appears in the help article on the connector, not in the repository.

Security risks

High. Once the write tools are active, an agent can change or delete entries, invoices and payments. Text in customer data or invoice notes can also carry hidden instructions (prompt injection). Start in the sandbox, set the three DISABLE switches to "true" and have every call confirmed. The .env file does not belong in a repository or on a shared drive.

License and costs

License
Apache-2.0
Cost
free

The server is open source and free. For real data, you need a QuickBooks Online account. According to the pricing page, the Free plan does not include third-party integrations, and there are also paid plans and a trial. Current terms are listed at quickbooks.intuit.com/pricing.

Alternatives

Not recorded yet.

At a glance

Provider
Intuit
Status
Official server
Deployment
Local
Current version
Not recorded yet.
Last reviewed
01.11.2026

Repository and documentation

Categories

Supported clients