Skip to main content
Use Conductor’s MCP server to let you and your co-workers interact with QuickBooks Desktop through Claude, Cursor, Codex, and other AI tools. Ask questions about your QuickBooks Desktop data in plain English, and the agent searches your company file and finds the answer: overdue invoices, a vendor’s payment history, last month’s sales. By default the agent can read and write your data; agents generally change data only when you ask, and read-only mode blocks writes outright.

Setup

You need two things: a Conductor secret key (get one here) and at least one QuickBooks Desktop connection, with QuickBooks and the Web Connector running on that computer. In every example below, replace sk_conductor_... with your actual secret key.
Add --scope user to make it available in all your projects.

Read-only mode

Read-only mode lets the agent look up your data and run reports, but blocks requests that create, update, or delete data before they reach QuickBooks. Use it for a trial, an accountant, or co-workers who should see your data without changing it. Turn it on for your tool below; as in Setup, replace sk_conductor_... with your actual secret key.
If you already added the server, run claude mcp remove conductor first.
To verify, ask the agent to create a test customer: it should report that the method is blocked by the MCP server. If it creates the customer instead, the header value is malformed (it must be exact JSON) and the connection is still full-access.
Read-only mode is a guardrail for normal agent behavior, not a hard security boundary: it works by inspecting the agent’s code for write-method names. And it limits the connection, not the key: someone with your secret key can still make changes by using it directly against our API. Share keys only with people you trust, and create a separate secret key for each shared connection so you can revoke one without affecting the rest.

Verify it works

Ask the agent to “list my QuickBooks Desktop connections and show the 5 most recent invoices”. If it returns real data from your company file, you are set up. Do not trust your client’s “connected” indicator alone: the key is only checked when the agent actually requests data. If it errors, see Troubleshooting below.

Troubleshooting

If you see Failed to initialize client: The CONDUCTOR_SECRET_KEY environment variable is missing or empty, your key never reached the server (wrong header name, stripped header, or missing env variable). If you see a 401 with "code":"API_KEY_INVALID", the error echoes the key masked (sk_conductor_...last4) so you can see which key your client actually sent.
QuickBooks Desktop must be running on the connected computer for data calls to succeed. MCP needs no Web Connector changes: its requests travel through your existing connection like any other Conductor API call, and share that connection’s queue.
Yes. The same key and URL work from any number of machines and AI clients. Pricing is per QuickBooks company file, not per connection or seat.
An unrelated SEO company at conductor.com runs its own MCP server, and AI tools sometimes find it instead of ours. If you see SEO tools like ai_brand_insights or keyword_insights, or “couldn’t identify the caller” errors, you connected to that server. Remove it and use https://mcp.conductor.is/; ours is conductor.is and exposes only execute and search_docs.
The local package needs Deno. Install it from deno.land or run npm install -g deno. The hosted server needs no install.