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
- 01Read records and standard reports
- 02Create, update, delete, and void when enabled
- 03Preview and confirm changes
- 04Mask sensitive financial identifiers
- 05Run locally through the QuickBooks SDK
Use cases
- 01Inspect invoices, bills, and payments
- 02Review financial reports
- 03Check inventory and customer records
- 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.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEquickbooks-mcp
Open-source MCP server that connects QuickBooks Desktop (Pro, Premier, Enterprise) to LLMs and agents.
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 Desktop | open the .mcpb from the latest release |
| Claude Code | /plugin marketplace add devwithmj/quickbooks-mcp, then /plugin install quickbooks-desktop@quickbooks-mcp |
| npx | npx -y @devwithmj/quickbooks-mcp |
| dnx | dnx DevWithMJ.QuickBooks.Mcp --yes |
| exe | quickbooks-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) | |
|---|---|---|
| Targets | QuickBooks Online | QuickBooks Desktop Pro, Premier, Enterprise (Windows) |
| Where it runs | Talks to Intuit's cloud API | On your PC, next to QuickBooks, through its local SDK |
| Setup and sign-in | An Intuit developer app and OAuth | A one-time "allow this app" approval inside QuickBooks (--authorize); no developer account |
| Only on Desktop | Inventory assemblies and sites, price levels, workers comp codes, custom fields via data extensions, opening a record in the QuickBooks window | |
| Only on Online | Attachments, invoice PDFs and other cloud features | |
| Safety default | See that project | Read-only until you enable writes; deletes and voids need your approval; sensitive numbers masked; payroll off; audit log |
| Data path | Through Intuit's cloud | Stays 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
- User guide: install, authorize, connect clients, troubleshoot, FAQ
- Tools: every tool, parameter and example
- Prompt cookbook, Writes and Reports
- Scope and non-goals and security model
- Roadmap and 1.0 checklist
- Support, upgrades and uninstall, Compatibility, Performance
- Building from source, Releasing, Testing, Contributing
Legal
Not affiliated with or endorsed by Intuit. See NOTICE.md.
License
MIT
Comments
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.