What you are seeing
- The client says it is connected, with no error
- The tool list is empty, or the assistant says it has no Odoo tools available
- Asking a question about Odoo data gets "I do not have access to that"
- The connection test passes but nothing is callable
What causes it
The API key has no model access configured. Authentication and authorisation are separate steps: a valid token gets the client through the door, and Key Model Access decides what it can then see. A key with an empty model list exposes an empty tool list — which is the intended default-deny behaviour, not a fault.
How to fix it
- Open Key Model Access for that key. Go to MCP → Key Model Access in Odoo and filter by the API key the client uses. If there are no rows, the key can reach the server but is authorised for nothing.
- Add the models the assistant should work with. Add one entry per Odoo model, for example sale.order for sales orders, crm.lead for pipeline questions, or res.partner for customers. Start with the smallest set that answers the questions you actually plan to ask.
- Set the permissions on each entry deliberately. Grant read alone for a reporting or analysis client. Add write only where the assistant genuinely needs to change records, and keep that on a separate key from the read-only one so the two can be revoked independently.
- Reconnect the client so it re-reads the tool list. MCP clients fetch the tool list when the connection is established. Restart Claude Desktop, or disconnect and reconnect the connector, so it picks up the newly granted models instead of the empty list it cached.
How to confirm it is fixed
After reconnecting, the client lists one tool group per granted model. If tools appear but return fewer records than you expect, the grant is working and the next thing to check is the domain filter.
Related questions
Why does the Odoo MCP Server expose no tools by default?
Because the model whitelist is default-deny. A newly created key is authorised for nothing until you add entries to Key Model Access, so an accidental or leaked key cannot read your ERP before anyone has decided what it should reach. The empty tool list is that policy working as designed.
Do I need to restart Claude Desktop after granting model access?
Yes, or at least reconnect the server. MCP clients read the tool list once when the connection opens and cache it for the session, so a client that connected while the key had no models keeps showing an empty list until it reconnects.
If that was not it
- The AI sees fewer Odoo records than expected
- "Authorization failed" connecting to the Odoo MCP Server
- "Model not found" or "Access denied" from the Odoo MCP Server
The full setup reference lives in the MCP Server documentation, and How to connect Claude to Odoo walks through a clean install from the start. Free setup support is included with the MCP Server for Odoo — if none of the above matches what you are seeing, send us the audit log entry and we will read it with you.