PlugWiki
QuickBooks Online MCP Server (Intuit) logo

QuickBooks Online MCP server by Intuit: setup, read-only switches and what it can change

Official · by IntuitLocal

Lets Claude Code or Claude Desktop read and edit your QuickBooks Online books: invoices, bills, payments, journal entries and reports. Runs on your computer.

This is Intuit's open-source server for QuickBooks Online, and it runs on your own computer. Your assistant can pull reports like profit and loss or aged receivables, and it can also create, change and void invoices, bills, payments and journal entries. Before you start, you need to register an app on the Intuit Developer Portal and complete a one-time sign-in, which is developer work. If you only want to use QuickBooks in Claude, Intuit's hosted QuickBooks connector is far easier.

Good for

  • Developers and Intuit partners building on the QuickBooks Online API
  • Bookkeepers who want reports and lookups from a QuickBooks company in their AI chat
  • Small businesses that want invoices and bills entered by asking, after a careful setup
  • Teams that need the server and its keys to stay on their own machine

Works in

2 supported · 10 should work

Tap an app to see how to set it up and any known problems.

Install QuickBooks Online MCP Server (Intuit)

Claude Code

  1. 1

    Copy this prompt.

    Add the QuickBooks Online MCP Server (Intuit) server to Claude Code. Open .mcp.json (create it if it does not exist) and merge in this entry, keeping any servers already there:
    
    {
      "mcpServers": {
        "quickbooks": {
          "command": "node",
          "args": [
            "path/to/mcp-quickbooks-online/dist/index.js"
          ],
          "env": {
            "QUICKBOOKS_CLIENT_ID": "your_client_id",
            "QUICKBOOKS_CLIENT_SECRET": "your_client_secret",
            "QUICKBOOKS_REFRESH_TOKEN": "your_refresh_token",
            "QUICKBOOKS_REALM_ID": "your_realm_id",
            "QUICKBOOKS_ENVIRONMENT": "sandbox",
            "QUICKBOOKS_DISABLE_WRITE": "false",
            "QUICKBOOKS_DISABLE_UPDATE": "false",
            "QUICKBOOKS_DISABLE_DELETE": "false"
          }
        }
      }
    }
    
    Ask me for QUICKBOOKS_CLIENT_ID, QUICKBOOKS_CLIENT_SECRET, QUICKBOOKS_REFRESH_TOKEN, QUICKBOOKS_REALM_ID, QUICKBOOKS_ENVIRONMENT and only put the values in that config, nowhere else.
    
    Then tell me how to load it and whether I need to sign in.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Built server (dist/index.js), Intuit app keys and refresh token.

Read-only mode: Set QUICKBOOKS_DISABLE_WRITE, QUICKBOOKS_DISABLE_UPDATE and QUICKBOOKS_DISABLE_DELETE to "true" in the env block. Your assistant can then only look things up and run reports.

Intuit does not publish this server on npm, so you build it from the repo first. Start with a sandbox company: production apps reject localhost sign-in addresses, so the first production sign-in needs a public HTTPS address such as an ngrok tunnel, and an open issue reports production sign-in currently fails. Replace path/to/... with the full path to dist/index.js in your clone.

From the project README. Source.

Tools

  • Runs your profit and loss report for any date range

    Runs a Profit and Loss (income statement) report showing income, expenses and net profit for the period you choose.

    Try: “What is my profit and loss for this year?”

    Read · get_profit_and_loss

  • Runs your balance sheet: assets, liabilities and equity

    Runs a Balance Sheet report showing what the business owns, owes and its equity on a given date.

    Try: “Show me my balance sheet as of the end of last month.”

    Read · get_balance_sheet

  • Runs your statement of cash flows

    Runs a Statement of Cash Flows report showing money coming in and going out over a period.

    Try: “Show me my cash flow for last month.”

    Read · get_cash_flow

  • Shows which customers owe you money and how overdue it is

    Runs an A/R Aging report listing unpaid customer invoices grouped by how long they are overdue.

    Try: “Who owes me money and how late are they?”

    Read · get_aged_receivables

  • Shows which bills you owe and how overdue they are

    Runs an A/P Aging report listing unpaid vendor bills grouped by how long they are overdue.

    Try: “Which bills are overdue right now?”

    Read · get_aged_payables

  • Shows the open balance for each customer

    Runs a Customer Balance report listing the outstanding balance for every customer.

    Try: “What does each customer owe me right now?”

    Read · get_customer_balance

  • Shows the open balance you owe each vendor

    Runs a Vendor Balance report listing the outstanding balance you owe each vendor.

    Try: “How much do I owe each vendor?”

    Read · get_vendor_balance

  • Breaks down your sales by customer

    Runs a Sales by Customer report showing how much each customer bought over a period.

    Try: “Who were my top 10 customers by sales this year?”

    Read · get_customer_sales

  • Breaks down your spending by vendor

    Runs an Expenses by Vendor report showing how much you spent with each vendor over a period.

    Try: “Which vendors did I spend the most with last quarter?”

    Read · get_vendor_expenses

  • Pulls the general ledger with every transaction by account

    Runs a General Ledger report listing every transaction posted to each account over a period.

    Try: “Show me the general ledger for the Office Supplies account in March.”

    Read · get_general_ledger

  • Runs a trial balance of every account

    Runs a Trial Balance report showing the debit and credit balance of every account on a date.

    Try: “Run a trial balance as of December 31.”

    Read · get_trial_balance

  • Finds invoices that match filters you describe

    Searches the invoices in your QuickBooks company using filters such as name, date or amount, and lists the matches.

    Try: “Show me all unpaid invoices over $1,000.”

    Read · search_invoices

Read from the source code

Pros and cons

