MCP for accounting: what accountants can do with it, and what it can't
MCP for accounting connects an AI assistant such as Claude or ChatGPT to your accounting system through a Model Context Protocol server. QuickBooks, Xero, NetSuite and Sage Intacct each have a vendor-published server. They are good at reading reports and ledgers. Writes, approvals, close sign-off and audit evidence still need controls outside the model.
Part of the finance integrations guide.
| What is MCP? | An open protocol that lets an AI client call "tools" a server exposes, such as "run a report" or "create an invoice" (MCP specification). |
|---|---|
| Which accounting systems have a vendor-published MCP server? | QuickBooks Online (Intuit), Xero (XeroAPI on GitHub), NetSuite (Oracle's AI Connector Service) and Sage Intacct (Sage's AI Gateway). |
| Which ones can write to the books? | QuickBooks (writes on by default), Xero, and NetSuite (record tools, if the role allows). Sage Intacct's MCP server is read-only. |
| Which ones ask a person to approve a write? | None of the accounting servers. Stripe's server requires human confirmation for certain write actions, such as refunds and outbound payments. |
| How long does NetSuite keep MCP call logs? | 21 days in production, 7 in sandbox (Oracle). |
| How many client companies per connection? | One. QuickBooks uses one company (realm ID) per configuration; a Xero custom connection covers one organisation. |
Key points
- The servers are real and mostly vendor-built. Intuit, Xero, Oracle NetSuite and Sage each publish one, and Stripe publishes one for the payments side of AR.
- Reading is the safe, useful part. Trial balances, P&L, aging reports and ledger queries map cleanly to MCP tools.
- Most of them can also write. QuickBooks, Xero and NetSuite servers create and update transactions. Sage Intacct's server is read-only.
- MCP has no concept of a close. No approvals, no fixed sequence, no sign-off, and no record of why an entry was made.
- For anything that posts to the books, keep the controls in a workflow, not in a prompt.
What accounting MCP servers exist today?
Five vendor-published servers cover most accounting MCP searches: Intuit's QuickBooks Online server, Xero's server, Oracle's NetSuite AI Connector Service, Sage's Sage Intacct MCP server and, for the payments side of AR, Stripe's MCP server. They differ in where they run, how they sign in, and whether they can write.
| Server | Published by | Where it runs | Reads | Writes |
|---|---|---|---|---|
| QuickBooks Online MCP server | Intuit | Locally, on your machine | Records, searches, 11 reports | Yes, on by default; three flags switch create, update and delete off |
| Xero MCP server | Xero (XeroAPI GitHub organization) | Locally, started with npx | Accounts, contacts, invoices, payments, bank transactions, journals, reports | Yes: invoices, payments, bank transactions, manual journals, contacts and more |
| NetSuite AI Connector Service + MCP Standard Tools | Oracle NetSuite | Inside NetSuite, at an account-specific URL | SuiteQL (read-only), reports, saved searches, records | Yes, create, update and transform records, within the user's role |
| Sage Intacct MCP server | Sage, as part of the Sage Intacct AI Gateway | Hosted by Sage | Data the user's roles and permissions allow | No, read-only. Sage points to its REST APIs for full access. |
| Stripe MCP server | Stripe | Hosted at https://mcp.stripe.com | Customers, invoices, charges, payouts, balance transactions | Yes, through stripe_api_write; certain writes need human confirmation |
Third-party options also exist. Zapier, Pipedream, Composio and CData offer hosted or packaged servers for QuickBooks and NetSuite, each with its own sign-in model and tool set. The QuickBooks MCP server guide and NetSuite MCP server guide compare them system by system. Check who maintains any server before you give it access to a client's books.
What can accountants actually do with MCP?
Accountants can ask the books questions in plain language and get answers from live data. Each request maps to a specific tool on the server. The table below groups the tools by accounting task, using the tool names each vendor documents.
| Accounting task | QuickBooks Online (Intuit) | Xero | NetSuite (Oracle) |
|---|---|---|---|
| Financial statements | get_profit_and_loss, get_balance_sheet, get_cash_flow, get_trial_balance | list-profit-and-loss, list-report-balance-sheet, list-trial-balance | ns_listAllReports, ns_runReport (filter by subsidiary or book) |
| AR and AP aging | get_aged_receivables, get_aged_payables, get_customer_balance | list-aged-receivables-by-contact, list-aged-payables-by-contact | ns_runReport, ns_runSavedSearch |
| Ledger and transaction detail | get_general_ledger, search_invoices, search_bills, search_payments, search_deposits | list-manual-journals, list-bank-transactions, list-invoices, list-payments | ns_runCustomSuiteQL (read-only), ns_getRecord |
| Draft or post entries | Journal Entry is a supported entity; create_bill, create_payment, create_deposit | create-manual-journal, create-bank-transaction, create-payment, create-invoice | ns_createRecord, ns_updateRecord, ns_transformRecord |
| Corrections | update_invoice, delete_invoice (deletes or voids) | update-invoice, update-manual-journal (invoice updates apply to drafts only) | ns_updateRecord, ns_executeRecordAction |
Sources: the Intuit README, the Xero README, and Oracle's Available Tools in the MCP Standard Tools SuiteApp.
Where this earns its keep for accountants:
- Flux review prep. "Compare this month's P&L to last month and list lines that moved more than 10%." The server returns the report; you set the threshold.
- Aging questions. "Which customers are more than 60 days past due, and what do they owe?" maps to one aging tool.
- Reconciliation research. "Show every bank transaction over 5,000 that isn't reconciled" turns a ledger search into a one-line request.
- Client questions at a firm. A bookkeeper can answer "what did we spend on software last quarter?" without exporting a report.
Run these against a sandbox or a read-only role first, and tie every number back to the system's own report before you rely on it.
What can't MCP do for accounting?
An MCP server gives a model access to the books. It does not approve entries, run a close, sign off a reconciliation or keep evidence of why an entry was made. These gaps apply to every server above.
1. No approval before a write. The accounting servers run a tool as soon as the client calls it. The MCP specification says clients should ask a person to confirm tool calls, but that is a client setting, and the person confirming is the person asking. Oracle warns that an agent may run powerful tools "without the user's explicit intent" (Oracle). Stripe is the exception: it requires human confirmation for certain writes, such as refunds and outbound payments (Stripe). Even there, the requester and the approver can be the same person.
2. No segregation of duties. The tools inherit one user's access. If that user can both create a vendor bill and pay it, so can the AI client. Your preparer and approver separation has to live somewhere else.
3. No record of why. QuickBooks' audit log records the change, the user and the date. NetSuite's MCP execution log records each call's time, status, user and URL path, and keeps it for 21 days in production (Oracle). Neither records the prompt, the reasoning or an approver. An auditor asking "why was this entry booked?" gets no answer from the log.
4. No close, only single calls. A close is a sequence: tie the subledgers to the GL, book accruals, review, sign off, lock the period. Each MCP tool is one operation. The order of calls is generated at runtime, so the same request can produce a different sequence next month. If step three fails, steps one and two stay in the books.
5. No sign-off and no schedule. MCP is request-driven. Nothing runs on business day one unless a person asks, and no tool records that a reviewer signed off a reconciliation.
6. One client company per connection. QuickBooks connects one company per configuration (one realm ID). A Xero custom connection covers one organisation; Xero's bearer-token mode supports several at runtime, but the client then handles sign-in (Xero README). Firms with many clients manage one connection, and one set of credentials, per client.
How do you set up an MCP server for accounting?
Setup follows the same pattern on every system: a dedicated user or role, a read-only first run, a client connection, then a test against a report you already trust. The system-specific steps live in each vendor's docs and in the QuickBooks and NetSuite guides.
- Pick the server for the books you keep. Use the vendor's own server where one exists (table above).
- Create a dedicated user or role. NetSuite requires one: the Administrator role and full-access roles cannot use the AI Connector Service (Oracle). Give the role only the records the use case needs.
- Start read-only. In QuickBooks, set
QUICKBOOKS_DISABLE_WRITE,QUICKBOOKS_DISABLE_UPDATEandQUICKBOOKS_DISABLE_DELETEtotrue. In NetSuite, leave the REST Web Services permission off the role. Sage Intacct's server is read-only already. - Register the app and credentials. QuickBooks needs an app on the Intuit Developer Portal. Xero uses a custom connection's client ID and secret (
XERO_CLIENT_ID,XERO_CLIENT_SECRET), and the server starts withnpx -y @xeroapi/xero-mcp-server@latest. Stripe and NetSuite sign in with OAuth at a hosted URL. - Connect the AI client. Add the server to Claude, ChatGPT or another MCP client, and sign in with the dedicated user.
- Test against a known number. Pull last month's trial balance and compare it to the report you closed on.
- Decide who may use writes, in writing. If you turn writes on, name the users, the entities and the transaction types, and start in a sandbox.
Where does MCP leave a controls gap in accounting, and how does Loopfour close it?
MCP is a connection layer, not a control layer. It answers "can the model reach the books?" Accounting controls answer "should this entry post, who approved it, and can we show it to the auditor next year?"
An AI agent decides what to do at runtime. Loopfour does only what was approved.
Loopfour, the deterministic finance workflow automation platform, connects to QuickBooks, Xero, NetSuite, Sage Intacct and Stripe through its own integrations and runs accounting work as versioned, approved workflows. AI handles the steps that need interpretation, such as reading a vendor invoice or matching a remittance. Every step that touches the ledger runs the same way each time. Loopfour is a managed service: we build the workflow, run it and maintain it.
| Control accountants need | MCP server on its own | Loopfour workflow |
|---|---|---|
| Approval before an entry posts | Optional prompt to the person asking | An approval step routed to a named approver, for example Slack approval buttons |
| Close sign-off | Not part of the protocol | Checklist items signed off and logged, for example sign-off with Slack reactions |
| Same steps every month | Call sequence generated at runtime | A defined, versioned workflow |
| Audit evidence | The system's change log, without the reason | Every run logged and versioned (governance) |
| Segregation of duties | One user's access | Preparer and approver kept separate |
| Scheduled runs | Request-driven only | Runs on a schedule, an event, a person or an API call |
A typical close step: bank transactions pulled from Xero → matched against open items (Xero bank transaction sync) → exceptions sent to Slack → reviewer signs off → adjusting entry posted → run record kept. The model never holds a write-enabled token to the books. The workflow does, and it only runs the steps that were approved.
The two can sit side by side. Many teams will let accountants ask questions through a read-only MCP connection while anything that posts to the ledger runs through an approved workflow.
Loopfour does not ship an MCP server today. Native MCP support for Loopfour workflows is coming soon.
Go deeper
For how MCP fits a full finance stack, including hosts, clients and servers, MCP compared with APIs and iPaaS, and where approvals belong, read how financial workflow MCP connects AI to ERP and accounting systems with approvals and an audit trail. For system-by-system detail, see what the QuickBooks MCP server can and can't do, what the NetSuite MCP server can and can't do, and how ERP MCP servers compare with ERP integrations.
Next step
Map the finance workflow with the most exposure and prove the automation path.
Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.
Checklist
Before you connect an MCP server to the books
- The server is published by the accounting system's vendor, or you have reviewed who maintains it.
- It signs in as a dedicated user or role, not an administrator.
- The first connection is read-only, against a sandbox or a single test company.
- Every number it returns has been tied to the system's own report at least once.
- Writes stay off until someone has named who may use them, and for which entries.
- Any entry the AI client prepares is approved by someone other than the person who asked for it.
- You keep your own record of prompts and tool calls if you need more than the system's log (21 days in NetSuite production).
- At a firm: one connection per client company, with credentials stored and revoked per client.
Frequently Asked Questions
Sources
- Intuit, QuickBooks Online MCP Server, repository and README (opens in a new tab)
- Xero, Xero MCP Server, repository and README (opens in a new tab)
- Oracle NetSuite Help Center, MCP Standard Tools SuiteApp (opens in a new tab)
- Oracle NetSuite Help Center, Available Tools in the MCP Standard Tools SuiteApp (opens in a new tab)
- Oracle NetSuite Help Center, Required Features and Permissions (opens in a new tab)
- Oracle NetSuite Help Center, Connect to the NetSuite AI Connector Service (execution log, retention) (opens in a new tab)
- Oracle NetSuite Help Center, Associated Risks, Controls, and Mitigation Strategies (opens in a new tab)
- Sage, Sage Intacct AI Gateway (MCP server read-only, REST APIs full access, both follow roles and permissions) (opens in a new tab)
- Stripe Docs, Model Context Protocol (MCP) (opens in a new tab)
- Model Context Protocol specification, Tools (2025-06-18) (opens in a new tab)
- QuickBooks, Use the audit log in QuickBooks Online (opens in a new tab)
- Intuit Developer Portal (opens in a new tab)
Related
Topic
Month-End Close
Month-end close is the set of accounting tasks a company runs after a calendar month ends to turn raw transactions into a finished, trustworthy set of financial statements: reconciling subledgers, boo…
Read moreTopic
Integrations
Every finance automation vendor publishes an integrations page: a grid of logos, a claim of "seamless" connectivity, and not much else. That page answers a marketing question — does this vendor touch…
Read moreHow-to
How do I set up Xero BankTransaction sync for reconciliation?
Create a BankTransaction against the correct BankAccount for every payment the workflow processes, using createBankTransaction, and let Xero's own bank feed import and auto-matching reconcile it against the real statement line. Check the IsReconciled flag via getBankTransaction or listBankTransactions rather than assuming creation alone means the transaction is reconciled.
Read moreHow-to
How do I track close checklist sign-off using Slack reactions?
Post each close checklist item as its own message, then have the responsible person react to it with an agreed emoji to signal sign-off. Loopfour's Slack integration reads that back via reactions.get, which returns a users array naming who reacted — but Slack's own docs warn that array can be incomplete, so treat it as a strong signal, not a guaranteed audit trail.
Read moreHow-to
How do I maintain segregation of duties in an automated AP approval workflow?
Keep three roles distinct in the workflow itself: who can create or edit a vendor record, who can enter or submit a bill, and who can approve it for payment. Institutional guidance is explicit that authorizing a payment and the person who executes it shouldn't be the same individual — automation makes it easy to collapse these into one click, which is exactly the risk to design against.
Read moreDiagnostic
How do I tie subledgers (AR/AP/inventory) to the GL at close?
All three share one root pattern: a subledger and its GL control account stay in sync only when every transaction goes through a real subledger type — an invoice, a bill, a receipt — never a bare journal entry against the control account. Check each subledger's own detail report against its control account separately; a tie on one doesn't imply a tie on the others.
Read moreIntegration
QuickBooks MCP server: what it does, what it can't, and how to set it up
Yes. Intuit publishes an official QuickBooks MCP server that lets Claude and other MCP clients read and write QuickBooks Online data over OAuth 2.0. It runs locally, covers 29 entity types and 11 reports, and leaves approvals, audit evidence and multi-step control to you.
Read moreIntegration
NetSuite MCP server: what it does and what finance still needs
Yes, there is an official NetSuite MCP server. Oracle provides it through the NetSuite AI Connector Service. With the MCP Standard Tools SuiteApp installed, an AI client such as Claude or ChatGPT can run read-only SuiteQL queries, reports and saved searches, and create or update records, limited to the signed-in user's NetSuite role.
Read moreIntegration
ERP MCP server: what exists and how it compares to APIs
An ERP MCP server lets an AI client such as Claude read, and if allowed write, ERP data through the Model Context Protocol. NetSuite, QuickBooks, Dynamics 365, Xero and Sage Intacct now offer one, and SAP data is reachable through AWS and Joule Studio. MCP connects a model to the ERP. Approvals and audit evidence still sit outside it.
Read moreIntegration
MCP for AP and AR automation: what it can and can't do
MCP accounting automation connects an AI assistant to the systems that hold your bills, invoices and payments: QuickBooks, Xero, NetSuite and Stripe. Each step is a single tool call. Approval chains, segregation of duties, duplicate protection, three-way match and scheduled dunning still sit outside MCP.
Read more