Skip to content
erpipe-orgPublic

About

ERPipe — open-core TypeScript MCP for Odoo. Hosted product: https://erpipe.com — MCP: https://mcp.erpipe.com/mcp

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ERPipe — MCP for Odoo

CI npm @erpipe/core License: MIT Node Hosted: free beta Hosted product

ERPipe — hosted Odoo MCP gateway with human approval. It is built by the maintainer of erpipe-org/mcp-odoo, formerly tuanle96/mcp-odoo; the Python project remains the self-hosted server.

Language: English · 日本語

Open-source TypeScript building blocks for remote MCP access to Odoo.

This repo (MIT) Tool logic, transports, single-tenant self-host Worker example
Hosted product Multi-tenant control plane + dashboard — erpipe.com (separate private repo). MCP endpoint: https://mcp.erpipe.com/mcp

Try it (real Odoo only): create a free beta workspace, add one or more HTTPS Odoo instances, then connect ChatGPT, Codex CLI, Claude Code, Gemini CLI, Antigravity CLI, or Grok to the shared endpoint https://mcp.erpipe.com/mcp. Follow the human setup recipe or copy a prompt for your AI agent. There is no shared public sandbox.

Why

  • Talk to Odoo from ChatGPT, Codex CLI, Claude Code, Gemini CLI, Antigravity CLI, Grok, Cursor, and custom MCP agents over a stable URL shape
  • Workers-safe XML-RPC + JSON-2 transports
  • Gated writes (preview → approve → execute) with field policy
  • Shared 27-tool + 7-prompt core surface in @erpipe/core (D14 parity set of 23 plus model_facts, read_attachment, render_report, get_current_context). The hosted workspace adds multi-instance routing, lifecycle, webhook events, memory and approval controls. Use the dated hosted catalog for its current surface, and docs/tools.md for this repository.

Status

Milestone State
Hosted workspace /mcp contract Implemented in the private cloud control plane
Self-host /{slug}/mcp example Proven — see SPIKE.md
Core surface 27 tools + 7 prompts + 5 resources in @erpipe/core
Hosted surface Current tool and prompt coverage: hosted catalog, at mcp.erpipe.com/mcp
Pure parity harness npm run parity — PARITY.md
Live smoke (Odoo 16–20 Community) npm run smoke:live — SMOKE.md; Odoo 20 is a locally verified release candidate

Pins:

Package Version
agents 0.17.4
@cloudflare/workers-oauth-provider 0.8.2

Packages

Path Name Role
packages/core @erpipe/core Transports, tools, field policy — no Workers imports
packages/xmlrpc @erpipe/odoo-xmlrpc Fetch-based XML-RPC (Workers-safe)
packages/worker-selfhost @erpipe/worker-selfhost Single-tenant McpAgent + OAuth example

Requirements

  • Node.js ≥ 20 (CI uses 22 — .nvmrc)
  • npm
  • Optional: Cloudflare account for deploy:selfhost
  • Optional: Odoo 16–20 Community for live smoke

The Odoo 20 candidate uses JSON-2 with a dedicated RPC API key. Local checks cover reads, schema, aggregation, HR dates, attachments and gated writes, plus hosted owner approval and the optional 20.0 Bridge. Enterprise, Odoo.sh, Odoo Online and custom modules need separate qualification. PDF rendering requires the matching Bridge; see the tool limits.

Install

npm install @erpipe/core @erpipe/odoo-xmlrpc
Package npm
@erpipe/core npmjs.com/package/@erpipe/core
@erpipe/odoo-xmlrpc npmjs.com/package/@erpipe/odoo-xmlrpc

Self-host Worker example stays in this monorepo only (@erpipe/worker-selfhost is private / not published).

Develop from source

git clone https://github.com/erpipe-org/erpipe.git
cd erpipe
npm install
npm run build
npm run typecheck
npm test

Quick start (self-host Worker)

npm run dev:selfhost
# Home: http://127.0.0.1:8787/
# MCP:  http://127.0.0.1:8787/default/mcp

Deploy:

# set secrets first — see packages/worker-selfhost/README.md
npm run deploy:selfhost

Canonical MCP URLs

Surface URL shape Notes
Hosted product https://erpipe.com/ Dashboard and docs. MCP endpoint is separate (row below).
Hosted MCP https://mcp.erpipe.com/mcp One workspace OAuth app; Odoo-bound tools require an explicit instance key (list_instances to discover).
Self-host example https://<host>/{connection_slug}/mcp Single-tenant Worker demo in @erpipe/worker-selfhost.

Hosted setup: erpipe.com/docs/connector · compatibility: erpipe.com/compatibility

Reserved path segments (never use as a self-host connection id): authorize, token, register, mcp, sse, .well-known, assets, health, app, admin.

Docs

Doc Topic
docs/tools.md Full tool & prompt catalog
CONTRIBUTING.md Dev setup & PRs
SECURITY.md Vulnerability reporting
CHANGELOG.md Releases
SMOKE.md Live Odoo smoke
PARITY.md Python vs TS pure harness
SPIKE.md Protocol contract notes

Architecture (high level)

MCP client  ──OAuth + MCP──►  Worker (self-host or hosted)
                                  │
                                  ▼
                           @erpipe/core tools
                                  │
                    ┌─────────────┴─────────────┐
                    ▼                           ▼
             XmlRpcTransport              Json2Transport
                    │                           │
                    └──────────► Odoo ◄─────────┘

Contributing

See CONTRIBUTING.md. Please read the Code of Conduct.

License

MIT — see LICENSE.

"Odoo" is a trademark of Odoo S.A. ERPipe is not affiliated with Odoo S.A.

About

ERPipe — open-core TypeScript MCP for Odoo. Hosted product: https://erpipe.com — MCP: https://mcp.erpipe.com/mcp

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages