QuickBooks Desktop MCP Quickstart
You can connect Claude to QuickBooks Desktop, but not through Intuit's official Claude connector, which supports QuickBooks Online only. QuickBooks Desktop has no cloud API; it only accepts qbXML through a local interface on the machine where it runs. LedgerCrossing is a Windows app that runs on that machine and includes an MCP server, so Claude Desktop, Claude Code, Cursor, and VS Code can read and write QuickBooks Desktop data. Setup takes about five minutes, and the MCP server is included in the $299 one-time product. (Comparing every option first? See How to connect Claude to QuickBooks Desktop.)
LedgerCrossing includes an MCP server — the same Windows app that gives your integrations a REST API also gives AI agents a door into QuickBooks Desktop. It's included in the product. Not a tier, not a preview, not a limited-time unlock.
This page gets you from installed app to first agent query in about five minutes.
Pick your path
Where does the AI run, relative to the computer with QuickBooks on it?
| You want to use… | …from | Path | Needs |
|---|---|---|---|
| Claude Desktop | the QuickBooks computer itself | Same machine | the bundle. No key to copy. |
| Claude Desktop | another computer in your office | Same network | the bundle, plus the server address and API key from Settings > Connect. Nothing leaves your network, no subscription. |
| claude.ai, ChatGPT, or anything outside the office | anywhere | Remote | LedgerCrossing Remote ($39/mo) with per-person sign-in. |
| Claude Code, Cursor, VS Code | any of the above | HTTP clients | the MCP URL and API key. |
For a security-conscious office, the same network path is the one to prefer: Claude Desktop on an accountant's PC talks straight to LedgerCrossing on the QuickBooks machine over the local network, with no tunnel, no relay, and nothing exposed to the internet.
Before you start
- LedgerCrossing installed and activated on the QuickBooks machine (buy it here — $299 one-time).
- QuickBooks running on that machine with the company file open (or auto-openable).
- Every path is authenticated. On the same machine the bundle reads the key from the app's own
config, so there is nothing to copy. Everywhere else you supply the API key from
Settings > Connect — as
Authorization: Bearer <key>orX-Api-Key: <key>for HTTP clients, or typed into the extension's settings for Claude Desktop. - The MCP endpoint is
http://<machine>:8284/mcp;localhoston the QuickBooks machine itself. Settings > Connect shows the exact URL and has copy buttons for every client on this page.
Claude Desktop on the QuickBooks computer
Two ways. The bundle is simpler; the stdio config is there if you prefer a text file.
Install the bundle
- Download
ledgercrossing.mcpb. Like our main installer, the bundle is unsigned, so expect a Windows SmartScreen prompt. - Open Claude Desktop and go to Settings > Extensions > Advanced settings.
- Scroll to Extension Developer and click Install Extension…, then pick the
.mcpbfile you downloaded. - Leave the extension's settings at their defaults and enable it.
Do not double-click the .mcpb file: Claude Desktop registers no file association for it, so
Windows will only ask which app to open it with. The Extension Developer section sits under a red
banner saying these tools are intended for extension developers. Claude currently treats
sideloaded extensions as a developer feature, so you will see that warning — it is expected, and
it is the supported way to install an extension that didn't come from Anthropic's directory.
The bundle has three settings. On the QuickBooks machine you leave all of them alone:
| Setting | Default | When to change it |
|---|---|---|
| LedgerCrossing address | http://localhost:8284 |
Only when LedgerCrossing runs on a different computer (next section). |
| API key | empty | Only for a different computer. On the same machine the bundle reads the key from the app's config. |
| TLS fingerprint | empty | Only if you turned on HTTPS in LedgerCrossing's Settings > Security, which shows the fingerprint. |
Or: manual stdio config
Add this to claude_desktop_config.json (stdio mode has shipped in the app since v1.3.0; adjust
the path if you installed somewhere else):
{
"mcpServers": {
"quickbooks": {
"command": "C:\\Program Files (x86)\\LedgerCrossing\\LedgerCrossing.exe",
"args": ["--mcp-stdio"]
}
}
}
Claude Desktop on another computer in your office
The same bundle can point at LedgerCrossing on a different machine on your local network — the QuickBooks server in the back room, say, while Claude Desktop runs on your own workstation. The call goes directly across your LAN. No internet exposure, no tunnel, no relay, no subscription. We run it this way ourselves: Claude Desktop on a workstation, LedgerCrossing on the office QuickBooks server, and the server's log shows the request arriving from the workstation's local address.
On the QuickBooks machine:
- In LedgerCrossing Settings > General, tick Allow connections from other machines on the network. LedgerCrossing requires an API key before it will accept this (it refuses to listen on the network without one), and it manages its own Windows Firewall rule for the port.
- Open Settings > Connect. The MCP URL now shows the machine's name instead of
localhost, and API key is right below it. Copy Claude Desktop extension settings puts both values on the clipboard.
On your workstation:
- Install the bundle exactly as above (Settings > Extensions > Advanced settings > Extension Developer > Install Extension).
- In the extension's settings, set LedgerCrossing address to the QuickBooks machine's
address — for example
http://qb-server:8284— and paste the API key. - If LedgerCrossing has HTTPS turned on, paste the fingerprint from its Settings > Security into TLS fingerprint. Otherwise leave it empty.
Then ask Claude something: "Which customers are 60+ days overdue?"
claude.ai, ChatGPT, or anything outside the office
Away from the office, the endpoint has to be reachable over HTTPS. Two ways to get there:
- LedgerCrossing Remote ($39/mo) — a managed relay with per-person sign-in (app v1.8 or later). claude.ai and ChatGPT custom connectors accept only OAuth, so instead of a shared API key each person signs in with their own connect code — and the owner can make them read-only, limit their company files, or remove them. Setup is on Connect claude.ai or ChatGPT. A self-managed tunnel doesn't offer sign-in, so these two need Remote.
- Your own tunnel (free) — for HTTP clients that
can send a header. Same configs as below, with your
https://hostname instead oflocalhost.
Claude Desktop from outside the office: use claude.ai instead. The bundle is built for the same machine and the same network.
Claude Code, Cursor, and VS Code
These talk to the MCP endpoint over HTTP with the API key in a header. They work from the
QuickBooks machine, from another computer in the office (turn on Allow connections from other
machines on the network as described above and use the machine's name instead of localhost),
and from anywhere over a tunnel. Over LedgerCrossing Remote they can sign in the same way
claude.ai does; the API key is accepted there only if the owner turns on Accept the API key
through LedgerCrossing Remote (Settings > Remote).
Claude Code
One command:
claude mcp add --transport http quickbooks http://localhost:8284/mcp --header "X-Api-Key: YOUR_KEY"
Then ask: "Which customers are 60+ days overdue?" — Claude discovers the right qbXML operation, validates it, and runs it.
Cursor
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"quickbooks": {
"url": "http://localhost:8284/mcp",
"headers": { "X-Api-Key": "YOUR_KEY" }
}
}
}
VS Code (Copilot agent mode)
Add to .vscode/mcp.json:
{
"servers": {
"quickbooks": {
"type": "http",
"url": "http://localhost:8284/mcp",
"headers": { "X-Api-Key": "YOUR_KEY" }
}
}
}
The six tools
| Tool | What it does |
|---|---|
list_operations |
All 240 qbXML operations, with category and minimum QuickBooks version |
get_operation |
Full field reference for one operation: element order, required flags, max lengths, enums, version gates |
validate_qbxml |
Checks a request locally against the catalog — no QuickBooks round-trip |
run_qbxml |
Executes the qbXML against QuickBooks Desktop and returns the response |
explain_error |
Turns a QuickBooks status code into what went wrong and what to change |
get_status |
QuickBooks up? Which company file? Bridge connected? |
The design is on-demand discovery: the agent browses list_operations, pulls the exact rules
with get_operation, checks its qbXML with validate_qbxml, then executes with run_qbxml —
so the catalog never floods the agent's context. The catalog is generated from Intuit's qbXML
specification: facts and field rules, all 240 operations.
What to know before you connect an agent
- This is not read-only.
run_qbxmlexecutes whatever qbXML the agent produces — including invoices, payments, and edits — with exactly the capability of the REST API. Connect agents you trust, to company files you mean to let them touch. QuickBooks' own Audit Trail records every posted transaction. - Runaway queries are rejected by default. Unbounded query requests are refused unless you
opt out (
RequireBoundedQueries) — a guardrail against an agent accidentally pulling the whole company file in one call. - QuickBooks must be running with the company file open (or auto-openable) on the machine — that's a QuickBooks Desktop constraint, and it's why cloud-only MCP servers can't do this job.
Why this exists
Every other QuickBooks MCP server targets QuickBooks Online. QuickBooks Desktop has no cloud API — it only talks through a local COM interface on the machine where it runs, which is exactly where LedgerCrossing sits. If your books are in Pro, Premier, or Enterprise, this is the bridge: the MCP server for QuickBooks Desktop.
Frequently asked questions
Can Claude connect to QuickBooks Desktop? Yes, through a local bridge. Intuit's official Claude connector supports QuickBooks Online only. LedgerCrossing runs on the QuickBooks Desktop machine and includes an MCP server that Claude Desktop, Claude Code, Cursor, and VS Code connect to.
Does the Intuit QuickBooks connector for Claude work with QuickBooks Desktop? No. As of September 2026 it connects QuickBooks Online (and Intuit Enterprise Suite) accounts. Desktop company files are local and need software running on that machine.
Is the QuickBooks Desktop MCP server free? It is included in LedgerCrossing, a $299 one-time purchase per machine. There is no separate MCP tier, preview, or subscription.
Can I use claude.ai, the web app, with QuickBooks Desktop? Yes, over LedgerCrossing Remote ($39/mo), which gives claude.ai and ChatGPT an HTTPS endpoint with per-person sign-in. On the same machine or office network, Claude Desktop connects free with no relay.
Is it read-only? No. The agent can create invoices, payments, and edits with the same capability as the REST API. Unbounded queries are refused by default, and QuickBooks' Audit Trail records every posted transaction.
Which QuickBooks Desktop versions work? Pro, Premier, and Enterprise on Windows 10 or 11.
QuickBooks is a registered trademark of Intuit Inc. LedgerCrossing is an independent product for QuickBooks Desktop and is not affiliated with or endorsed by Intuit. MCP (Model Context Protocol) is an open protocol; client names belong to their respective owners.