Odoo MCP vs JSON-2 API.
You are not choosing between them. JSON-2 is how software calls Odoo. MCP is how compatible AI clients discover tools. The useful 2026 stack uses both — or MCP over the ORM, if the server runs inside Odoo.

They are layers, not rivals
If you are comparing “Odoo MCP vs the JSON-2 API” as if one replaces the other, stop. They sit on different layers. JSON-2 is Odoo 19’s external HTTP API. MCP is an open protocol so ChatGPT, Claude, Gemini, Cursor and other compatible clients can discover tools. An MCP server often calls JSON-2. It is not a second ERP API.
| JSON-2 | MCP | |
|---|---|---|
| What it is | Odoo’s external HTTP API | An AI tool protocol |
| Caller | Your app, script, or middleware | An MCP-compatible assistant or agent |
| Shape | POST /json/2/<model>/<method> with a bearer key | A catalogue of named tools |
| Typical work | Syncs, batches, ETL | Questions, summaries, guided actions |
| Odoo Online | Custom plan, documented | Depends: external servers still need that API; an in-Odoo module does not |
Without MCP you tend to build ChatGPT→Odoo, then Claude→Odoo, then Gemini→Odoo as separate adapters. With MCP the fan-out sits at the protocol: one Odoo-facing integration, several clients. How-to: MCP + JSON-2 for Odoo 19. Noun: what is Odoo MCP? API: JSON-2 explained.
Jobs do not need a language model
Nightly stock pushes, 3PL files, payment matching, BI extracts — none of these need a tool catalogue. They need JSON-2 (or a module) on a schedule, with retries and a dead-letter queue. Putting MCP in the middle adds an LLM that can no-op or invent a domain.
Use MCP when a person, or an agent acting for a person, is asking variable questions and you want a governed, discoverable tool list. Use JSON-2 when the questions are not questions; they are jobs. The Custom-plan cost of the API on Odoo Online is independent of MCP: what API access costs.
An in-Odoo MCP module is still MCP
If the server is an Odoo module, the ORM is the back end. You still have MCP on the AI side. You do not call /json/2, you do not hit the Custom-plan external API, and you can run as the signed-in user. That is not a lesser integration. It is a different door.
Odoo documenting MCP in 19.4 does not make JSON-2 obsolete. Software will keep posting to /json/2. Agents will keep calling MCP tools. Some of those tools will be implemented with JSON-2; some will not. Know which implementation you deployed and which user it runs as. The logo on the protocol does not change the blast radius. Odoo 19.4 MCP.
Official documentation
FAQ
Is MCP a replacement for JSON-2?
When do I use JSON-2 without MCP?
Scheduled syncs, ETL, classic integrations — anything that is not an LLM discovering tools from a prompt.
When do I use MCP?
When ChatGPT, Claude, Gemini, Cursor or another MCP-compatible agent should search, summarise or act on Odoo through a controlled tool list. Free Odoo MCP.
Can I skip JSON-2 if MCP runs inside Odoo?
Yes. An in-process module can call the ORM and never touch /json/2. That is still MCP on the AI side. Odin MCP.
JSON-2, MCP and clients
Start read-only. Ask a real question.
Sandbox on sample data, or we put MCP on your instance.