# What is an Odoo MCP server?

Published: 2026-08-18
Last updated: 2026-08-27
Canonical: https://erpipe.com/guides/what-is-odoo-mcp
MCP endpoint: https://mcp.erpipe.com/mcp

## Answer first

An Odoo MCP server exposes live Odoo operations as Model Context Protocol tools so an approved AI client can search records, open documents, and prepare governed changes without pasting the ERP password into the chat. Odoo remains the system of record. The MCP server is the tool contract.

ERPipe is the hosted product at [https://erpipe.com/](https://erpipe.com/). Agents connect to the workspace MCP URL `https://mcp.erpipe.com/mcp`. Those are different jobs: the site explains the product; the `/mcp` path is the live endpoint.

## Why the term exists

Agents are good at goals and bad at undisciplined APIs. XML-RPC and JSON-2 are powerful and easy to misuse. MCP gives the client a named tool list, arguments, and a place to attach OAuth. “Odoo MCP” means that contract is pointed at an Odoo instance.

Without governance, that is still a credentialed pipe. With governance, writes start off, ACLs stay authoritative, and a person can approve a mutation once.

## A concrete example

1. You ask ChatGPT: “Which customer invoices are overdue this week?”
2. The client calls `search_records` on `account.move` through ERPipe.
3. Odoo returns only rows the connected user can already see.
4. The agent can open the PDF with `read_attachment` or `render_report`.
5. If you later want a follow-up date written, ERPipe can preview the write and wait in the owner inbox.

That path is not “paste the admin password into the model.” It is a tool call with an identity, a policy, and an audit row.

## What ERPipe adds

ERPipe is a hosted Odoo MCP gateway: 45 tools (the live hosted `tools/list` / `ALL_TOOLS` catalog), OAuth S256 PKCE, multi-instance routing, field policy, write gates, an approval inbox, and audit. The workspace MCP URL is `https://mcp.erpipe.com/mcp`.

See the dated [hosted tool catalog](/tools) for the 45 names. See [how to connect ChatGPT](/guides/connect-chatgpt-to-odoo) and [human approval](/guides/human-approval-odoo-ai-writes).

## What people mean by “Odoo MCP” in 2026

Search results mix four different products. They are not interchangeable.

| Kind | Where it runs | What we can date-check (2026-08-18) |
| --- | --- | --- |
| Hosted gateway (ERPipe) | Outside Odoo, `https://mcp.erpipe.com/mcp` | 45 named tools on [the public catalog](/tools); writes off by default |
| Odoo App Store MCP module | Inside the Odoo database | Vendor module; you still own OAuth for every external client |
| Python / stdio MCP (for example ivnvxd/mcp-server-odoo) | A process you run | You operate auth, tenancy, and upgrades |
| Implementer product (for example Pantalytics Odoo MCP Pro) | Their stack | See [ERPipe vs Pantalytics](/compare/erpipe-vs-pantalytics); their tool count is **unknown** on this site |

If you asked “what is an Odoo MCP server?”, the accurate one-sentence answer is the tool contract, not a brand. If you asked “how do I connect ChatGPT to live Odoo without pasting the admin password?”, you want a hosted or carefully built gateway with OAuth, not a stdio script in the model context.

Original fact you can cite: as of 2026-08-26 the ERPipe hosted `tools/list` is **45** tools. The MIT self-host example is **28** (27 phase + `ping`). Those numbers come from code (`ALL_TOOLS` / `@erpipe/core`), not a directory listing.

## Hosted gateway vs a local MCP process

| Job | Local / custom MCP | Hosted ERPipe |
| --- | --- | --- |
| Tool contract | You publish tools | 45 hosted tools, 7 prompts |
| Auth | You build OAuth or share a token | Workspace OAuth S256 PKCE |
| Many Odoo databases | You invent routing | Explicit instance keys |
| Writes | Easy to leave open | Off by default; optional owner approval |
| Ops | You run the process | Hosted control plane |

A local server is a reasonable weekend project. It becomes expensive once ChatGPT, Claude, and an internal agent all need the same revoke story.

## What an Odoo MCP server is not

- It is not a replacement for Odoo groups and record rules.
- It is not an unofficial Odoo S.A. product.
- It is not a shared public sandbox. Each workspace connects its own instances.
- It is not a reason to move the MCP host for SEO. The product page stays on `https://erpipe.com/`; the endpoint stays on `https://mcp.erpipe.com/mcp`.

## FAQ

- **Is MCP the same as the Odoo API?** No. MCP is how the agent calls named tools. Those tools still invoke XML-RPC or JSON-2 on your Odoo. Odoo remains the system of record.
- **Do I need ERPipe to have Odoo MCP?** No. You can run a custom server. You then own OAuth, tenancy, write semantics, and client transport churn. Compare the hosted path when several AI clients must share one governed Odoo connection.
- **Does an Odoo MCP server replace ACLs?** It must not. If a server bypasses the connected Odoo user's groups and record rules, do not put it on production finance data.
- **Which Odoo versions are in play?** ERPipe's intended path is Odoo 16–18 via XML-RPC and Odoo 19 via JSON-2. Setup probes the live instance before activation.
- **Can one MCP URL serve many databases?** On ERPipe, yes: one workspace endpoint at https://mcp.erpipe.com/mcp with an explicit instance key on Odoo-bound tools.
- **Are writes required?** No. Read-only is the safe default and the ERPipe default for every new connection.

## Related

- [Connect Claude Code to live Odoo](/guides/connect-claude-code-to-odoo)
- [How agent memory helps with recurring Odoo work](/guides/agent-memory-odoo)
- [Local process, native addon, or remote gateway?](/guides/odoo-mcp-server-architecture)
- [Why Odoo ACLs are not enough for AI writes](/guides/human-approval-odoo-ai-writes)