Good

  • Built and published by Intuit in its own GitHub organization.
  • Covers 29 kinds of QuickBooks records and 11 financial reports.
  • Three switches remove create, update or delete tools completely, so read-only is real.
  • Runs on your computer, so your keys never pass through a third party.
  • A sandbox company lets you try everything on fake data first.
  • Free and open source.

Watch out

  • Needs an Intuit developer app and a one-time browser sign-in before anything works.
  • Production sign-in needs a public HTTPS address, and an open issue says it currently fails.
  • Not on npm: you clone, install and build it yourself.
  • All write and delete tools are on until you switch them off.
  • Failed calls are not flagged as errors, and a few tools are reported broken.
  • Only works in apps on your computer, not in claude.ai or ChatGPT on the web.

Permissions

high risk · 5 things to watch

High risk

By default your assistant can create, change and void invoices, payments, bills and journal entries in your real books. Turn on all three disable switches for read-only use, and try it on a sandbox company before your live one.

What it can do

Watch out for

  • It can create, change and void transactions

    All create, update and delete tools are on by default, including invoices, payments, bills and journal entries. Turn on the three disable switches unless you need edits. github.com

  • Your app keys and sign-in token sit on disk

    The client secret and refresh token live in a file on your computer. Anyone who copies them can reach your books until you disconnect the app in QuickBooks. github.com

  • Production sign-in is currently broken

    An open issue reports the sign-in script fails with production keys. Try it on a sandbox company first. github.com

  • A failed change can look like it worked

    Errors come back as normal text, so your assistant may say it saved something it did not. Check every change in QuickBooks. github.com

  • Old vulnerable dependencies were fixed

    A July 2026 audit found 15 vulnerable dependencies; a retest in August found none. Use the current version. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlySet QUICKBOOKS_DISABLE_WRITE=true, QUICKBOOKS_DISABLE_UPDATE=true and QUICKBOOKS_DISABLE_DELETE=true in the server env. Create, update and delete tools are then never registered; get, search and report tools stay.
Talks toQuickBooks Online API (Intuit)
Sign-in and keysClient ID, client secret and refresh token in the repo's .env or the MCP client config; the rotated refresh token is written back to .env or to QUICKBOOKS_TOKEN_STORE_PATH.
Scopes
  • Intuit OAuth app connected to one QuickBooks Online company (realm), with the accounting access your app requests

Alternatives

Use Intuit's hosted QuickBooks connector if you just want QuickBooks in Claude: you sign in with Intuit and nothing runs on your machine. Pick this local server when you are a developer who needs the full API, all 142 tools, or keys that stay on your own computer.

ServerOfficialRunsSign-inCan change thingsTools
QuickBooks Online MCP (Intuit)This pageOfficialLocalDeveloper appYes142
Intuit QuickBooks connectorOfficialHostedIntuit accountYes74
Meridian QuickBooks ConnectorCommunityHosted–Yes–
@codespar/mcp-quickbooksCommunityLocal–––
quickbooks-mcp (laf-rge)CommunityLocal–Yes–

What people say

Developers like its real read-only switches and dislike how hard the production sign-in is.

What people like

  • The create, update and delete switches really remove tools, so a read-only setup is easy to check

Common complaints

  • Production sign-in is hard and currently broken for some users
  • Errors are returned as normal results, which hides failures
  • Some tools fail outright, such as deleting a vendor

In their words

Questions

Can it create or change transactions?

Yes. Out of the box it can create, edit and delete or void invoices, bills, payments, journal entries, deposits, transfers and more. Deletes often void the record or mark it inactive, but they still change your books.

How do I make it read-only?

Set QUICKBOOKS_DISABLE_WRITE, QUICKBOOKS_DISABLE_UPDATE and QUICKBOOKS_DISABLE_DELETE to true in the server settings. Those tools are then removed, and lookups and reports keep working.

Is there a simpler way to use QuickBooks in Claude?

Yes. Intuit's hosted QuickBooks connector is in Claude's connectors directory: you click Connect and sign in with Intuit, with no developer app or install. It covers reports, invoices, estimates, customers and payment links.

Do I need an Intuit developer account?

Yes. You register an app on the Intuit Developer Portal to get keys, then sign in once in your browser. Intuit offers no simple personal API key.

Why does sign-in fail for my real (production) company?

Intuit does not accept a localhost address for production apps, so the first sign-in needs a public HTTPS address such as an ngrok tunnel. An open issue also reports the sign-in script currently fails with production keys.

Is it safe to connect my real books?

Only with care. Start on a sandbox company, turn on the three read-only switches, and keep the keys file private, since it gives full access to the company.

Does it work with QuickBooks Desktop?

No. It only works with QuickBooks Online.

Is it free?

Yes. It is free and open source. You need a QuickBooks Online company, or a sandbox company from the Intuit Developer Portal.

How often do I need to sign in again?

Rarely. The server renews its access on its own and saves the new token, so you only sign in again if its 100-day renewal window lapses or you disconnect the app.

Information

updated Nov 1, 2026

Publisher
Intuit (official)
Transport
stdio
Auth
OAuth
License
Apache-2.0
Last commit
Sep 15, 2026

GitHubIssues

Other QuickBooks MCP servers

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 10
  1. intuit/quickbooks-online-mcp-server README · github.com
  2. Production authentication doesn't work anymore · github.com
  3. Intuit QuickBooks connector for Claude · claude.com
  4. src/index.ts · github.com
  5. Available tools · github.com
  6. register-tool.ts · github.com
  7. Tool failures are returned as normal results · github.com
  8. 15 production-dependency vulnerabilities (3 critical) at HEAD · github.com
  9. QuickBooks MCP server · meridian.pilot.com
  10. delete-vendor always fails · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 1, 2026.