The ERPipe hosted workspace exposes 43 named MCP tools from the live tools/list / ALL_TOOLS surface dated 2026-08-18. OSS self-host is 28 tools (27 phase + ping). The other 15 are hosted-only. Product site https://erpipe.com/; agents connect at https://mcp.erpipe.com/mcp.

Hosted MCP tool catalog (ERPipe)

ToolGroupSurfaceWhat it does
pingHealthcoreLightweight liveness and agent identity.
remember_episodeAgent memory (hosted)hosted-onlyAfter a verified reusable fix, save a short lesson with source event ids. Never raw Odoo, credentials, trivia, or one-off lookups.
recall_memoryAgent memory (hosted)hosted-onlyLook up similar past cases when the problem looks repeatable. Untrusted; verify live records.
forget_memoryAgent memory (hosted)hosted-onlyDrop one saved memory after the owner asks, or confirms it is wrong.
create_instanceInstance lifecycle (hosted)hosted-onlyCreate an Odoo instance after HTTPS preflight and an auth probe. Requires erpipe:write.
update_instanceInstance lifecycle (hosted)hosted-onlyChange label or pause/resume (enabled). Requires erpipe:write.
rotate_instance_credentialsInstance lifecycle (hosted)hosted-onlyRotate stored Odoo credentials. Requires erpipe:write.
delete_instanceInstance lifecycle (hosted)hosted-onlyDelete the instance and encrypted secrets. Requires erpipe:write.
list_instancesMulti-instance (hosted)hosted-onlyList workspace Odoo instances and status. Best-effort timezone/companies; never fails the list.
search_across_instancesMulti-instance (hosted)hosted-onlyFan-out search across instances (read-only). Same empty-filter reject and per-instance cap as search_records.
aggregate_across_instancesMulti-instance (hosted)hosted-onlyFan-out aggregates with per-instance attribution. Read-only; there are no cross-instance write tools.
accounting_health_across_instancesMulti-instance (hosted)hosted-onlyReceivables-style health across instances. Read-only.
search_recordsPhase 1 — read / healthcoreQuery or domain search. Omit fields. Default limit 10, max 50. Empty query+domain is rejected.
model_factsPhase 1 — read / healthcoreModel intent snapshot for search, write, domain, or overview before inventing fields.
read_recordPhase 1 — read / healthcoreRead records by id.
build_domainPhase 1 — read / healthcoreBuild an Odoo domain from structured input.
list_modelsPhase 1 — read / healthcoreList models the connected Odoo user can see.
get_model_fieldsPhase 1 — read / healthcoreField metadata for one model.
health_checkPhase 1 — read / healthcoreConnection and surface sanity check.
aggregate_recordsPhase 2 — diagnose / smart readcoreAggregations over a domain.
search_employeePhase 2 — diagnose / smart readcoreHR employee search helpers.
search_holidaysPhase 2 — diagnose / smart readcoreLeave / holiday search helpers.
get_odoo_profilePhase 2 — diagnose / smart readcoreInstance profile snapshot, including installed modules by default.
get_current_contextPhase 2 — diagnose / smart readcoreTimezone, active company, and allowed companies only — no module list.
schema_catalogPhase 2 — diagnose / smart readcoreSchema browsing helpers (fan-out + cache metrics on hosted).
diagnose_odoo_callPhase 2 — diagnose / smart readcoreDiagnose a failed model call.
diagnose_accessPhase 2 — diagnose / smart readcoreAccess / ACL diagnosis for the connected user.
inspect_model_relationshipsPhase 2 — diagnose / smart readcoreRelational graph for a model.
read_attachmentPhase 2 — diagnose / smart readcoreRead an ir.attachment payload (bounded).
preview_writePhase 3 — gated writescorePreview create, write, or unlink and mint an approval token. Does not change Odoo.
validate_writePhase 3 — gated writescoreValidate values against field policy and allowlists.
execute_approved_writePhase 3 — gated writescoreExecute only with a valid approval token. May return pending while owner approval waits.
chatter_postPhase 3 — gated writescorePost a chatter message (separate gate from create/write/unlink).
execute_methodPhase 3 — gated writescoreNon-CRUD method only. Not search/read and not create/write/unlink.
execute_named_verbNamed verbs (hosted)hosted-onlyRun a dashboard-named execute_method alias. Reuses the method allowlist. Not HITL. Server actions forbidden.
get_write_approval_statusHITL approval (hosted)hosted-onlyPoll a write approval by approval_request_id while waiting for owner Approve.
generate_json2_payloadPhase 4 — reportscoreBuild JSON-2 style payloads.
upgrade_risk_reportPhase 4 — reportscoreUpgrade risk analysis report.
fit_gap_reportPhase 4 — reportscoreFit/gap workshop report.
business_pack_reportPhase 4 — reportscoreBusiness pack summary report.
render_reportPhase 4 — reportscoreRender a QWeb/report payload (for example base64 PDF).
list_odoo_eventsOdoo webhook queue (hosted)hosted-onlyList inbound signed webhook events for a connection. Nothing auto-executes.
ack_odoo_eventOdoo webhook queue (hosted)hosted-onlyAcknowledge a handled inbound event.

Last updated: 2026-08-18

FAQ

Is 43 a guess?

No. It is ALL_TOOLS.length on the hosted worker as of 2026-08-18, the same list tools/list returns after OAuth.

Does OSS self-host include all 43 tools?

No. The self-host example is 28 tools (27 phase tools plus ping). The other 15 are hosted-only: lifecycle, multi-instance, HITL poll, memory, named verbs, and event pull.

If a write tool is listed, can ChatGPT post an invoice?

Not until an owner enables writes on that connection. Create, write, and unlink can still wait in the approval inbox.

Is this the Odoo App Store MCP module?

No. This catalog is the hosted gateway outside Odoo. App Store modules install on the database and publish their own tool lists.

Where do agents connect?

https://mcp.erpipe.com/mcp. The product explanation lives at https://erpipe.com/.

How do I attach two databases?

Add each instance in the workspace. Tools take an explicit instance key from list_instances.

Open the full page