ERPipe

Hosted gateway that connects AI clients to one or more Odoo databases, with owner-approved writes

By erpipe-org TypeScript Remote (hosted) · Streamable HTTP CRM and salesFinance and paymentsDatabases

0 popularity score ★ 0

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

ChatGPTSettings → Apps & Connectors → Create, with Developer Mode on
https://mcp.erpipe.com/mcp
Claude Codeterminal
claude mcp add --transport http --scope user erpipe https://mcp.erpipe.com/mcp
Codexterminal
codex mcp add erpipe --url https://mcp.erpipe.com/mcp --oauth-resource https://mcp.erpipe.com/mcp
Gemini CLIterminal
gemini mcp add --transport http --scope user erpipe https://mcp.erpipe.com/mcp
antigravity cli~/.gemini/config/mcp_config.json
{ "mcpServers": { "erpipe": { "serverUrl": "https://mcp.erpipe.com/mcp" } } }
grokterminal
grok mcp add --transport http --scope user erpipe https://mcp.erpipe.com/mcp

What it does

ERPipe is a remote MCP endpoint for the Odoo ERP. You create a workspace at erpipe.com, register one or more HTTPS Odoo instances there, and point a client at https://mcp.erpipe.com/mcp. The Odoo credentials stay stored on the workspace connection; the client signs in to ERPipe with OAuth and never receives an Odoo password or token. Every Odoo-bound tool takes an explicit instance key, which list_instances returns, so one connection can serve several databases.

Most of the surface reads: record search, field metadata, aggregates, HR employee and leave lookups, access and failed-call diagnosis, attachments, and report-style outputs such as upgrade risk and fit/gap summaries. Changes go through a gate: preview_write produces an approval token, execute_approved_write uses it, and the workspace owner may have to approve in a dashboard inbox first. Writes stay off until the owner turns them on for a connection, and the client must have been granted write scope. Hosted extras include fan-out search and aggregates across instances, instance lifecycle tools, a pull queue for signed Odoo webhook events and a small agent memory.

The hosted catalog page counts 46 tools as of 2026-09-18; 28 of those exist in the open-source self-host Worker in this repository and the other 18 are hosted-only. The open-source repository (MIT) holds the TypeScript tool logic, published as @erpipe/core, plus a single-tenant Cloudflare Worker example that is not published to npm. The same maintainer keeps the separate Python self-hosted server mcp-odoo.

What it needs

An ERPipe workspace (the hosted service is a free beta) and at least one Odoo instance reachable over HTTPS; there is no shared sandbox. Odoo 16-20 Community is tested; Enterprise, Odoo.sh, Odoo Online and custom modules are not qualified. A client that signs in with OAuth: Claude Code needs `claude mcp login erpipe`, Codex CLI `codex mcp login erpipe`, Gemini CLI `/mcp auth erpipe`, ChatGPT needs Developer Mode. Self-hosting the Worker example needs Node.js 20+, a clone and build, and a Cloudflare account to deploy.

Limits

search_records returns 10 records by default, at most 50; an empty query and domain is refused. Cross-instance search reaches at most 10 instances and is read-only; there are no cross-instance writes. execute_method refuses search/read and create/write/unlink, and named verbs forbid server actions. PDF output from render_report needs the matching ERPipe Bridge addon on the Odoo side. The self-host Worker has 28 of the 46 tools and no multi-instance routing, memory or approval inbox. Odoo 20 support is a locally verified release candidate.

Who it suits

Suits teams that run Odoo over HTTPS and want ChatGPT, Claude Code, Codex or Gemini CLI to query it, possibly across several databases, without handing Odoo credentials to each client, and that want writes behind an owner approval step. It is a hosted beta from a third party, not Odoo S.A., so data passes through ERPipe's servers. Anyone who wants a local stdio process kept inside their own network should look at the maintainer's Python mcp-odoo server instead, which we also list.

Tools 46

ping
Liveness check that also reports the agent identity
remember_episode
Save a short reusable lesson to workspace memory
recall_memory
Find saved lessons similar to the current problem
forget_memory
Remove one saved lesson
create_instance
Register a new Odoo instance after HTTPS and sign-in checks
update_instance
Rename an instance or pause and resume it
rotate_instance_credentials
Replace the stored Odoo credentials of an instance
update_instance_cloudflare_access
Set or clear a Cloudflare Access service token for an instance
delete_instance
Remove an instance and its encrypted secrets
list_instances
List the workspace's Odoo instances, their keys and status
search_across_instances
Run one read-only search over several instances
aggregate_across_instances
Aggregate figures over several instances, labelled per instance
accounting_health_across_instances
Receivables health summary over several instances
search_records
Search records of a model by text or domain
model_facts
Summary of a model's purpose and key fields before querying or writing
read_record
Read records by id
build_domain
Turn structured filters into an Odoo domain
list_models
List models visible to the connected Odoo user
get_model_fields
Field metadata for one model
health_check
Check the connection and tool surface for an instance
aggregate_records
Grouped totals and counts over a domain
search_employee
Look up HR employees
search_holidays
Look up leave and holiday records
get_odoo_profile
Instance overview including installed modules
get_current_context
Timezone, active company and allowed companies
schema_catalog
Browse the database schema
diagnose_odoo_call
Explain why a model call failed
diagnose_access
Check access rights of the connected user
inspect_model_relationships
Show the relations around a model
read_attachment
Read an attachment's content, size-bounded
preview_write
Preview a create, update or delete and issue an approval token
validate_write
Check values against field policy and allowlists
execute_approved_write
Carry out a previewed write with its approval token
chatter_post
Post a message to a record's chatter
execute_method
Call an allowed non-CRUD model method
preflight_odoo_capability
Check the companion addon's sales confirmation capability without changing data
execute_approved_odoo_capability
Run a companion addon capability after owner approval
execute_named_verb
Run a method alias defined in the dashboard
get_write_approval_status
Poll whether the owner has approved a pending write
generate_json2_payload
Build JSON-2 request payloads
upgrade_risk_report
Report on risks of an Odoo version upgrade
fit_gap_report
Fit/gap report for requirement workshops
business_pack_report
Summary report of business modules in use
render_report
Render an Odoo report, such as a PDF
list_odoo_events
List signed webhook events received from Odoo
ack_odoo_event
Mark a webhook event as handled

Similar servers