Odoo listened to its users and made AI capabilities even more agentic: as of version 20, Enterprise users will have access to a native MCP server.
Odoo’s native MCP server lets an AI client talk to Odoo over MCP without a layer in between.
For users who have previously connected an MCP server to their Odoo, the bridge is gone: in Odoo 20, your instance becomes the MCP server itself.
What is the native Odoo 20 MCP server?
MCP, or Model Context Protocol, is a standard way for an AI assistant to connect to a real system and use it.
Instead of copy-pasting data into a chat, the assistant reads from and acts on the live system through a defined, permissioned interface.
Odoo MCP applies that idea to your ERP: it gives an assistant a controlled door into Odoo so it can look up records and answer questions about your business. If you allow it, it can also carry out actions, all under the same access rights your users already have.
How does Odoo’s native MCP server work?
Odoo’s native MCP module (module ai_mcp) exposes a single endpoint, /mcp, speaking JSON-RPC 2.0 against the MCP spec 2025-11-25.
The AI assistant connects straight to that endpoint. There is no external Python package translating the protocol on the side, which is the usual setup with community MCP gateways.
Tools are not hardcoded. Each one is an ir.actions.server record flagged for MCP use and built on Odoo's ai.tool framework.
The server also injects the current user, timezone, active company and UTC context into each call, which is the part most homegrown setups get wrong.
Odoo 20 MCP features we already know of today
From what we know so far, the native MCP server ships five tools, all read-only:
context: returns the current user, timezone and company, meant to be called first
model listing: returns the models the user is allowed to reach
field inspection: describes a model's fields
search: searches and reads records
grouped reads: aggregates for simple analytics.
That is enough for an assistant to explore a database, answer questions and build reports, with nothing that mutates data.
Odoo 20 MCP server uses a layered security model
Three main layers keep a call safe: authentication, access control and schema validation.
Authentication uses an API key with a dedicated MCP scope. A normal RPC key will not work against /mcp, and an MCP credential cannot be reused as a general RPC key. That isolation is deliberate.
When a tool runs, the access check executes as the actual user with sudo dropped. Group membership and model access are checked, and for real records, the record rules apply. Execution is then force-downgraded to non-sudo, so the data operation runs under normal ACLs. sudo is used only to look up the action, never to touch the user's data.
Arguments are validated against a schema before anything runs. The client also receives readOnlyHint and destructiveHint annotations per tool, so a well-behaved assistant can warn before a write.
Current limitations of the Odoo MCP server
There are a few limitations you should consider before you start to plan your AI strategy around the new Odoo MCP server.
Read-only by default
The write tools (create_records, update_records) exist in the underlying ai module and are fully implemented, but none are exposed over MCP. An admin has to flag a write action explicitly before the assistant can change anything. Good default, though it means "Odoo MCP can write to my system" is simply false until someone decides otherwise.
No interactive confirmation
Once a write tool is enabled, MCP passes the call through with confirmation already set to true. There is no human-in-the-loop prompt at the Odoo layer. Your only real guards are the opt-in flag and the ACL check, so any MCP key should belong to a least-privilege user.
Lean on operations
The module logs requests and little else. It offers no rate limiting, audit logs, or a global kill switch. If you need per-model CRUD governance, throttling or an audit trail that lives elsewhere, not in this module.
Enterprise only, and self-installing
The module is Enterprise-licensed and set to auto-install.
On any Enterprise 20 database that already has the AI module, it installs itself. If you also run a separate MCP gateway, you can quietly end up with two MCP surfaces live at once.
They use different endpoints and scopes, so they will not collide, but this is something to be aware of to prevent overlaps.
The Odoo 20 MCP server is ready to read, but not to write (yet)
Odoo’s native MCP server is a clean, protocol-correct way to give an assistant read access to Odoo, with sensible defaults and proper scope isolation.
It is read-first by design, light on governance, and Enterprise-bound. And for exploration, reporting and Q&A, it is ready as shipped.
But if you need complex and safe write workflows, or auditing and rate control, you will still need to build on top.
If you already want to use Odoo MCP today in versions 16-19, you can use our open-source MCP server.
Let’s build your AI-assisted workflows with Odoo MCP
Our team of experts can help you set up AI-assisted Odoo workflows or explore specific Odoo MCP use cases tailored to your business.