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.
Part of the finance integrations guide.
| Protocol | Model Context Protocol (MCP), JSON-RPC 2.0 over stdio (local) or Streamable HTTP (remote) |
|---|---|
| ERPs with a vendor MCP server (checked October 29, 2026) | Oracle NetSuite, Intuit QuickBooks Online, Microsoft Dynamics 365 Finance and Supply Chain Management, Microsoft Dynamics 365 Business Central, Xero, Sage Intacct |
| SAP S/4HANA and ECC | AWS for SAP MCP Server (built by AWS); SAP Joule Studio generates MCP servers from existing OData or REST APIs |
| Write access by default | Varies: Business Central is read-only by default; Intuit's QuickBooks server writes by default; NetSuite and Dynamics 365 follow the user's role |
| Approval step in the protocol | None. The MCP specification says clients should let a person confirm or deny tool calls. |
| Relationship to ERP APIs | Most ERP MCP servers are built on the ERP's own APIs (REST, OData, API pages) and do not replace them |
Key points
- Most major ERPs now have a vendor-built MCP server. Each one runs, authenticates and scopes writes differently.
- MCP sits on top of the ERP's APIs, not in place of them. The servers call the same REST, OData and API pages your integrations use.
- Write access is a configuration choice, and the defaults differ. Business Central starts read-only. Intuit's QuickBooks server starts with writes on.
- The protocol has no approval step and no fixed run sequence. The model picks and orders tool calls at runtime.
- For anything that posts to the ledger, keep the controls in the workflow, not in the chat.
What ERP MCP servers exist today?
As of October 29, 2026, six ERPs have an MCP server published by the ERP vendor, and SAP data is reachable through two other routes. The table lists each one, who runs it, and what it can write.
| ERP | Server | Who runs it | Writes |
|---|---|---|---|
| Oracle NetSuite | NetSuite AI Connector Service with the MCP Standard Tools SuiteApp | Oracle, hosted in NetSuite, OAuth 2.0 | Create, update and transform records if the role allows. SuiteQL is read-only. |
| QuickBooks Online | Intuit QuickBooks Online MCP server | You, locally (open-source Intuit repo), OAuth 2.0 through your own Intuit app | Create, update and delete on by default. Three flags switch them off. |
| Dynamics 365 Finance and Supply Chain Management | Dynamics 365 ERP MCP server | Microsoft, built into the environment | Data tools create, read, update and delete through data entities. Form and action tools run application logic. All scoped by security role. |
| Dynamics 365 Business Central | Business Central MCP server | Microsoft, one hosted endpoint, Microsoft Entra ID sign-in | Read-only by default. Admins allow create, modify, delete and actions per API page. |
| Xero | Xero MCP server | You, locally (XeroAPI GitHub organization, MIT license) | List, create and update tools for contacts, invoices, bank transactions, manual journals, payments and more. |
| Sage Intacct | MCP server in the Sage Intacct AI Gateway | Sage, hosted | Sage describes a governed, auditable endpoint. Check Sage's documentation for current read and write scope. |
| SAP S/4HANA, ECC | AWS for SAP MCP Server | AWS, deployed in your AWS account on Amazon Bedrock AgentCore | Reads OData services. Create, update and delete only when the operator enables them. |
| SAP (BTP) | Joule Studio-generated servers | SAP managed runtime | Whatever the source OData or REST API allows. |
Two things to know about this list. First, Microsoft's earlier "static" Dynamics 365 ERP MCP server, with 13 fixed tools, was scheduled to retire on October 1, 2026, so guides that describe it are out of date (Microsoft). Second, we found no public Workday documentation for a Workday MCP server as of October 29, 2026.
Third-party servers fill the gaps. Hosted services such as Zapier MCP, Pipedream and Composio expose ERP actions as MCP tools, and CData publishes read-only servers built on its database drivers. Check who maintains any server before you give it production credentials. For the two ERPs with the most search interest, see the detailed guides to what the NetSuite MCP server can and cannot do and what the QuickBooks MCP server can and cannot do.
What can an ERP MCP server actually do?
An ERP MCP server exposes ERP operations as tools that an AI client can discover and call: read records, run queries and reports, create or update transactions, and run application actions. The exact tools depend on the vendor and on what your configuration allows.
| Capability | Example tools (from vendor docs) | Typical use |
|---|---|---|
| Query data | NetSuite ns_runCustomSuiteQL, Business Central bc_data_query (preview), Dynamics 365 data_find_entities | "Which customers are more than 60 days past due?" |
| Run reports | NetSuite ns_runReport, QuickBooks get_aged_receivables, Xero list-trial-balance | Pull a trial balance or aging report by period |
| Create and update records | NetSuite ns_createRecord, Dynamics 365 data_create_entities, Xero create-invoice, QuickBooks create_bill | Draft an invoice, add a vendor, update a contact |
| Run business logic | NetSuite ns_transformRecord, Dynamics 365 form_click_control and api_invoke_action, Business Central API page actions | Turn a sales order into an invoice, post a document |
| Discover what is available | NetSuite ns_getSessionInfo, Dynamics 365 data_find_entity_type, Business Central bc_actions_search | Show the agent what the signed-in role can reach |
Dynamics 365 goes furthest. Its form tools let an agent open pages, set field values and select buttons "the same way a human would perform the task in the application client," with the same security access as the signed-in user (Microsoft). Business Central is the most conservative by default. Its built-in configuration only discovers and reads API pages the user can already access, and every write permission is a separate switch (Microsoft).
What this is good for: asking questions of your books in plain language, across whatever the role can see. Read-only, against a sandbox or a scoped role, it is low-risk and useful.
What can't an ERP MCP server do?
An ERP MCP server gives a model access to the ERP. It does not decide who may approve a write, fix the order of steps, or keep evidence of why a change happened. These gaps are in the protocol, so they apply to every server above.
- No approval step on writes. A tool runs when the client calls it. The MCP specification says clients should let a person confirm or deny tool calls, but that is a client behavior, not a guarantee. Oracle warns that an agent "may run powerful MCP tool functions - such as making payments or granting approvals - without the user's explicit intent" (Oracle). A confirmation click from the person chatting is not an approval under your delegation of authority.
- No fixed run. MCP "does not dictate how AI applications use LLMs" (MCP architecture). The model selects and orders tool calls at runtime, so the same request can produce a different sequence on a different day.
- Logs show the call, not the reason. Business Central runs every operation under the user's identity, "ensuring audit trails show who performed each action" (Microsoft). NetSuite keeps 21 days of MCP request logs in production (Oracle). QuickBooks' audit log records the change. None of these record the prompt or an approver, because the protocol has no approver.
- No safe multi-step runs. Each tool is one operation. If a task creates an invoice, applies a payment, and fails on the third step, the first two writes stay in the books unless something outside the server undoes them.
- No schedule. MCP is request-driven. Nothing runs at 6 a.m. on the first business day unless someone builds that elsewhere.
- Segregation of duties is only as good as the role. The tools inherit the signed-in user's permissions. If one role can create and approve a vendor bill, so can the AI client.
How does a finance MCP server compare with traditional ERP integration?
MCP and traditional ERP integration solve different problems. MCP gives an AI client flexible, on-demand access to the ERP. A traditional API or iPaaS integration runs a fixed, tested sequence every time. Most teams will want both.
A traditional integration is code (or an iPaaS flow) that calls the ERP's API in a defined order, on a trigger or a schedule, with error handling someone designed in advance. An MCP server publishes a menu of tools, and the model decides at runtime which to call. Under the hood, the MCP server usually calls the same API: Business Central's tools are built from its API pages, NetSuite's record tools use REST Web Services, and the AWS server for SAP calls OData services.
| Question | ERP MCP server | API or iPaaS integration |
|---|---|---|
| Who decides the steps | The model, at runtime | The integration, defined in advance |
| Best for | Ad hoc questions, exploration, one-off lookups | Recurring, high-volume, ledger-posting work |
| New question or task | Ask it; no new code if the tools cover it | Build or change the flow |
| Triggers | A person's request | Schedules, system events, API calls |
| Same result every run | Not guaranteed | Yes, for the same inputs |
| Approvals and retries | Outside the protocol | Designed into the flow |
| Reuse across AI clients | Any MCP-compatible client | Not applicable |
Where MCP genuinely wins: one standard connection that any compatible AI client can use, and less custom code for each new question. Microsoft lists "reuse of agents across enterprise resource planning (ERP) systems" and "consistent data access, permissions, and auditability across all agent integrations" as the reasons it adopted MCP (Microsoft). Dynamic discovery also means ERP extensions and customizations show up to the agent without new connectors.
Where API and iPaaS integration still wins: anything that must happen the same way every time, on a schedule, with a record your auditors can follow. That covers most of what touches the general ledger. A practical split: analysts query the ERP through a read-only MCP role, and anything that posts runs as a defined, approved workflow.
How do you set up an ERP MCP server safely?
Setup differs by vendor, but the safe pattern is the same: a dedicated identity, read-only first, a narrow scope, approved clients only, and a log you actually review. Each step below names the control in each vendor's documentation.
- Pick the vendor's server first. Use the official servers in the table above before a third-party build. If you use a community server, read its source.
- Create a dedicated, least-privilege identity. NetSuite blocks the Administrator role and any full-access role from its MCP server and needs a role with MCP Server Connection (Oracle). In Dynamics 365, the agent sees only what its security role allows. In Business Central, operations run under the signed-in user's permissions.
- Start read-only. Business Central is read-only until an admin turns on Unblock Edit Tools and per-API permissions. On Intuit's server, set
QUICKBOOKS_DISABLE_WRITE,QUICKBOOKS_DISABLE_UPDATEandQUICKBOOKS_DISABLE_DELETEtotrue. The AWS for SAP server writes only when the operator enables it. - Narrow the scope. Add only the API pages a use case needs (Business Central's Available APIs), or allowlist APIs by prefix (AWS for SAP).
- Approve the clients. Dynamics 365 Finance and Supply Chain Management only accepts agent platforms on its Allowed MCP Clients page, and needs version 10.0.47 (or 10.0.46 PQU-2, 10.0.45 PQU-7) or later. Business Central needs your own app registration for non-Microsoft clients such as Claude or ChatGPT.
- Test with reads in a sandbox. Ask for an aging report or a trial balance, and reconcile the answer against the ERP's own report before anyone relies on it.
- Find and keep the log. NetSuite shows MCP calls on the integration record's execution log. The AWS server sends tool invocation logs to Amazon CloudWatch. Copy what you need to keep beyond the vendor's retention.
- Turn on writes one at a time, with an approval outside the chat. Decide who approves each write type and where that approval is recorded before you enable it.
Where does an ERP MCP server leave a finance-controls gap, and how does Loopfour close it?
MCP is a connection layer, not a control layer. It answers "can the model reach the ERP?" Finance controls answer "should this change post, who approved it, and can we prove it a year from now?" Auditors ask the second question.
An AI agent decides what to do at runtime. Loopfour does only what was approved.
Loopfour, the deterministic finance workflow automation platform, runs finance workflows on ERPs such as NetSuite and QuickBooks through its own integrations, with access scoped through OAuth. AI handles the parts that need interpretation (reading an invoice PDF, classifying a remittance). Everything that touches the ledger runs as fixed, programmatic steps. Loopfour is a managed service: we build the workflow, run it, and maintain it.
| Control finance needs | ERP MCP server on its own | Loopfour workflow on the ERP |
|---|---|---|
| Who decides the sequence | The model, at runtime | A versioned workflow, approved before it runs |
| Approval before a write | Optional client prompt to the person chatting | An approval step routed to a named approver, for example interactive Slack approval |
| Segregation of duties | Inherits one user's role | Preparer and approver kept separate (segregation of duties in AP) |
| Audit evidence | The ERP's log of the change | Every run logged and versioned (governance), alongside the ERP's own log |
| Triggers | A person's request | A schedule, an event, a person, or an API call |
A typical flow: vendor invoice arrives → line items extracted → approval in Slack → bill posted to the ERP → run record kept. The model never holds a write-enabled ERP credential. The workflow does, and it runs only the steps that were approved.
Loopfour does not ship an MCP server today. Its workflows run on the ERPs and other systems listed on the integrations page now. Native MCP support for Loopfour workflows is coming soon.
Go deeper
For how MCP fits a full finance stack (hosts, clients, servers, MCP vs API vs iPaaS, and where approvals belong), read how financial workflow MCP connects AI to ERP and accounting systems with approvals and an audit trail.
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 AI client to your ERP through MCP
- Use the ERP vendor's own MCP server where one exists, and know who maintains any other server you install.
- Create a dedicated, least-privilege identity for the AI client. Never connect it as an administrator.
- Start read-only, in a sandbox or test company.
- Limit scope to the records and APIs the use case needs (role permissions, API allowlists, per-API create, modify and delete switches).
- Register only the AI clients you approve.
- Reconcile the first answers against the ERP's own reports before anyone relies on them.
- Know where tool calls are logged and how long the log is kept. Keep your own copy if you need more.
- Before you enable any write, decide who approves it, where that approval is recorded, and what happens if a multi-step task fails halfway.
Frequently Asked Questions
Sources
- Model Context Protocol, Architecture overview (opens in a new tab)
- Model Context Protocol specification, Tools (2025-06-18) (opens in a new tab)
- Oracle NetSuite Help Center, NetSuite AI Connector Service (opens in a new tab)
- Oracle NetSuite Help Center, MCP Standard Tools SuiteApp (opens in a new tab)
- Oracle NetSuite Help Center, Connect to the NetSuite AI Connector Service (opens in a new tab)
- Oracle NetSuite Help Center, Associated Risks, Controls, and Mitigation Strategies (opens in a new tab)
- Intuit, QuickBooks Online MCP Server (GitHub) (opens in a new tab)
- QuickBooks, Use the audit log in QuickBooks Online (opens in a new tab)
- Microsoft Learn, Use Model Context Protocol for finance and operations apps (opens in a new tab)
- Microsoft Learn, Business Central MCP Server overview and setup (opens in a new tab)
- Microsoft Learn, Configure Business Central MCP Server (opens in a new tab)
- Xero, Xero MCP Server (GitHub) (opens in a new tab)
- Sage, Sage Intacct AI Gateway (opens in a new tab)
- AWS, What is the AWS for SAP MCP Server? (opens in a new tab)
- SAP Architecture Center, Joule Studio (opens in a new tab)
- Zapier, NetSuite MCP (opens in a new tab)
- Pipedream, QuickBooks MCP server (opens in a new tab)
- Composio, NetSuite toolkit (opens in a new tab)
Related
Integration
Can you integrate accounts receivable automation with SAP?
Yes — SAP's FI-AR (Accounts Receivable Accounting) module exposes the invoice, customer, and open-item data an automation layer needs, either through a certified add-on running inside SAP or through APIs and standard bank-statement formats (BAI2, MT940, CAMT.053) connecting an external tool. The integration path depends mainly on whether the automation runs embedded in SAP or alongside it.
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 look up or update an AP bill in Xero?
Use getInvoice, updateInvoice, or listInvoices with the bill's InvoiceID — Xero has no separate Bill resource. A bill is an Invoice with Type=ACCPAY, and Loopfour's Xero integration exposes full get/update/list for Invoices generically. createBill is a convenience wrapper for creation only; reading and updating a bill happens through the Invoice actions, not a Bill-named one.
Read moreHow-to
How do I set up interactive Slack approval buttons for invoice approval?
Post the invoice as a message with an interactive button block, then respond to the click by opening a modal with the trigger_id Slack sends in the interaction payload — within three seconds, before any lookup or validation. Loopfour's Slack integration supports this through sendMessage (with blocks) and openModal, but the modal call has to happen first, not last.
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 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 moreComparison
Finance MCP servers: what exists and how to choose one
Finance MCP servers let an AI client such as Claude or ChatGPT read, and if allowed write, finance systems through the Model Context Protocol. NetSuite, QuickBooks, Dynamics 365, Xero, Sage Intacct and Stripe publish their own. Zapier, Pipedream, Composio and CData cover the rest. They differ in who runs them and what they write. Only Stripe's server requires a person to confirm certain writes.
Read more