MCP Odoo
UnclaimedOdoo MCP for AI agents — 41 tools, gated writes, multi-instance. Free hosted: ERPipe → mcp.erpipe.com
Install
uvx odoo-mcp --setupUnclaimed listing
Is this your MCP server?
This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.
Claim this serverTools (39)
accounting_health_across_instances
AR/AP aging across every client DB with combined buckets — the partner-network sweep.
accounting_health_summary
Open receivable/payable item counts plus the draft invoice backlog.
aggregate_across_instances
Group/aggregate per instance plus additive grand totals across the fleet.
aggregate_records
Server-side groupby/aggregation via formattedreadgroup (Odoo 19+) or readgroup (16-18).
build_domain
Build and validate an Odoo domain from structured conditions.
business_pack_report
Report expected modules, models, and discovery calls for sales, CRM, inventory, accounting, or HR.
cancel_async_task
Cancel a pending or running task.
chatter_post
Post a chatter message on a mail.thread record. Default mode requires the approval-token preview/execute flow.
diagnose_access
Diagnose ACL and record-rule visibility for the current Odoo credential.
diagnose_odoo_call
Diagnose a model call without executing it.
execute_approved_write
Execute only a same-session, live-validated, confirmed write when ODOOMCPENABLEWRITES=1.
execute_method
Execute a reviewed model method. Direct create, write, and unlink are blocked. Side-effect methods require an exact allowlist or ODOOMCPALLOWUNKNOWNMETHODS=1.
fit_gap_report
Classify requirements into standard, configuration, Studio, custom module, avoid, or unknown.
generate_json2_payload
Convert XML-RPC-shaped input into JSON-2 endpoint, headers, and named body.
get_async_task
Poll a task's status and result.
get_model_fields
Read field metadata for one model.
get_odoo_profile
Read server version, user context, transport, database, and installed module summary.
health_check
Report non-secret MCP runtime posture, including rate-limit counters and field-ACL status when enabled.
index_knowledge
Fetch a bounded record slice once and build a local BM25 index (accent-insensitive; data never leaves the machine).
inspect_model_relationships
Group relationship fields, required fields, and create/write hints.
knowledge_stats
Report per-model index sizes and the ODOOMCPKNOWLEDGEMAXDOCS budget.
list_async_tasks
List live and recently finished tasks.
list_instances
List configured Odoo instance names, URLs, databases, transports, and cross-instance tags — never credentials.
list_models
List Odoo model technical names and labels.
lookup_model_history
Resolve outdated model names (account.invoice → account.move) against a curated per-version rename catalog.
preview_write
Produce a non-executing approval payload for create, write, or unlink.
read_attachment
Read an ir.attachment's metadata and size-capped base64 content (ODOOMCPMAXATTACHMENTBYTES, default 1 MiB).
read_record
Read one record by model and ID. Smart-field selection when caller omits fields.
receivable_payable_aging
Aged AR/AP report bucketed by days overdue (not due / 1-30 / 31-60 / 61-90 / 90+), with per-partner totals.
scan_addons_source
Scan local addon source without importing addon code.
schema_catalog
Build a bounded model catalog with optional field metadata.
search_across_instances
Search every opted-in instance (or a list/tag selection); rows tagged with instance, partial results on per-instance failure.
search_employee
Search employees by name.
search_holidays
Search leave records by date range.
search_knowledge
Relevance-ranked free-text search over indexed records with zero further RPC calls.
search_records
Run bounded read-only searchread. Smart-field selection when caller omits fields.
submit_async_task
Run an allowlisted long read operation (scanaddonssource, indexknowledge, receivablepayableaging) on a bounded worker pool. Writes are never accepted.
upgrade_risk_report
Surface transport, method, and migration risks across Odoo versions.
validate_write
Validate a write payload against trusted live fieldsget metadata.