Analysis · Last verified 7 August 2026

Odoo 20’s native MCP server: what it does, and where it stops

Odoo 20 Enterprise ships a built-in MCP endpoint. For exploration, reporting, and question-answering it is ready as shipped. This page covers exactly what it includes, how it authenticates, and the specific cases where it isn’t enough.

Last verified: 7 August 2026. Odoo 20 has not been released yet — it is unveiled at Odoo Experience on 24–26 September 2026, with the first stable patch expected October–November. This page is based on pre-release analysis of the module, and we re-verify it after every Odoo release. The changelog is at the bottom of this page.

Does Odoo 20 have a built-in MCP server?

Yes. Odoo 20 Enterprise includes a native MCP module, ai_mcp, which exposes a single /mcp endpoint speaking JSON-RPC 2.0 against MCP spec revision 2025-11-25. It authenticates with an API key carrying a dedicated MCP scope — not OAuth — and ships five read-only tools: context, model listing, field inspection, search, and grouped reads. Write tools exist in the underlying AI module but are not exposed over MCP unless an administrator explicitly enables them. It does not include rate limiting, audit logging, or a kill switch, and it is Enterprise-only.

What Odoo’s native MCP does well

Scope isolation is correct

An MCP credential cannot be reused as a general RPC key, and a normal RPC key will not work against /mcp. That isolation is a deliberate, well-made security decision, and several third-party implementations get it wrong.

The permission model is sound

Access checks run as the actual user with sudo dropped, record rules apply, and execution is force-downgraded to non-sudo. sudo is used only to look up the action, never to touch data.

Read-first is the right default

Shipping with no write tools exposed is the conservative choice, and it is the correct one for a module that auto-installs on any Enterprise database already running the AI module.

Tools are data, not code

Each tool is an ir.actions.server record flagged for MCP, built on Odoo’s ai.tool framework. The tool surface is extensible without patching the controller — good architecture, and what makes a governance layer possible on top.

If your use case is exploration, reporting, and question-answering on an Enterprise 20 database, Odoo’s native MCP is likely all you need. The rest of this page is about the cases where it isn’t.

Odoo 20 native MCP at a glance

Verified 7 August 2026 from analysis of the pre-release module.

PropertyOdoo 20 native (ai_mcp)
AvailabilityOdoo 20 Enterprise only, auto-installs with the AI module
Endpoint/mcp, JSON-RPC 2.0
MCP spec revision2025-11-25
AuthenticationAPI key with a dedicated MCP scope
OAuth 2.1No
Dynamic client registrationNo
Per-user consentNo
Tools shippedFive, all read-only
Write operationsImplemented in the underlying AI module, not exposed; an admin must flag one explicitly
Write confirmationNone — confirmation is passed as true
Rate limitingNo
Audit logNo — requests are logged, little else
Kill switchNo
Odoo CommunityNo
Odoo 14–19No

The five tools it ships

All five are read-only. Each is an ir.actions.server record flagged for MCP rather than hardcoded, and clients receive readOnlyHint and destructiveHint annotations per tool.

context

Returns the current user, timezone, and active company. Meant to be called first.

Model listing

Lists the models the authenticated user is permitted to reach.

Field inspection

Describes a model’s fields.

Search

Searches and reads records.

Grouped reads

Aggregates for simple analytics.

Four things it does not do

Each one below says who it actually affects. Several will not affect you.

GAP 01

Writes are unguarded once enabled

Read-only-by-default is a good posture. But the moment an administrator flags a write action, MCP passes the call through with confirmation already set to true. There is no human-in-the-loop prompt at the Odoo layer.

Who this affects: Anyone who wants an AI agent to create sales orders, post invoices, or update inventory.

What to do: Your only guards are the opt-in flag and the ACL check, so any MCP key should belong to a least-privilege user. If you only need reads, this does not affect you.

GAP 02

No audit trail

The module logs requests and little else. There is no record of which agent called which tool against which record with what payload.

Who this affects: Anyone with a compliance obligation, anyone in a regulated sector, and anyone who will one day need to answer “what did the AI do?”

What to do: If you need that answer in writing, the audit layer has to come from somewhere other than the native module.

GAP 03

No rate limiting or kill switch

An AI agent misinterpreting an instruction can issue a lot of calls very quickly. There is no throttle, and no global stop.

Who this affects: Production deployments, and anyone running agents unattended.

What to do: For a supervised, interactive session on a small dataset this is a low risk. For unattended agents it is the gap to close first.

GAP 04

Enterprise 20 only

The module is Enterprise-licensed and only exists in Odoo 20.

Who this affects: Every Odoo Community user, everyone on Odoo 14–19, and every organization that will not complete a major-version upgrade before 2027 — realistically most of the installed base for at least a year.

What to do: If you are not on Enterprise 20, this is not a decision you have to make yet. A third-party module is the only route today.

Which one should you use?

