Hosted Odoo MCP gateway with human approval, plus an open-core TypeScript self-host toolkit
ERPipe has 29 tools with mostly complete schemas and descriptions, but quality is inconsistent. Naming follows verb_noun convention well (search_records, read_record, execute_approved_write). Descriptions exist for all tools but many are terse (10-50 chars) and lack context on WHEN to use them or what happens. Parameter descriptions are sparse, most params lack explanations of format, constraints, or dependencies. Output schemas are not documented. Error handling guidance is absent. The approval token workflow (preview_write → validate_write → execute_approved_write) is well-composed, but many tools lack idempotency hints and recovery guidance.
Aggregate Odoo records by grouping and measures
Build and validate an Odoo domain from structured conditions
Generate a business pack report
Generate a live business pack report
Post a message to Odoo chatter
Diagnose access control for a model/record
Diagnose an Odoo API call failure
Parameter descriptions missing or minimal. Most tools have parameters (query, limit, domain, fields, etc.) with no explanation of format, constraints, or valid ranges. E.g., search_records has 'domain' param with type 'unknown' and no description of Odoo domain syntax.
Output schemas not documented. Tools return results but no schema is visible describing the structure of returned objects, field names, or types. LLMs cannot plan downstream calls without knowing what fields to expect.
Terse descriptions (10-50 chars) lack context on WHEN to use tools or what happens. E.g., 'Only if asked whether this Odoo connection is down' for ping/health_check is conditional guidance, not a full description. 'Get a catalog of model schemas' for schema_catalog doesn't explain when to call it vs get_model_fields.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2025-06-18+ | v2 |
Execute a write operation with approval token
Execute an Odoo model method
Generate a fit-gap analysis report
Generate a JSON2 payload for Odoo
Get the current Odoo context
Get field metadata for a specific Odoo model
Read a bounded profile of the connected Odoo environment
Only if asked whether this Odoo connection is down.
Inspect relationships and dependencies for an Odoo model
List Odoo models with optional name filtering
Use once per model before structured search/write. Returns live fields. Prefer models=[technical names]. Never invent fields. Reuse cache_key this session.
Only if asked whether this Odoo connection is down.
Preview the effects of a write operation without executing it
Read an Odoo attachment by ID
Read a single Odoo record by model and ID
Render an Odoo report
Get a catalog of model schemas
Search for employees in Odoo
Search for holidays in Odoo
Search Odoo records. Omit fields; prefer query=; default limit 10, max 50; never empty query+domain.
Generate an upgrade risk assessment report
Validate a write operation against field policy and model allowlist
No error handling guidance. Tools lack descriptions of failure modes, recovery steps, or actionable error messages. E.g., execute_approved_write could fail if token is invalid or expired, but no guidance on what to do next.
Idempotency and side-effect clarity missing. Tools like execute_method, chatter_post, and execute_approved_write modify state but descriptions don't clarify if they're idempotent or what happens on retry. Agents need this to decide retry strategy.