Connecting Claude to Odoo takes four steps: install an MCP module in Odoo, turn on the MCP server in Settings, add the resulting URL as a custom connector in Claude, then authenticate with an Odoo API key or OAuth. The whole thing takes under fifteen minutes on an On-Premise or Odoo.sh instance. This guide walks through each step with the specifics of what to expect.
Before you start: does your Odoo hosting support this?
Odoo MCP servers run as an installed module, so they need a database where you can install custom apps: On-Premise or Odoo.sh. Odoo Online (the standard SaaS plan) does not allow installing modules that aren’t on the curated Apps Store list under your control, which rules out this setup on that hosting tier. Check which hosting you’re on before going further — it’s the single most common blocker people hit.
Step 1: install the MCP module in Odoo
Odoo apps normally come from the Apps Store: open the Apps app from your dashboard, search for the module, and click Activate on its card. If the module isn’t listed yet, turn on developer mode, go to Apps ‣ Update Apps List, and click Update — this refreshes what your instance can see.
If you’re installing a module you’ve downloaded rather than pulled from the store — for example a zip file — the method differs depending on what’s inside it. A module that is only XML/data files can sometimes be imported directly from the Apps interface. A module with Python code (which is what an MCP server module is) needs to be unzipped into your instance’s addons folder, followed by a server restart, then Update Apps List, then Install from the Apps screen. On Odoo.sh this addons-folder step is done through your repository (the module lives in your codebase and deploys with your branch); on a self-hosted On-Premise server it’s a file copy plus a restart of the Odoo service.
Cledoo MCP specifically is listed on the Odoo Apps Store — install it like any other app, no manual file copying needed if you’re going through the store.
Step 2: enable the MCP server in Settings
Once installed, the module adds a menu under Settings. Turning on MCP here is
what activates the /mcp endpoint on your instance — before this toggle, the
module is present but the server isn’t listening. This is also where you’ll find
your instance’s endpoint URL, typically your Odoo base URL followed by /mcp
(e.g. https://yourcompany.odoo.com/mcp). Copy that URL; you’ll need it in Claude.
Step 3: choose an authentication method — API key or OAuth
You have two ways to authenticate Claude against your Odoo /mcp endpoint.
API key. Odoo API keys are generated from your own user account, not from an admin panel: go to Preferences (your profile), open the Account Security tab, click New API Key, give it a clear description, and click Generate Key. Odoo shows the key exactly once — copy it immediately, because it cannot be retrieved again afterward (only regenerated). In Odoo 19, keys also require a duration and cannot be created to last more than three months, so plan to rotate them. An API key acts as your password for API calls: whatever your user can see and do in Odoo, calls made with that key can see and do too.
OAuth 2.1. If the module supports it (Cledoo MCP does, alongside API keys), connecting via OAuth means Claude redirects you to an Odoo consent screen where you log in and approve the connection — no key to copy or store. This is the better option when several people will each connect their own Claude account to the same Odoo instance, since every person authenticates as themselves rather than sharing one key.
Either way, the resulting session runs under your own Odoo user and its existing access rights — record rules, field-level permissions, everything. Claude cannot see or touch more than your Odoo login already allows.
Step 4: add the connector in Claude
In claude.ai, go to Customize > Connectors, click the + button, and
select Add custom connector. Paste in your Odoo /mcp URL from step 2. If
you’re using OAuth, Claude will prompt you through the Odoo login/consent flow
the first time you connect. If you’re using an API key instead, open Advanced
settings and add it as a request header (commonly Authorization: Bearer <your-key>) — request headers are the right choice when the credential is a
fixed key rather than a personal login. Click Add to finish.
If your organization uses Claude for Enterprise or Team, an owner typically configures the connector once under Organization settings > Connectors (selecting “Custom” then “Web,” entering the URL), after which individual members connect their own account from Customize > Connectors by clicking Connect next to the connector their admin added.
For Claude Desktop, the setup is equivalent: remote MCP servers are added the
same way through connector settings, and Claude connects to your server’s public
URL — which means the URL needs to be reachable from the internet, not sitting
behind a VPN or only bound to localhost.
Step 5: run a first test
Once connected, ask Claude something simple and verifiable, like “list my last 5
customers in Odoo” or “how many open sales orders do I have.” If the answer comes
back with real data, the whole chain — endpoint, auth, and Odoo’s own permission
system — is working end to end. If Claude reports it can’t reach any tools, the
first things to check are: is MCP actually toggled on in Odoo Settings, is the
URL exactly right (including /mcp), and is the server reachable from the public
internet.
What “connected” actually gives Claude
Once set up, Claude discovers the tools your Odoo MCP server exposes — reading records, searching models, and, depending on the module’s tier, creating or updating them. Cledoo MCP’s free Classic tier ships 17 tools out of the box; the paid Pro tier adds governance controls (audit logging, field masking, approval workflows for writes) on top of the same connection. None of that changes the steps above — the install-and-connect flow is identical regardless of tier.
The takeaway
Four things have to be true for Claude to talk to Odoo: your hosting supports custom modules (On-Premise/Odoo.sh), the MCP module is installed and toggled on, Claude has a valid credential (API key or OAuth), and the connector URL is correct and reachable. Get those four right and the connection runs under your own Odoo permissions from the first query.