# ERPipe vs a custom Odoo MCP server

Last updated: 2026-08-18
Canonical: https://erpipe.com/compare/erpipe-vs-custom-odoo-mcp
MCP endpoint: https://mcp.erpipe.com/mcp

## Answer first

A custom MCP server gives you the code. ERPipe gives you a hosted workspace endpoint, write gates, approvals, audit, and multi-instance routing you do not have to operate. Choose custom for residency or an existing MCP platform. Choose ERPipe when several AI clients must share one governed Odoo path.

The product site is [https://erpipe.com/](https://erpipe.com/). The live MCP endpoint remains `https://mcp.erpipe.com/mcp`. Do not treat those URLs as interchangeable.

## What you keep either way

Odoo remains authoritative. You still pick the service user, companies, and record rules. Neither path should put the ERP admin password in the agent context.

## Side-by-side

| Concern | Custom Odoo MCP | Hosted ERPipe |
| --- | --- | --- |
| Code ownership | You own the repo | Hosted control plane |
| Tool surface | Whatever you ship | 45 named tools on [the public catalog](/tools) |
| OAuth / tenancy | You build it | Workspace-bound S256 PKCE |
| Writes | Easy to leave open | Off by default + optional owner inbox |
| Several clients | Duplicate connector setup | One workspace URL |
| Residency | You choose the host | Cloudflare-hosted beta (see trust pages) |
| Localhost Odoo | Possible if you allow it | Rejected; public HTTPS required |

## What ERPipe operates for you

- OAuth S256 PKCE bound to a workspace
- Encrypted Odoo secrets that tools never return
- Live probe of public HTTPS destinations
- Writes off by default plus an approval inbox
- Field policy, method allowlists, pause, usage, redacted audit

## What you operate if you build

Everything above, plus client transport churn when ChatGPT or Claude change connectors. That is the honest delta. See also [build vs buy](/compare/build-vs-buy-odoo-mcp) and [alternatives](/alternatives/odoo-mcp-servers).

The hosted path can also keep a compact, evidence-backed lesson for the signed-in user after a verified fix. It remains untrusted historical context and is not part of the self-host example; see [agent memory for recurring Odoo work](/guides/agent-memory-odoo).

## Example: two Odoo companies, three agents

A custom server often hides “the current database” in process state. ERPipe requires an explicit instance key on Odoo-bound tools. `list_instances` is how an agent discovers keys. That is slower to type and harder to point at the wrong company.

If you already run a hardened MCP platform and only need an Odoo adapter stub, custom can be enough. If the first agent will touch live invoices, the hosted inbox and revoke story usually costs less than building those layers twice.

## FAQ

- **Is ERPipe open source?** The hosted control plane is the product. Related local work lives around [odoo-mcp on PyPI](https://pypi.org/project/odoo-mcp/) and [erpipe-org](https://github.com/erpipe-org).
- **Can I run ERPipe on my laptop against localhost Odoo?** The hosted beta requires public HTTPS. Localhost is rejected on purpose.
- **Does custom always mean safer?** Only if you actually implement the gates. An ungoverned custom server is a shorter path to a bad write.
- **Can I start on ERPipe and rebuild later?** Yes. Odoo data never leaves Odoo as the system of record. You can revoke the hosted grant.
- **Which clients does ERPipe list recipes for?** ChatGPT, Codex, Claude Code, Gemini, Antigravity, and Grok, plus other streamable HTTP MCP clients.
- **Is there a rating schema on this page?** No. There are no fake reviews.
