LedgerCrossingLedgerCrossing Buy LedgerCrossing — $299

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. claude.ai, ChatGPT, Meta Muse and Grok Bot connect to it from anywhere through LedgerCrossing Remote ($39/mo), and Claude Desktop, Claude Code, Cursor, VS Code, Codex and Gemini CLI connect on the QuickBooks computer or your office network. 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 your first question.

Pick your path

Which AI do you use, and where?

You want to use… …from Path Needs
claude.ai, ChatGPT, Meta Muse, Grok Bot, or anything outside the office anywhere Remote LedgerCrossing Remote ($39/mo) with per-person sign-in.
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 > Allowed Connections > Local network.
Claude Code, Cursor, VS Code any of the above HTTP clients the MCP URL and API key.
Codex, Gemini CLI the QuickBooks computer, or another computer in your office Codex and Gemini CLI nothing on the QuickBooks computer (stdio); the MCP URL and API key from another computer.

Before you start

claude.ai, ChatGPT, Meta Muse, or anything outside the office

LedgerCrossing Remote ($39/mo) connects claude.ai, ChatGPT, Meta Muse and Grok Bot to QuickBooks Desktop from anywhere. It's 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 username and password — 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. Meta Muse is verified over Remote (LedgerCrossing 1.15.1 or later), and so is Grok Bot (LedgerCrossing 1.15.2 or later). Step by step for ChatGPT: How to connect ChatGPT to QuickBooks Desktop.

The monthly fee pays for the hosted connection, not for AI features: the MCP server is included in the $299.

HTTP clients that can send a header, such as Claude Code, Cursor and VS Code, can also reach LedgerCrossing through your own tunnel: same configs as below, with your https:// hostname instead of localhost.

Claude Desktop from outside the office: use claude.ai instead. The bundle is built for the same machine and the same network.

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

  1. Download ledgercrossing.mcpb. If your browser warns about the download, choose Keep.
  2. Open Claude Desktop and go to Settings > Extensions > Advanced settings.
  3. Scroll to Extension Developer and click Install Extension…, then pick the .mcpb file you downloaded.
  4. 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 > Advanced, 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.

On the QuickBooks machine:

  1. In LedgerCrossing Settings > Allowed Connections > Local network, turn on Allow. 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.
  2. On the same tab, the MCP Server address now shows the machine's name instead of localhost, and API key is right below it. Copy both; you enter them in the extension on your workstation.

On your workstation:

  1. Install the LedgerCrossing .mcpb extension exactly as above (Settings > Extensions > Advanced settings > Extension Developer > Install Extension).
  2. 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.
  3. If LedgerCrossing has HTTPS turned on, paste the fingerprint from its Settings > Advanced into TLS fingerprint. Otherwise leave it empty.

Then ask Claude something: "Which customers are 60+ days overdue?"

Claude Code, Cursor, and VS Code

These talk to the MCP endpoint over HTTP. 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 Allow the API key (Settings > Allowed Connections > Internet). With the API key in a header, they work from the QuickBooks machine, from another computer in the office (turn on Allowed Connections > Local network as described above and use the machine's name instead of localhost), and over your own tunnel.

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" }
    }
  }
}

Codex and Gemini CLI

Both connect two ways. We tested each end to end on LedgerCrossing 1.15.0 against Intuit's sample company file (Codex CLI 0.164.0, Gemini CLI 0.65.0).

Codex

stdio, in %USERPROFILE%\.codex\config.toml:

[mcp_servers.ledgercrossing]
command = 'C:\Program Files (x86)\LedgerCrossing\LedgerCrossing.exe'
args = ["--mcp-stdio"]
default_tools_approval_mode = "approve"

HTTP, same file. Codex reads the key from the LEDGERCROSSING_KEY environment variable and sends it as a bearer token, so the key never sits in the file. Set it once, then open a new terminal:

setx LEDGERCROSSING_KEY "YOUR_KEY"
[mcp_servers.ledgercrossing]
url = "http://qb-server:8284/mcp"
bearer_token_env_var = "LEDGERCROSSING_KEY"
default_tools_approval_mode = "approve"

codex mcp list should show ledgercrossing as enabled. Two things to know:

codex exec --skip-git-repo-check "Using the LedgerCrossing tools, show me the first two customers in QuickBooks with their balances."

Gemini CLI

stdio, in %USERPROFILE%\.gemini\settings.json:

{
  "mcpServers": {
    "ledgercrossing": {
      "command": "C:\Program Files (x86)\LedgerCrossing\LedgerCrossing.exe",
      "args": ["--mcp-stdio"],
      "trust": true
    }
  }
}

HTTP, same file, with the API key pasted in. settings.json then holds the key, so keep that file private:

{
  "mcpServers": {
    "ledgercrossing": {
      "httpUrl": "http://qb-server:8284/mcp",
      "headers": { "X-Api-Key": "YOUR_KEY" },
      "trust": true
    }
  }
}

Three things to know:

What the test showed

Each client found the operation, checked its request with validate_qbxml, and ran it. Over the office network, Gemini's first request had a mistyped closing tag. validate_qbxml answered:

Not well-formed XML: The 'QBXMLMsgsRq' start tag on line 4 position 4 does not match the end tag of 'QBXMLMsxml'. Line 8, position 5.

Gemini corrected the tag, validated again, and the query ran. The validator catches the AI's mistakes before QuickBooks sees them.

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

Why this exists

Most QuickBooks MCP servers target 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. Most hosted QuickBooks Desktop APIs reach it through the Web Connector, which checks in on a schedule (polling). LedgerCrossing is an MCP server for QuickBooks Desktop that sends requests straight to QuickBooks, with no Web Connector in between.

Frequently asked questions

Can Claude connect to QuickBooks Desktop? Yes, through a bridge app on the QuickBooks machine. 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, VS Code, Codex and Gemini CLI connect to.

Does the Intuit QuickBooks connector for Claude work with QuickBooks Desktop? No. As of October 2026 it connects QuickBooks Online 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 or preview. claude.ai, ChatGPT, Meta Muse and Grok Bot connect through LedgerCrossing Remote ($39/mo), which pays for the hosted connection, not the AI.

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. For ChatGPT, see How to connect ChatGPT to QuickBooks Desktop.

Does Grok Bot work with QuickBooks Desktop? Yes, over LedgerCrossing Remote ($39/mo) with per-person sign-in, on LedgerCrossing 1.15.2 or later. Remote is the way we've verified. As with claude.ai and ChatGPT, each person starts read-only until the owner allows changes.

Is it read-only? Over LedgerCrossing Remote, each person starts read-only until the owner allows writes. On the QuickBooks computer or the office network, the agent can create invoices, payments, and edits with the same capability as the REST API. Open-ended list and transaction queries are refused by default, and QuickBooks' Audit Trail records every posted transaction.

Which QuickBooks Desktop versions work? Pro, Premier, and Enterprise, 2019 and later, on Windows 10 or 11, and Windows Server 2016–2025. Older versions back to 2014 use the same Intuit connection and should work, though we haven't tested them; the 30-day guarantee covers you.

Buy LedgerCrossing — $299 →


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.