Before you connect
- You need a Zeno account. Start one if you haven’t — 3 days free, no card.
- Sign in at app.zenofirm.com in the browser you normally use. The approval screen recognizes that session and approves as you, with nothing to retype.
- Connect at least one QuickBooks Online company, from Get started or the Clients page. The MCP token is scoped to your firm, so a client sees exactly the companies the firm has connected — connecting an AI client never grants Intuit access by itself.
Claude
One connector on your Claude account, used from claude.ai, Claude Desktop, and mobile. Add Zeno to Claude1
Confirm the name and URL
The link opens Add custom connector with
Zeno Bookkeeper and
https://api.zenofirm.com/mcp already in it. Check them, then Continue.By hand instead: Customize → Connectors → Add, and type the same two
values.2
Leave the detected settings alone
Claude has probed the endpoint and marked Always required under
Authentication and No client ID — register one automatically under
OAuth client. Both are right for Zeno. Add no Additional request
headers. Choose Add.
3
Connect
The connector’s own page opens, saying You are not connected to Zeno Bookkeeper yet.
Press Connect and approve on the Zeno screen.Adding is not connecting. Until you press it, the connector exposes no tools
and never reaches AI clients here.
On a Claude Team or Enterprise plan, an owner can
add it for the organization.
Each member still presses Connect and approves as themselves, and each
approval is a separate grant this firm can revoke.
ChatGPT
Zeno has an approved ChatGPT plugin. Install it from the listing, then connect your Zeno account. Developer mode is not required for this route. Open Zeno in ChatGPTAs of October 27, 2026, version 1.0.1 with the display name Zeno Bookkeeper
is submitted and in review. The approved listing may still display Zeno.
Claude, Muse and QuickBooks App Store submissions are also in review.
1
Install the approved plugin
Open the listing above and install it. Availability depends on your ChatGPT
account, region and workspace settings. If your workspace restricts plugins,
ask its administrator to allow Zeno.
2
Connect your Zeno account
Choose Connect, sign in to Zeno, and authorize the connection. Staff can
choose full access or view and answer only; invited viewers keep their assigned
company and role restrictions. You need a Zeno workspace and a QuickBooks Online
company connected through Intuit. Installing a plugin alone does not connect
the books.
3
Start a new chat and choose the company
Enable the plugin in the conversation and ask which companies you can access.
It should call
qb_list_companies and return your authorized companies. Name
the company before asking for reports or bookkeeping work.4
Ask a question or prepare work
The submitted Zeno Bookkeeper update includes these starter prompts:
- Show my profit and loss for last month and explain the biggest changes.
- Which customer invoices are overdue, and how much is still owed?
- Code last month’s card charges using our saved rules and give me one plan to approve.
Advanced: connect a custom MCP server
Advanced: connect a custom MCP server
Use this only when you deliberately need a custom connection. The approved
listing above is the normal installation path.Turn on developer mode where your ChatGPT plan and workspace allow it. Open
the custom plugin dialog, set the name to Zeno Bookkeeper, server URL to
https://api.zenofirm.com/mcp, and authentication to OAuth. Leave advanced
OAuth settings empty: the client registers itself. Connect and approve on the
Zeno screen, then enable it in a new chat.A custom unreviewed connection may carry an elevated-risk badge even though a
separate approved Zeno listing exists. Use the approved listing if that was your
intended setup.Muse
Meta’s Muse has no form for a server outside its own list: you ask for the connector in a chat and Muse builds it. It works on Muse’s free plan. zenofirm.com/muse has each screen.1
Send the request
In a new Muse chat, send this as written:Both halves matter. Given only the URL, Muse asks for the OAuth endpoints
instead of reading them from the server. And Muse names the card after the
connector’s id, not after the name it is told, so without the id the card
and Settings say Zenofirm.
2
Connect
Muse answers with a Zeno Bookkeeper card after a minute or two. Press
Connect, then Connect again on Muse’s custom connector notice, and
approve on the Zeno screen.
3
Check it
Muse confirms in the chat. The connector is listed under Settings →
Connectors → Connected.
Claude Code
/mcp and choose Authenticate next to
zenofirm to complete the browser approval. --scope user makes the server
available in every project; drop it to add Zeno to the current directory
only.
Codex
Add the server to~/.codex/config.toml (on Windows,
%USERPROFILE%\.codex\config.toml):
Remote MCP servers need a recent Codex. If Codex reports it cannot use a
url server, upgrade it, or on slightly older versions set
experimental_use_rmcp_client = true at the top of config.toml.Cursor
Add Zeno to Cursor Cursor opens with the server prefilled; install it, then use its Login action next tozenofirm to complete the browser approval.
By hand, add the server to ~/.cursor/mcp.json:
VS Code
Add Zeno to VS Code VS Code asks you to confirm the server before adding it, and signs in through the browser the first time Copilot’s agent mode uses it. By hand, add the server to.vscode/mcp.json in the workspace, or to your user
mcp.json:
Any other MCP client
Everything above is one server described in each client’s own dialect. Anything that speaks remote MCP connects on four facts:- URL —
https://api.zenofirm.com/mcp - Transport — streamable HTTP
- Auth — OAuth 2.1 with PKCE and dynamic client registration, so there is no client ID or secret to configure
- Discovery — the client reads
https://api.zenofirm.com/.well-known/oauth-authorization-serveritself
What approval means
The consent screen authorizes the client for your firm, not for one company, and approval is always recorded as a named person. If you are signed in to Zeno in that browser, the screen asks you to approve as yourself. If not, it offers Sign in to approve: sign in the usual way — or with an emailed link, if you cannot use Google, Microsoft or Intuit here — and you come straight back to the screen to approve.Disconnecting a client
This firm → AI clients lists every client holding access, with the date it connected and a Disconnect beside each one. Disconnecting revokes that client’s tokens immediately — the next tool call it makes is refused, and it cannot renew, so there is no fourteen-day tail while an access token ages out. Two things worth knowing:- It works by client name, and it covers the firm. A client that is reinstalled or added on a second machine registers itself again, so “Claude” can be several grants; Disconnect ends all of them for this firm. It touches nothing outside your firm.
- Nothing is deleted. Plans, verdicts, runs, the work log, coding rules and client knowledge stay exactly as they are — a disconnected agent’s work remains part of the record. Reconnecting is the same install link.
- Claude — Customize → Connectors, then remove Zeno or press Connect to authorize it again.
- ChatGPT — Settings → Plugins, then delete the Zeno plugin.
- Muse — Settings → Connectors → Connected, then Zeno Bookkeeper and Disconnect.
- Claude Code —
claude mcp remove zenofirm, or/mcpthen Authenticate to connect again. - Codex — delete the
[mcp_servers.zenofirm]block, or runcodex mcp login zenofirmto reconnect. - Cursor and VS Code — remove the server from
mcp.json, or use the client’s own login action to reconnect.
Disconnecting an AI client does not touch QuickBooks. Intuit access is
separate, and is disconnected per company from the Clients page.
When it doesn’t connect
- The install link opens the client but nothing is prefilled. — The client is out of date, or it opened a signed-out session. Sign in to it first and click the link again; failing that, add the endpoint by hand from the same section above.
- Claude lists Zeno but the tools are missing. — Open it in Customize → Connectors. If it says You are not connected to Zeno yet, press Connect and approve; adding and connecting are separate steps.
- The approval screen says to sign in, and you are signed in. — You are signed in to a different browser or profile than the one the client opened. Press Sign in to approve in this one; you come back to the approval screen afterwards.
- The tools don’t appear after connecting. — Restart the client or start
a new conversation. Clients read their server list at startup; in Claude
Code, run
/mcpto check the server’s status. In ChatGPT, enable the plugin for that chat from the composer’s + menu — installing it is not the same as switching it on. - ChatGPT does not offer the plugin. Open the approved listing linked above while signed in. Check account, region and workspace restrictions with your administrator. Developer mode is only needed for a deliberate custom-server setup, not the approved listing.
- ChatGPT loops on sign-in. Disconnect and reconnect the existing plugin. If using the advanced custom-server route, leave Advanced OAuth settings empty and use OAuth. Contact support if the approved listing still loops.
- The client connects but sees no companies. —
qb_list_companiesis empty until the firm connects a QuickBooks company in the console’s Clients page. - Writes are refused with a trial message. — The trial has ended. Books, context, and history stay readable; subscribe in Billing to resume actions.