Odoo 19 Claude integration: JSON-2, 19.4, or a module.
On 19 you have three stories that people collapse into one: JSON-2 as the API, 19.4 listing MCP connectivity, and a vendor module. Claude is still a custom remote MCP client. Confirm what your tenant actually has.

Three claims, one search query
JSON-2 is the 19.0 external API. 19.4 notes list MCP connectivity — not a promise every Online Standard database has it. A vendor module (including Odin) is still that vendor’s software. Official vs community · 19.4 MCP.
Claude’s side is custom remote MCP either way. How-to: connect Odoo to Claude. JSON-2 sequence: Claude + JSON-2 + MCP.
What to use when
External server on 19: JSON-2, bearer key, bot user — not XML-RPC for new work (deprecated, aimed at Odoo 22). In-Odoo module: ORM, can skip Custom on self-hosted Community. 19.4 native: confirm on the database you run; do not invent a Settings screen we have not seen.
How to talk about 19.4 without lying
Say: “Odoo’s 19.4 notes list MCP connectivity; we will confirm on this database.” Do not say “Odoo gave us official MCP so we turned off governance.” Confirm edition, hosting, plan. Then decide module vs native vs JSON-2 proxy.
Claude does not change. Your story to security does.
JSON-2 cutover from 18
If you upgraded 18 → 19, retire XML-RPC MCP. Point new work at /json/2. Keep the same Claude connector URL if the MCP server is what changed underneath. Rotate the key. JSON-2 vs XML-RPC.
Official documentation
FAQ
Is JSON-2 the same as MCP?
No. JSON-2 is the API. MCP is how Claude discovers tools.
Does 19.4 replace a governance module?
Not automatically. Connectivity ≠ scopes, approvals, audit.
XML-RPC on 19?
Deprecated. Prefer JSON-2 or in-process ORM.
Keep going
Start read-only. Ask a real question.
Sandbox on sample Odoo 19 data, or we put MCP on your instance.