MCP Server Odoo

raw JSON →
0.6.0 verified Sat May 09 auth: no python

A Model Context Protocol (MCP) server for Odoo ERP systems. Provides tools for CRUD operations, searching records, aggregating data, posting messages, and listing models. Version 0.6.0 supports Python >=3.10 and connects to Odoo via XML-RPC. Released under MIT license with recent active development.

pip install mcp-server-odoo
error ModuleNotFoundError: No module named 'mcp_server_odoo'
cause Library not installed or installed in wrong Python environment.
fix
Run pip install mcp-server-odoo in the correct environment.
error ValueError: Missing required environment variable: ODOO_URL
cause One or more required environment variables (ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_API_KEY) are missing.
fix
Set all required environment variables before starting the server.
breaking In v0.5.2, the stdio transport was fixed to drop terminal `notifications/progress` from `search_records` and `list_models`. If you are using an older version (pre-0.5.2), strict MCP clients may report a fatal protocol error and tear down the transport.
fix Upgrade to >=0.5.2.
breaking In v0.5.1, search behavior changed: The env var `ODOO_MCP_DEFAULT_LIMIT` now applies when clients omit `limit`. Previously, the parameter was hardcoded, bypassing the env var. If you relied on the old behavior, you may need to set the env var accordingly.
fix Set `ODOO_MCP_DEFAULT_LIMIT` to your desired default limit for search records.
gotcha The `call_model_method` tool requires `ODOO_MCP_ENABLE_METHOD_CALLS=1` environment variable to be set. It does not appear unless you opt-in. This is a YOLO-only (experimental) feature.
fix Set env var `ODOO_MCP_ENABLE_METHOD_CALLS=1` to enable the tool.
pip install mcp-server-odoo[yolo]

Basic stdio server start. Requires environment variables: ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_API_KEY.

from mcp_server_odoo.server import run_stdio

if __name__ == "__main__":
    # Ensure environment variables are set: ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_API_KEY
    run_stdio()