The answer, and the one thing it depends on
Claude speaks the Model Context Protocol — the standard Anthropic built so Claude can use external systems through defined tools. Give Claude an MCP connector pointing at Odoo and it can answer from your live data: open invoices, stock on hand, this month's orders.
The only real fork is hosting. If your Odoo can install custom modules — self-hosted, on-premise, Odoo.sh — you install the MCP Server for Odoo and you are done. If you are on Odoo Online (*.odoo.com), custom modules are blocked entirely, so you connect through the Odoo Online MCP Gateway instead, which runs outside Odoo and talks to it over the standard external API.
What connecting actually involves
You generate an API key in Odoo for the user the integration will read as, choose which models that key may reach, and add the connector in Claude. The step people expect to be hard — teaching Claude about your Odoo schema — is not a step; the connector exposes the models you permitted and Claude works from those.
The full walkthrough is in how to connect Claude to Odoo, and there is a short unedited recording of the Odoo Online path on the live demo page if you would rather see it than read it.
Is it safe to point Claude at a live ERP?
The honest framing: Claude gets exactly the access the Odoo user behind the API key has, and no more. Reads work by default; writes are governed separately and are not implicit. Your Odoo password is never handed to the AI client, and the key can be narrowed or revoked from inside Odoo without touching Claude.
That means the real decision is which Odoo user the integration runs as — because that choice defines the blast radius, not the AI model. The reasoning is set out in the Odoo MCP security guide and in MCP governance for Odoo.
Related questions
Can Claude connect to Odoo?
Yes. Claude connects to Odoo through the Model Context Protocol (MCP), which is the standard Anthropic built for exactly this — letting Claude read from an external system through a defined set of tools rather than a copy-paste. You add an MCP connector pointing at your Odoo instance, and Claude can then answer questions from live Odoo records. Which connector you use depends on how Odoo is hosted.
Does it work with Odoo Online (*.odoo.com)?
Yes, but not with an installed module. Odoo Online blocks custom server-side modules, so a module-based MCP server cannot run there. Those instances connect through an external gateway that runs outside Odoo and reaches it over the standard external API. Self-hosted, on-premise and Odoo.sh instances allow modules, so they install one directly.
Can Claude change data in Odoo, or only read it?
Reads work by default and writes do not. Write access is governed separately — bounded by the Odoo permissions of the user the integration runs as, and enabled explicitly rather than implied. So the default posture is that Claude can answer questions about your data without being able to alter it, which is usually what a finance or ops lead wants to hear first.
Do I have to give Claude my Odoo password?
No. You generate an API key in Odoo for the user the integration reads as — ideally a dedicated integration user rather than a person’s login — and the connector uses that. The key inherits that user’s permissions, and you can narrow its scope or revoke it from inside Odoo at any time without touching the AI client.
Which Claude products can connect — Desktop, web, or both?
Any Claude surface that supports MCP connectors. In practice that means Claude Desktop and Claude’s remote connector support, and the same endpoint also works with other MCP clients such as ChatGPT and Cursor. You are configuring Odoo once and pointing clients at it, not building a separate integration per AI tool.
What can Claude actually answer once connected?
Whatever the permitted models contain — sales orders, invoices, stock, partners, production orders — read at the time you ask rather than from an uploaded extract. The practical difference is that you can ask a follow-up question and get an answer from current data, instead of re-exporting a spreadsheet each time the question changes.