Build a custom bridge for throwaway non-production scripts. Buy a hosted control plane when agents touch production Odoo and you need revoke, audit, write gates, and multi-client stability.
Build vs buy an Odoo MCP gateway
Answer first
Build a custom Odoo MCP bridge when the work is a throwaway script on non-production data, or when you already run a hardened MCP platform and only need an adapter stub. Buy a hosted control plane when agents will touch production Odoo and you need revoke, audit, write gates, and more than one AI client.
Connecting an agent to Odoo is the easy part. Operating identity, policy, approval, audit, multi-instance routing, and client churn is the product.
Side-by-side
| Capability | Build in-house | ERPipe hosted |
|---|---|---|
| MCP tool surface (search, docs, writes, events) | Build + maintain | 45 named tools (catalog), 7 prompts, 5 resources |
| OAuth S256 PKCE + workspace tenancy | Build + harden | Included |
| Write gates + owner approval inbox | Build + UX | Included (writes off by default) |
| Field policy / method allowlists | Build | Included |
| Ambiguous-write semantics (no blind retry) | Design carefully | Included |
| Audit + usage + Pause/Resume | Build ops console | Included |
| Multi-instance workspace routing | Build | Included |
| Odoo 16–18 XML-RPC + 19 JSON-2 probe | Normalize yourself | Live-validated wizard |
| Ongoing protocol / client churn | Your on-call | Hosted control plane |
| Time-to-first-safe-agent | Weeks–months | Hours (beta guided path) |
When building still makes sense
- Throwaway prototype on a non-production database
- Single internal agent with no multi-tenant or customer isolation needs
- You already run a hardened MCP platform and only need an Odoo adapter stub
- A residency rule forbids any hosted control plane and you can staff the on-call
A custom bridge is honest work. Budget the XML-RPC or JSON-2 client as the small slice. Budget OAuth, secret storage, SSRF controls, write semantics, and client transport breaks as the large slice. Teams that skip that second slice ship a demo and then spend a quarter making it safe.
When a hosted gateway is rational
- Production Odoo with finance or customer data
- Multiple AI clients (ChatGPT, Claude, Cursor, internal agents)
- You need human approval, audit, or pause without shipping a console
- You want one MCP endpoint per workspace, not one snowflake per agent
- Consultants who attach several client instances and must keep routing explicit
ERPipe is that hosted path: one workspace MCP URL, live-validated connections, writes off by default, owner approval, field policy, and audit. It does not replace Odoo permissions. It does not claim a SOC 2 badge during free beta. It does keep the dangerous defaults off.
Hidden cost of “just an adapter”
Teams often budget the transport client and underestimate:
- Workspace-bound OAuth with PKCE, token TTL, and revoke
- Encrypting the Odoo secret and never returning it to the agent
- Blocking localhost, URL credentials, and non-public destinations
- Preview / validate / confirm / consume-once approval
- Marking uncertain writes as unknown instead of retrying
- Signed webhook intake that does not auto-wake an agent
- Per-connection pause, usage, and redacted audit
- ChatGPT, Claude, and CLI clients changing streamable HTTP details
Those layers dominate long-term cost. They are also the layers that fail in public when an agent writes the wrong invoice.
Total cost of ownership, plainly
A two-engineer custom path can look cheaper in month one. Count the second on-call when ChatGPT changes connector auth. Count the week you discover retries duplicated vendor bills. Count the console you promised finance. Hosted ERPipe is free during beta, with published limits. After beta, you will pay for a control plane you did not have to staff. That is the comparison, not “XML-RPC versus a SaaS logo.”
What you still own after you buy
A hosted gateway does not take over Odoo. You still own users, companies, record rules, backups, and the decision of which service account the agent may use. You still decide when writes turn on. ERPipe adds a second lock on top; it does not unlock Odoo for you.
That is why “buy” is not “outsource ERP security.” It is “stop rebuilding OAuth, approval, and audit for every new client.” If that sentence is not your pain, build the stub and move on.
FAQ
- When should I build a custom Odoo MCP bridge? Build when the work is a throwaway script on non-production data, or when you already run a hardened MCP platform and only need an Odoo adapter stub.
- When is a hosted gateway the rational buy? Buy when agents will touch production finance or customer records and you need revoke, audit, write gates, and more than one AI client.
- Does ERPipe replace my Odoo ACLs? No. The connected Odoo user's groups and record rules stay authoritative. ERPipe adds policy, approval, and audit on top.
- How long does a safe first agent usually take? The hosted beta path is hours once you have a public HTTPS Odoo URL. A production-grade custom bridge is typically weeks to months.
- What is the hidden cost of “just an adapter”? OAuth tenancy, secret handling, ambiguous writes, webhook queues, rate limits, and client transport churn dominate long-term cost—not the XML-RPC client.
- Can I start read-only on the hosted path? Yes. Writes stay off until an owner enables them. That is the default for every new connection.
Related
- HTML: https://erpipe.com/compare/build-vs-buy-odoo-mcp
- ERPipe vs custom: https://erpipe.com/compare/erpipe-vs-custom-odoo-mcp
- Alternatives: https://erpipe.com/alternatives/odoo-mcp-servers
- Connect ChatGPT: https://erpipe.com/guides/connect-chatgpt-to-odoo
Last updated: 2026-08-18
FAQ
When should I build a custom Odoo MCP bridge?
Build when the work is a throwaway script on non-production data, or when you already run a hardened MCP platform and only need an Odoo adapter stub.
When is a hosted gateway the rational buy?
Buy when agents will touch production finance or customer records and you need revoke, audit, write gates, and more than one AI client.
Does ERPipe replace my Odoo ACLs?
No. The connected Odoo user's groups and record rules stay authoritative. ERPipe adds policy, approval, and audit on top.
How long does a safe first agent usually take?
The hosted beta path is hours once you have a public HTTPS Odoo URL. A production-grade custom bridge is typically weeks to months.
What is the hidden cost of “just an adapter”?
OAuth tenancy, secret handling, ambiguous writes, webhook queues, rate limits, and client transport churn dominate long-term cost—not the XML-RPC client.
Can I start read-only on the hosted path?
Yes. Writes stay off until an owner enables them. That is the default for every new connection.