You connect ERPNext to ChatGPT or Claude by running an MCP server on your ERPNext site and adding it as a custom connector in the AI app. Once linked, you can ask questions and update records in plain English — "show me last month's overdue customers," "create a sales order for Acme" — and the model works against your live data, scoped to your own permissions.
Short answer
To connect ERPNext to ChatGPT and Claude, install the open-source Frappe Assistant Core app, which turns your ERPNext site into a Model Context Protocol (MCP) server. Copy the MCP endpoint URL from the app, add it as a custom connector in Claude Desktop or ChatGPT (Developer Mode), authorise it with OAuth using your ERPNext login, and the model can then read and write ERPNext data within your role permissions.
This is the step-by-step companion to my broader guide on whether ERPNext has AI features. That post answers "what's possible"; this one is the setup runbook I actually follow on client sites. I am Manoj, an ERPNext implementation consultant at Mith Tech in Bengaluru, and I set up MCP connections for Indian SMBs who want a Claude or ChatGPT copilot over their ERP without moving data into a proprietary cloud.
The honest framing: MCP is the cleanest way to give a general-purpose LLM controlled access to ERPNext — but "controlled" is the operative word. Get permissions and staging right before anyone points a write-capable model at production.
What does connecting ERPNext to ChatGPT or Claude actually mean?
Connecting ERPNext to ChatGPT or Claude means running a small server on your ERPNext site that publishes your ERP's data and actions as tools the AI can call, using a shared standard called the Model Context Protocol. The AI does not get a copy of your database; it sends a scoped request ("find open invoices for this customer"), your server runs it under that user's permissions, and returns just the result. You keep the data; the model borrows a narrow, authenticated view of it.
MCP matters because it is a standard. Before it, every AI-to-ERP link was a bespoke integration. Now Anthropic's Claude and OpenAI's ChatGPT both act as MCP clients, so one MCP server on ERPNext works with either — and with future MCP-capable models too.
Skimmable summary: Connecting ERPNext to an LLM means exposing it as an MCP server — the model calls scoped tools against your live data under real permissions, rather than receiving a data dump.
What do you need before you start?
Before connecting ERPNext to ChatGPT or Claude, you need three things: a Frappe/ERPNext site you can install apps on, an LLM account that supports custom MCP connectors, and an ERPNext user whose permissions define exactly what the AI may see. Missing any one of these is where setups stall — most often the LLM plan tier, because free ChatGPT cannot add custom connectors at all.
Here is the checklist I run through first:
- A self-hosted or Frappe Cloud site running Frappe Framework v15 or v16 (v16 shipped 12 January 2026). You need
benchaccess for self-hosted, or the Apps tab on Frappe Cloud. - Claude (Desktop or web with connectors) or ChatGPT on a plan that allows custom MCP connectors — see the plan table below.
- A dedicated ERPNext user for the AI, with a role profile scoped to only the DocTypes it should touch. Never point it at an Administrator account.
- A staging site that mirrors production, so you can test write actions without risk.
Create a scoped AI user first
The single biggest mistake I see is connecting the model as Administrator "just to test." MCP tools inherit that user's permissions exactly — an admin-scoped connection can read and overwrite anything. Make a purpose-built user with a tight role profile before you connect anything.
Skimmable summary: You need an install-capable Frappe/ERPNext site, an LLM plan that supports custom MCP connectors, and a permission-scoped ERPNext user — plus a staging site to test writes safely.
How do I install Frappe Assistant Core on ERPNext?
You install Frappe Assistant Core with two bench commands — bench get-app to fetch it and bench --site install-app to enable it — then open its settings in Desk to turn on the MCP endpoint. On Frappe Cloud, you add the app from the marketplace instead of using bench. The app is open source and adds a set of MCP tools (search, create, report, and more) that the AI can call.
Fetch the app
On a self-hosted bench, pull the app into your bench directory:
bench get-app https://github.com/buildswithpaul/Frappe_Assistant_Core
Install it on your site
Install the app onto the specific site, then run migrate:
bench --site your-site.local install-app frappe_assistant_core
bench --site your-site.local migrate
On Frappe Cloud, skip the bench steps and add Frappe Assistant Core from the Apps tab / marketplace instead.
Enable the MCP endpoint
In ERPNext, go to Desk → Assistant Core Admin (the app's settings), enable the server, and turn on OAuth so external models authenticate securely. Copy the MCP endpoint URL shown there — you will paste it into Claude or ChatGPT next.
The app ships a broad catalogue of tools — over a hundred in the community build — covering search_documents, create_document, generate_report, and an execute_python tool for advanced data work. The exact roster changes as the app develops, so check the tool list against the version you install.
Decide about execute_python deliberately
The execute_python tool lets the model run Python against your site. That is powerful for analytics and dangerous if the model is compromised or over-instructed. On client sites I disable it unless there is a specific need, and never enable it for a write-capable production connection.
Skimmable summary: Install with bench get-app then bench install-app (or the Frappe Cloud marketplace), enable the MCP endpoint in Assistant Core Admin, copy the endpoint URL — and think twice before enabling the execute_python tool.
How do I connect Claude to ERPNext?
You connect Claude to ERPNext by adding your ERPNext MCP endpoint as a custom connector in Claude's settings, then authorising it with your ERPNext login. Claude Desktop and the web app both support custom connectors; you paste the endpoint URL, click connect, sign in through ERPNext's OAuth screen, and Claude can then call your ERPNext tools in any conversation.
Open connector settings
In Claude, go to Settings → Connectors → Add custom connector.
Paste the MCP endpoint
Paste the MCP endpoint URL you copied from Assistant Core Admin and add it.
Authorise with ERPNext
Click Connect. You are redirected to your ERPNext site's OAuth login. Sign in as the scoped AI user and authorise. Claude never sees the password — it receives a scoped token.
Test read-only first
Ask a question you can verify: "How many sales orders were submitted last week?" Confirm the number against ERPNext's own report before you trust it with anything larger.
Skimmable summary: In Claude, add a custom connector, paste the ERPNext MCP endpoint, authorise via ERPNext OAuth as the scoped user, then verify a read-only query before going further.
How do I connect ChatGPT to ERPNext?
You connect ChatGPT to ERPNext by enabling Developer Mode, adding your ERPNext MCP endpoint as a custom connector, and authorising it with OAuth. The catch is plan tiers: custom MCP connectors are a paid, Developer-Mode feature, and write access is restricted to workspace plans. Free ChatGPT cannot add custom connectors at all.
Here is what each plan can do with an ERPNext MCP connector as of mid-2026:
| ChatGPT plan | Custom MCP connector | Read | Write |
|---|---|---|---|
| Free | No | — | — |
| Plus / Pro (individual) | Yes (Developer Mode) | Yes | Read-only |
| Business / Team | Yes | Yes | Yes (workspace-controlled) |
| Enterprise / Edu | Yes | Yes | Yes |
The steps mirror Claude: enable Developer Mode (in workspace settings under connectors / permissions), choose create custom MCP connector, paste the ERPNext MCP endpoint, and complete the ERPNext OAuth flow. Because MCP support in ChatGPT is still evolving, treat the tier behaviour above as current-but-changing and check OpenAI's connector documentation before you rely on write access.
Skimmable summary: ChatGPT needs Developer Mode to add a custom ERPNext MCP connector; individual Plus/Pro are read-only, and write-capable connectors require a Business/Enterprise/Edu workspace — free ChatGPT cannot connect at all.
Should you use the MCP bridge or Raven AI agents?
Use the MCP bridge when you want ChatGPT or Claude to work over ERPNext from outside the ERP; use Raven AI agents when you want the AI to live inside ERPNext as a chat teammate. They solve different problems and many teams run both — MCP for ad-hoc analysis and reporting in your existing AI app, Raven for scoped, repeatable jobs like reading receipts into Expense Claims.
| MCP bridge (Assistant Core) | Raven AI agents | |
|---|---|---|
| Where the AI lives | In ChatGPT / Claude, outside ERPNext | Inside ERPNext, in the Raven chat app |
| Best for | Ad-hoc questions, reporting, exploration | Repeatable, scoped tasks (receipts, invoices) |
| Model | Any MCP client (Claude, ChatGPT) | OpenAI-compatible models |
| Setup | Install app + add connector | Install Raven + configure an agent |
For the Raven side of this, see my full walkthrough on what Raven is and how to set it up, and for AI steps inside broader automations, my n8n vs Zapier vs Make guide.
A timing note on Raven and the OpenAI Assistants API
Raven's agents were built on OpenAI's Assistants API, which OpenAI has deprecated with a sunset date of 26 August 2026 in favour of the newer Responses API. If you adopt Raven agents now, confirm the version you install has migrated (or has a migration path) so your agents keep working past that date. The MCP bridge is unaffected — it does not depend on the Assistants API.
Skimmable summary: The MCP bridge puts ERPNext inside ChatGPT/Claude for ad-hoc work; Raven puts AI agents inside ERPNext for repeatable tasks — use both, but note Raven's Assistants-API dependency sunsets 26 August 2026.
How do you keep an ERPNext AI connection secure?
You keep an ERPNext AI connection secure by scoping the AI user's permissions tightly, using OAuth rather than shared keys, testing on staging, and starting read-only. Frappe Assistant Core authenticates with OAuth 2.0 and PKCE and runs every tool call under the connecting user's roles, so security comes down to how narrowly you scope that user — the model can never exceed what the human it authenticated as is allowed to do.
The controls I apply on every setup:
- Least privilege: a dedicated AI user with a role profile limited to the exact DocTypes needed — nothing more.
- Read before write: grant read access, prove the workflow, then add write access to specific DocTypes only.
- Staging first: run the whole flow on a staging copy before touching production.
- Disable risky tools: turn off
execute_pythonunless you have a bounded, reviewed reason to keep it. - Audit: review the connection's activity periodically and rotate OAuth credentials on a schedule.
Skimmable summary: Security is permission scoping — a least-privilege AI user, OAuth over shared keys, read-before-write, staging tests, and disabling the Python tool unless truly needed.
Common errors when connecting ERPNext to an LLM (and fixes)
Most connection failures come down to three causes: the LLM plan does not allow custom connectors, the OAuth flow is not enabled on the ERPNext side, or the AI user lacks permission for the DocType it is being asked about. Working through those three in order resolves the large majority of "it won't connect" or "it returns nothing" reports.
| Symptom | Likely cause | Fix |
|---|---|---|
| No "add custom connector" option | Free plan, or Developer Mode off | Upgrade tier; enable Developer Mode |
| Connector added but "unauthorised" | OAuth not enabled in Assistant Core | Enable OAuth in Assistant Core Admin, reconnect |
| Model replies "no records found" for data you can see | AI user lacks read permission | Grant the DocType permission to the AI user's role |
| Write actions rejected | Individual plan is read-only | Use a Business/Enterprise workspace for writes |
| Endpoint unreachable | Site URL not publicly resolvable / firewall | Expose the endpoint over HTTPS; check firewall |
Skimmable summary: If a connection fails, check plan tier and Developer Mode, then OAuth on the ERPNext side, then the AI user's DocType permissions — that order fixes most issues.
Want ChatGPT or Claude working safely over your ERPNext?
I set up scoped, staged MCP connections for Indian SMBs — the right app, a least-privilege AI user, and a tested read-then-write rollout. To see the wider stack Mith Tech implements, start with the ERPNext product page or the Frappe solutions overview.
Frequently asked questions
Can I connect ERPNext to ChatGPT and Claude at the same time?
Yes — one Frappe Assistant Core MCP endpoint serves any MCP-capable client, so you can add the same ERPNext endpoint to both Claude and ChatGPT. Each connects as its own OAuth session under whichever ERPNext user authorises it, so their access is independent. In practice I often set up Claude for one team and ChatGPT for another against the same ERPNext site, each scoped to a different AI user with different permissions.
Do I need ERPNext v16 to connect an LLM over MCP?
No — Frappe Assistant Core runs on current Frappe/ERPNext versions including v15 and v16 (v16 released 12 January 2026), and there is a separate build maintained for older v14 sites. The MCP bridge depends on the app, not on a specific ERPNext release. That said, I recommend being on a supported, recent version for security updates before exposing any external connection.
Which ChatGPT plans can connect to ERPNext?
Custom MCP connectors in ChatGPT require Developer Mode, which is available on Plus, Pro, Team, Enterprise, and Edu plans — free ChatGPT cannot add them. Individual Plus and Pro connectors are read-only even with Developer Mode on; write-capable connectors are restricted to Business, Enterprise, and Edu workspaces. Claude, by contrast, supports custom connectors on its paid tiers with fewer read/write restrictions, so if you need write access on an individual plan, Claude is often the simpler route.
Is it safe to give ChatGPT or Claude access to my ERPNext data?
It is as safe as the permissions you scope, because Frappe Assistant Core runs every AI request under the connecting user's ERPNext roles — the model can only see and change what that user can. It authenticates with OAuth 2.0 and PKCE, so your password is never shared with the AI provider. I keep it safe by using a least-privilege AI user, starting read-only, testing on staging, and disabling the Python execution tool unless there is a specific, reviewed need.
What is the difference between the MCP bridge and Raven AI agents?
The MCP bridge lets external models like ChatGPT and Claude work over ERPNext from outside; Raven AI agents live inside ERPNext as chat-based assistants for scoped, repeatable tasks. Use the MCP bridge for ad-hoc reporting and analysis in your existing AI app, and Raven for jobs like turning a receipt photo into an Expense Claim. Many teams run both — see my Raven for ERPNext guide for that side.
Does connecting ChatGPT or Claude to ERPNext cost anything?
The connector — Frappe Assistant Core — is free and open source, so the only costs are your LLM subscription and token usage. You need a paid ChatGPT plan (for connectors) or a paid Claude plan, plus the per-use API or subscription cost of the model itself. There is no per-user fee from Frappe for the bridge, which is the core cost advantage over proprietary suite AI that bills the feature into every seat.
About the author
I am Manoj, an ERPNext implementation consultant at Mith Tech in Bengaluru. I set up open-source ERP, automation, and AI integrations for Indian SMBs — including scoped, staged MCP connections between ERPNext and models like Claude and ChatGPT. If you are weighing an ERPNext AI setup, I am happy to talk through what is safe to automate first.