Connect Claude Desktop over MCP
Last updated
What does connecting Claude Desktop do?
Section titled “What does connecting Claude Desktop do?”AgentLaire AI Agents has an MCP endpoint at /agentlaire/mcp. Once Claude Desktop is connected, it can use the tools of your Odoo agents with your own access rights. Every change it proposes waits for approval in Odoo; Claude never writes directly. AgentLaire AI Agents is a paid module, $199 one-time per Odoo version. See the product page.
AgentLaire tests Claude Code and Codex. Claude Desktop connects through mcp-remote as shown below, which follows Claude Desktop’s documentation. ChatGPT and claude.ai custom connectors need OAuth and are not supported.
How do I turn on the MCP endpoint?
Section titled “How do I turn on the MCP endpoint?”AgentLaire AI Agents keeps the endpoint off after install. An AI Manager turns it on in AI Control › Configuration › Settings, under MCP, by clicking Enable. The endpoint address is shown there, for example https://your-odoo.example/agentlaire/mcp.
| Setting | Default | What it does |
|---|---|---|
| MCP endpoint | Off | When off, the address answers 404. Disable stops clients at once. |
| Allowed origins | Empty | Web origins that may call the endpoint from a browser. Leave empty for Claude Desktop. |
Two more things must be true:
- The server reaches one database for its host name. With several databases, set
dbfilterfor the host, or have the client send the headerX-Odoo-Database. - Behind a reverse proxy, forward the client address (
proxy_mode = True), so the IP allow-list and the audit log see the real address.
Which agents can Claude use?
Section titled “Which agents can Claude use?”AgentLaire AI Agents offers only the tools of agents that serve MCP. Open AI Control › Configuration › Agents › Agents, open an agent, and on its Access tab tick MCP under “Where it is available”. Claude sees the tools of those agents that you may use, with schemas that match your rights and the policies.
How do I create a personal key?
Section titled “How do I create a personal key?”AgentLaire AI Agents gives each AI User their own MCP keys. Open the user menu, click My Preferences, go to the Security tab and click New MCP key under MCP keys.
| Field | Default | What it does |
|---|---|---|
| Name | none | What the key is for, for example “Claude Desktop on my laptop”. |
| Agents | Empty | Limits the key to some agents. Empty means every agent that serves MCP and that you may use. |
| Expires | 90 days from now | When the key stops working. One year at most. |
| Rate limit | 60 per minute | Requests per minute. Over it, Odoo answers 429. |
| Allowed IP addresses | Empty | One address or network (203.0.113.0/24) per line. Empty means any address. |
Click Create key. Odoo asks for your password, then shows the key once. Copy it: Odoo keeps only a hash. Treat it like a password. Odoo’s own API keys are not accepted here.
To revoke a key, click Revoke next to it in your preferences. AI Managers see and revoke every key under AI Control › Configuration › Connections › MCP Keys.
What goes in Claude Desktop’s config?
Section titled “What goes in Claude Desktop’s config?”Claude Desktop reaches the endpoint through mcp-remote, which needs Node.js. Open Claude Desktop’s settings, go to Developer, click Edit Config, and add the server to claude_desktop_config.json:
{ "mcpServers": { "odoo": { "command": "npx", "args": [ "mcp-remote", "https://your-odoo.example/agentlaire/mcp", "--header", "Authorization:${ODOO_AUTH}" ], "env": { "ODOO_AUTH": "Bearer ovk_XXXXXXXX_..." } } }}Replace the address with your own and the value after Bearer with the key you copied. Keeping the key in env avoids a space inside the argument, which some clients mishandle. Restart Claude Desktop, and the “odoo” server shows in its tools.
What can Claude do through MCP?
Section titled “What can Claude do through MCP?”AgentLaire AI Agents lets an MCP client list tools, read and propose changes. Which tools exist depends on the agents you ticked. With AgentLaire AI Sales & CRM, for example, they include sales_find_leads, sales_orders_by, sales_pipeline_by and sales_propose_quotation.
- Reads return the records you may read, and nothing more.
- A write tool returns
pending_approvalwith a proposal ID, a summary and a link. It never changes data. An approver decides in the approval inbox, and the MCP call ends with the outcome. - Every call is a run with trigger MCP. It counts as having read untrusted content, so a policy never applies its changes automatically.
- No model is called by Odoo for these runs. Claude Desktop uses its own model.
See Approvals for how a proposal is reviewed.
How do I see what Claude did?
Section titled “How do I see what Claude did?”AgentLaire AI Control logs every MCP request in the audit log as an MCP request, with the key name, the tool, the outcome and the IP address, never the key itself. The runs show in AI Control › Runs with trigger MCP. The kill switch stops MCP calls at once and clients get a 503.
What do the errors mean?
Section titled “What do the errors mean?”| Reply | Meaning |
|---|---|
| 404 | The endpoint is off. |
| 401 Invalid key | The key is unknown, malformed, revoked or expired, or the user is inactive or no longer an AI User. |
| 403 | The IP address is outside the key’s list, or a browser origin is not allowed. |
| 413 | The request body is over 1 MB. |
| 429 | More requests per minute than the key allows. Wait for Retry-After. |
| 503 | The kill switch is on. |