Self-hosted Odoo MCP.
This is the architecture that skips Odoo Online’s Custom-plan API. Install MCP in Odoo, put TLS in front, keep XML-RPC off the public internet if you can.

Why self-hosted is the easy MCP story
You can install modules. You can run Community. You do not need Custom for an in-process MCP server. That is the whole pitch versus Online Standard. Community · flat-fee hosting if you do not want to run it.
Still put HTTPS on the MCP URL Claude/ChatGPT/Gemini will call. Still a dedicated user. Security.
Do not “just open XML-RPC”
If MCP runs inside Odoo, you do not need 8069 on the internet for XML-RPC. If you use an external proxy, restrict source IPs to that proxy. On 19 prefer JSON-2 over XML-RPC for new work.
Reverse proxy checklist
Terminate TLS. Do not expose 8069 without auth. If MCP is a path on the same host as Odoo, rate-limit it. If it is a sidecar, only the sidecar should call Odoo, and only from that network.
Certificates expire. Put the MCP hostname on the same renewal as the ERP hostname so Claude does not fail on a Sunday.
Backups and the bot user
Restore tests should include “can the MCP user still log in, and only as themselves.” A restore that accidentally re-enables an old admin key is a classic self-hosted own-goal.
FAQ
Need Custom on self-hosted Community?
Not for in-Odoo MCP. Custom is an Online commercial term.
Need a public URL?
The MCP client must reach the server. That is TLS and DNS, not Odoo Online.
Keep going
Start read-only. Ask a real question.
Sandbox on sample Odoo 19 data, or we put MCP on your instance.