Your situationRecommendation
Enterprise 20, read-only reporting and Q&AUse Odoo’s native MCP. It is free, built in, and correctly scoped.
Enterprise 20, need writes with confirmation and auditNative MCP plus a governance layer.
Odoo Community, any versionNative MCP is not available — a third-party module is the only option.
Odoo 14–19Native MCP is not available — a third-party module is the only option.
Compliance or audit requirementA governance layer is required regardless of edition.
Odoo Online (*.odoo.com)No module can install — use a hosted gateway.
A team each needing their own AI accessOAuth-based per-user access. Native MCP is key-based.

Extending Odoo’s native MCP

It is extensible

ai_mcp is a normal Odoo module and can be extended like any other.

The right seam is the tool layer

Because tools are ir.actions.server records on the ai.tool framework, governed tools can be registered and their execution wrapped without touching the /mcp controller.

The wrong seam is the controller

Overriding the controller’s authentication to inject OAuth couples you to Odoo’s controller internals and means re-patching on every release.

One licensing consequence worth stating plainly: a module that depends on an Enterprise module inherits Enterprise-only distribution.

Odoo 20 native MCP — frequently asked questions

Release timing, authentication, write safety, and edition availability.

Does Odoo 20 have MCP built in?

Yes. Odoo 20 Enterprise includes a native MCP module called ai_mcp, which exposes a single /mcp endpoint speaking JSON-RPC 2.0 against MCP spec revision 2025-11-25. It auto-installs on any Enterprise 20 database that already has the AI module. It is not available on Odoo Community, and it does not exist in Odoo 14 through 19.

Does Odoo 20’s MCP support OAuth?

No. Odoo 20’s native MCP authenticates with an API key carrying a dedicated MCP scope. There is no authorization server, no dynamic client registration, and no per-user consent screen. The scope isolation is well designed — an MCP credential cannot be reused as a general RPC key — but it remains key-based rather than identity-based, so every client sharing a key is indistinguishable in the logs.

Can Odoo 20’s MCP write to my database?

Not as shipped. The five tools exposed over MCP are all read-only. Write tools such as create_records and update_records are fully implemented in the underlying AI module but are not exposed over MCP unless an administrator explicitly flags a write action first. Once one is enabled, MCP passes the call with confirmation already set to true, so there is no human-in-the-loop prompt at the Odoo layer.

Does Odoo 20’s MCP have an audit log?

No. The module logs requests and little else. There is no per-call record of which agent invoked which tool against which record with what payload, and no denied-attempt log. If you need to answer a compliance question about AI activity in your ERP, that record has to come from a layer above the native module.

Is Odoo 20’s MCP available in Odoo Community?

No. The ai_mcp module is Enterprise-licensed. Odoo Community users have no built-in MCP option in any version, including 20, and a third-party module is the only route.

When is Odoo 20 released?

Odoo 20 is unveiled at Odoo Experience on 24–26 September 2026 at Brussels Expo. General availability typically follows two to four weeks after the conference, with the first stable production patch expected in October or November 2026. Odoo describes its own roadmap as a list of things it will maybe do, so treat pre-release details — including everything on this page — as subject to change until general availability.

Do I still need a third-party Odoo MCP module?

It depends on your edition, your version, and whether you need writes recorded. If you are on Enterprise 20 and want exploration, reporting, and question-answering, Odoo’s native MCP is likely all you need. You still need a third party if you are on Odoo Community, on Odoo 14–19, on Odoo Online, or if you need per-user OAuth, write confirmation, rate limiting, a kill switch, or an audit trail.

Can I use Odoo 20’s MCP on Odoo Online?

Odoo Online (*.odoo.com) does not allow installing custom server-side modules, but ai_mcp is a first-party Odoo module rather than a third-party one, so its availability on Odoo Online is a question of Odoo’s own packaging rather than the custom-module restriction. Verify against Odoo’s Online plan documentation at general availability. For third-party MCP access to an Odoo Online instance, an external gateway is the only route, because no third-party module can install there.

What happens if I already run an MCP gateway and upgrade to Odoo 20?

You end up with two live MCP surfaces. They use different endpoints and different credential scopes, so they do not collide, but both are reachable and both need to be accounted for in your access review. Decide deliberately which one your clients point at rather than leaving both connected by default.

Will XML-RPC still work in Odoo 20?

Yes. XML-RPC is deprecated but not removed in Odoo 20. Odoo has formally deprecated the /xmlrpc, /xmlrpc/2, and /jsonrpc external RPC endpoints and currently schedules their removal for Odoo 22 in autumn 2028 and Odoo Online 21.1 in winter 2027. Odoo 19 introduces the External JSON-2 API as the replacement, using endpoints structured as /json/2/<model>/<method> with an API key as a bearer token. Integrations that reach Odoo over XML-RPC — including external MCP gateways — keep working through Odoo 20, and the migration to JSON-2 belongs on the roadmap rather than the critical path.

How this page is maintained

  • 7 Aug 2026 — Initial publication, based on pre-release analysis of ai_mcp.
  • Pending — post-Odoo Experience update, within 72 hours of the 24–26 September keynote.
  • Pending — general availability update, when Odoo 20 ships.
  • Pending — first stable patch update, expected October–November 2026.

If the gaps above apply to you

If they don’t, use Odoo’s native MCP — it is free and it is correctly built for read-only work.

Governance layer for Odoo MCP →Odoo 14–19 and Community: MCP Server for Odoo →