ARCHITECTURE NOTE · SOURCE-BACKED ANALYSIS

Local process, native addon, or remote Odoo MCP gateway?

Choose the smallest deployment boundary that fits the clients, databases, and operators you actually have. Local, in-Odoo, and remote MCP paths move different operational responsibilities; none removes Odoo permissions.

Published: August 27, 2026 · Last updated: August 27, 2026

Answer first

Use a local MCP process for one operator in one controlled environment. Use an Odoo addon when the capability must live with the Odoo deployment and its module lifecycle. Use a remote gateway when several external clients or Odoo instances need one stable, revocable boundary. In every case, the connected Odoo user's permissions remain authoritative.

The architecture diagram is the easy part. The useful comparison is who owns client authorization, credential storage, upgrades, instance routing, write policy, audit, and uptime after the first successful call.

Environment

This architecture analysis comes from maintaining the open-source odoo-mcp lineage, building ERPipe's hosted path around Odoo 16–19 compatibility, and reviewing Odoo and MCP platform boundaries. The clients in scope are MCP-capable desktop or hosted agents. The Odoo side is a customer-controlled Community, Enterprise, or Odoo.sh instance reached through its supported remote API path.

It does not compare response-time benchmarks, does not claim every third-party addon behaves the same way, and does not turn a public HTTPS gateway into the right answer for private-only Odoo networks.

Method

We compared the three placements against the responsibilities that remained after tools could list and read a record:

Result

PlacementBest fitResponsibility you keep
Local MCP processOne operator, one machine, controlled development or analysisProcess lifecycle, local secrets, client configuration, and every upgrade
Native Odoo addonCapability belongs inside the Odoo module and deployment lifecycleModule review, Odoo upgrades, exposure/auth for outside clients, and server load
Remote MCP gatewaySeveral clients or databases need one endpoint, policy, revoke story, and auditGateway security, tenancy, credential encryption, availability, and network boundary

The remote gateway did not remove Odoo security. It added a second control plane in front of it. That distinction matters: Odoo decides whether the connected user can read or write a record; the gateway can decide whether this client, tool, field, or proposed mutation should reach Odoo at all.

Failure modes we kept finding

Practical default

Start locally while learning the tool contract. Move capability into an addon only when it genuinely belongs to the Odoo deployment. Add a remote gateway when multiple clients, multiple instances, or centralized revocation make the extra service worth operating.

For a production path, use a dedicated least-privilege Odoo user, start read-only, make the instance explicit, and prove how to pause or revoke access. If writes are enabled, preview the exact target and payload and define what happens when the result is unknown.

Limits

This is an implementation field note, not an independent performance or security certification. Network topology, data-residency requirements, Odoo customization, client support, and team operating capacity can reverse the recommendation. A remote gateway requires public reachability in ERPipe's current hosted beta; private-only instances need a different deployment decision.

Sources and inspectable evidence

Related