An MCP server that connects to any Odoo 16+ database using existing credentials, providing read, write, diagnostic, and migration tools via XML-RPC or JSON-2 without requiring Odoo-side module installation.
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.
Install from
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
process.env. You'll be asked to provide them before it can run.ODOO_USERNAME— "": "your-user",ODOO_URL— "": "https://your-odoo-instance.com",ODOO_DB— "": "your-database",ODOO_TRANSPORT— "": "xmlrpc"ODOO_MCP_LOG_LEVEL— Structured logging JSON formatter and rotating file handler via , ODOO_MCP_LOG_JSON, ODOO_MCP_LOG_FILE.ODOO_MCP_LOG_JSON— Structured logging JSON formatter and rotating file handler via ODOO_MCP_LOG_LEVEL, , ODOO_MCP_LOG_FILE.ODOO_MCP_LOG_FILE— Structured logging JSON formatter and rotating file handler via ODOO_MCP_LOG_LEVEL, ODOO_MCP_LOG_JSON, .MCP_TRANSPORTMCP_HTTP_HOSTMCP_HTTP_PORTMCP_HTTP_PATHMCP_LOG_LEVELMCP_ALLOW_REMOTE_HTTP— 0 Truthy → permit non-local HTTP binds (still requires external auth/TLS).MCP_ALLOWED_HOSTS— / MCP_ALLOWED_ORIGINS local CSV allowlists for HTTP transports.MCP_ALLOWED_ORIGINS— MCP_ALLOWED_HOSTS / local CSV allowlists for HTTP transports.ODOO_ADDONS_PATHS— ODOO_MCP_ATTACHMENT_UPLOAD_ROOTS unset Colon-separated local directories validate_write may read <field>_from_path uploads from (mirrors ). Required — fails closed with no roots configured.ODOO_MCP_KNOWLEDGE_MAX_DOCS— 5000 Total documents allowed across all local BM25 knowledge indexes.ODOO_MCP_RETRY_ATTEMPTS— 2 Extra attempts for read-only calls on connection errors (0–5). Writes never retry.ODOO_MCP_RETRY_BACKOFF— 0.5 Base retry backoff seconds; doubles per retry.HTTP_PROXYODOO_PASSWORD— "": "your-password-or-api-key",ODOO_API_KEY— export ="your-odoo-api-key"ODOO_JSON2_DATABASE_HEADER— export ="1"ODOO_LOCALE— Locale plumbing injects context.lang automatically on every Odoo call (caller can override).ODOO_CONFIG_FILE— unset Explicit path to a config file, checked before the standard locations.ODOO_TIMEOUTODOO_VERIFY_SSLODOO_MCP_RATE_LIMIT_MODE— Rate limiting Opt-in sliding-window budget per instance and tool (=warn\block), surfaced in health_check.ODOO_MCP_RATE_LIMIT_WINDOW— 60 Sliding window length in seconds for rate tracking.ODOO_MCP_RATE_LIMIT_MAX_CALLS— 120 Calls allowed per window per instance:tool.ODOO_MCP_SCHEMA_CACHE_MAX— 256 Max schema cache entries (LRU eviction).ODOO_MCP_SCHEMA_CACHE_TTL— 600 Schema cache entry lifetime in seconds.ODOO_MCP_INSTRUCTIONS_FILE— unset Plain-text file appended to the server-level MCP instructions every client receives — deployment-specific guidance (fiscal-year rules, naming conventions) without touching tool descriptions.ODOO_MCP_ATTACHMENT_UPLOAD_ROOTS— unset Colon-separated local directories validate_write may read <field>_from_path uploads from (mirrors ODOO_ADDONS_PATHS). Required — fails closed with no roots configured.ODOO_MCP_ALLOWED_SIDE_EFFECT_METHODS— empty Exact model.method allowlist (e.g. sale.order.action_confirm).ODOO_MCP_PLUGINSODOO_MCP_TOOLS_INCLUDE— / _EXCLUDE unset CSV fnmatch globs trimming the registered tool surface per deployment (small agents drown in 41 tools). Removed names listed in health_check.ODOO_MCP_TOOLS_EXCLUDEODOO_MCP_MAX_SMART_FIELDS— 15 Cap for smart-field selection when caller omits fields.ODOO_MCP_MAX_ATTACHMENT_BYTES— 1048576 Download cap for read_attachment content (hard cap 16 MiB).ODOO_MCP_MAX_ATTACHMENT_UPLOAD_BYTES— 10485760 Size cap for <field>_from_path local-file uploads (hard cap 16 MiB).ODOO_MCP_CROSS_INSTANCE_WORKERS— 4 Bounded concurrency for cross-instance fan-out tools.[](https://m8ven.ai/mcp/mariomillet2b-mcp-odoo-whk894)