mcpField
Q
QuickBooks Desktop

QuickBooks Desktop

Local
github.comFinance1Updated 5d ago

About QuickBooks Desktop

QuickBooks Desktop is an open-source MCP server for connecting Windows installations of QuickBooks Desktop to LLMs and agents. It reads accounting records locally and keeps changes disabled unless explicitly enabled.

Key features

  1. 01Read records and standard reports
  2. 02Create, update, delete, and void when enabled
  3. 03Preview and confirm changes
  4. 04Mask sensitive financial identifiers
  5. 05Run locally through the QuickBooks SDK

Use cases

  1. 01Inspect invoices, bills, and payments
  2. 02Review financial reports
  3. 03Check inventory and customer records
  4. 04Apply approved changes with an audit trail

MCP support

The server connects MCP clients to QuickBooks Desktop on the same Windows PC. It can also serve MCP over localhost HTTP with an access key.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository
Packages
npm@devwithmj/quickbooks-mcp0.1.6
nugetDevWithMJ.QuickBooks.Mcp0.1.6
mcpbquickbooks-mcp-win-x64.mcpb
mcpbquickbooks-mcp-win-x86.mcpb

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

quickbooks-mcp

Open-source MCP server that connects QuickBooks Desktop (Pro, Premier, Enterprise) to LLMs and agents.

npm NuGet Release License: MIT

Status: pre-1.0. Run so far against QuickBooks Desktop Enterprise Accountant 24.0 with Intuit's sample company file; other editions and years are not yet tested (see COMPATIBILITY.md, and the tester guide if you can help).

What you get

  • Read: customers, vendors, employees, items, accounts, invoices, bills, payments, inventory, time, custom fields, and every standard report (aging, P&L, balance sheet, ...), as compact tables.
  • Change, only if you allow it: create, update, delete and void, with previews, confirmation tokens, idempotency keys, batches and an audit log.
  • Safe by default: read-only, tax IDs and bank and card numbers masked, payroll off, card data never accepted.
  • Local: runs on your Windows PC next to QuickBooks and talks to it through its SDK. No cloud, no telemetry.

Install

Claude Desktopopen the .mcpb from the latest release
Claude Code/plugin marketplace add devwithmj/quickbooks-mcp, then /plugin install quickbooks-desktop@quickbooks-mcp
npxnpx -y @devwithmj/quickbooks-mcp
dnxdnx DevWithMJ.QuickBooks.Mcp --yes
exequickbooks-mcp-win-x64.exe (or -win-x86) from the release

Then allow access once in QuickBooks (--authorize) and add the server to your AI app. Step by step: docs/GUIDE.md.

Packages and listings: npm, NuGet, GitHub releases, the official MCP Registry (io.github.devwithmj/quickbooks-mcp) and Glama.

Turn on changes

Everything is read-only until you opt in. Add the flag to the arguments your MCP client starts the server with:

"args": ["-y", "@devwithmj/quickbooks-mcp", "--allow-writes"]

or set an environment variable: QB_ALLOW_WRITES=true for everything, or QB_ENABLE_WRITE, QB_ENABLE_UPDATE and QB_ENABLE_DELETE for one kind each (QB_WRITE_ALLOW=Invoice,Customer limits which record types can change). Deletes and voids always need a confirmation step. Details: docs/WRITES.md.

Use it over HTTP (advanced)

Most clients start the server themselves. For a client that cannot, quickbooks-mcp --http serves MCP over HTTP on 127.0.0.1:8765 only, and every request needs an access key (printed at start, or set QB_HTTP_KEY). Changes stay off unless you also pass --http-allow-writes. To reach it from another device, put your own tunnel in front of it: docs/REMOTE-ACCESS.md.

QuickBooks Online or Desktop?

This project is for QuickBooks Desktop. If you use QuickBooks Online, use Intuit's own server: intuit/quickbooks-online-mcp-server (Apache-2.0). We read its design for ideas and wrote our own code; no code was copied.

QuickBooks Online server (Intuit)This project (Desktop)
TargetsQuickBooks OnlineQuickBooks Desktop Pro, Premier, Enterprise (Windows)
Where it runsTalks to Intuit's cloud APIOn your PC, next to QuickBooks, through its local SDK
Setup and sign-inAn Intuit developer app and OAuthA one-time "allow this app" approval inside QuickBooks (--authorize); no developer account
Only on DesktopInventory assemblies and sites, price levels, workers comp codes, custom fields via data extensions, opening a record in the QuickBooks window
Only on OnlineAttachments, invoice PDFs and other cloud features
Safety defaultSee that projectRead-only until you enable writes; deletes and voids need your approval; sensitive numbers masked; payroll off; audit log
Data pathThrough Intuit's cloudStays on your computer except what the assistant is shown

The two do not share a company file or an account: a business on Online should not use this project, and a Desktop business cannot use Intuit's.

Requirements

  • Windows with QuickBooks Desktop installed and licensed.
  • Admin access to the company file for the one-time authorization.

Not for QuickBooks Online (Intuit has its own MCP server), QuickBooks for Mac (no SDK), card processing, or running as a Windows service. See docs/SCOPE.md.

Documentation

Legal

Not affiliated with or endorsed by Intuit. See NOTICE.md.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.