QuickBooks Desktop
Read QuickBooks Desktop data and, if enabled, make safe changes. Windows only.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
@devwithmj/quickbooks-mcpclaude mcp add quickbooks-desktop -e 'QB_COMPANY_FILE=<QB_COMPANY_FILE>' -- npx -y @devwithmj/quickbooks-mcp@0.1.6
{
"mcpServers": {
"quickbooks-desktop": {
"command": "npx",
"args": [
"-y",
"@devwithmj/quickbooks-mcp@0.1.6"
],
"env": {
"QB_COMPANY_FILE": "<QB_COMPANY_FILE>"
}
}
}
}
Environment variables
QB_COMPANY_FILEFull path to the QuickBooks company file (.qbw). Leave empty to use the file open in QuickBooks.
DevWithMJ.QuickBooks.Mcpclaude mcp add quickbooks-desktop -e 'QB_COMPANY_FILE=<QB_COMPANY_FILE>' -- dnx DevWithMJ.QuickBooks.Mcp@0.1.6 --yes
{
"mcpServers": {
"quickbooks-desktop": {
"command": "dnx",
"args": [
"DevWithMJ.QuickBooks.Mcp@0.1.6",
"--yes"
],
"env": {
"QB_COMPANY_FILE": "<QB_COMPANY_FILE>"
}
}
}
}
Environment variables
QB_COMPANY_FILEFull path to the QuickBooks company file (.qbw). Leave empty to use the file open in QuickBooks.
https://github.com/devwithmj/quickbooks-mcp/releases/download/v0.1.6/quickbooks-mcp-win-x64.mcpbhttps://github.com/devwithmj/quickbooks-mcp/releases/download/v0.1.6/quickbooks-mcp-win-x86.mcpbDocumentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
quickbooks-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
Frequently asked questions
What is QuickBooks Desktop?
Read QuickBooks Desktop data and, if enabled, make safe changes. Windows only.
How do I install QuickBooks Desktop?
It runs on your machine. In Claude Code: claude mcp add quickbooks-desktop -e 'QB_COMPANY_FILE=<QB_COMPANY_FILE>' -- npx -y @devwithmj/quickbooks-mcp@0.1.6. For other clients, paste the JSON configuration from this page into their MCP settings.
Does QuickBooks Desktop need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is QuickBooks Desktop open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains QuickBooks Desktop?
It is published by devwithmj. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.