Provides an MCP server to access Odoo data via XML-RPC, enabling model and method execution, record retrieval, and targeted searches.
Configuration
View docs{
"mcpServers": {
"bader1919-odoo-mcp-dxt": {
"command": "python",
"args": [
"-m",
"odoo_mcp"
],
"env": {
"ODOO_DB": "your-database-name",
"ODOO_URL": "https://your-odoo-instance.com",
"HTTP_PROXY": "http://proxy.example.com:8080",
"ODOO_TIMEOUT": "30",
"ODOO_PASSWORD": "your-password-or-api-key",
"ODOO_USERNAME": "your-username",
"ODOO_VERIFY_SSL": "true"
}
}
}
}You run an MCP server that connects to your Odoo ERP instance, enabling AI assistants to access Odoo models, records, and methods through a simple, configurable interface. This server supports XML-RPC communication, flexible configs, and stateless request handling for reliable integration.
You interact with the Odoo MCP server through an MCP client. Start the server locally or via a container, then configure your client to point to the running MCP, provide your Odoo connection details, and begin invoking tools to read data or perform actions in Odoo. Use the provided tools to execute custom methods on Odoo models, search for employees by name, and look up holidays within a date range. The server exposes resource endpoints that let you explore Odoo models, specific records, and simple searches.
Prerequisites: install Python 3.8+ and a modern package manager such as pip. Ensure you have network access to install packages and run the server.
pip install odoo-mcpConfigure the Odoo MCP server to connect to your Odoo instance by using either environment variables or a JSON config. You will provide the Odoo server URL, database name, login and password (or API key), and optional timeout/SSL settings.
Start the server using the MCP runtime so you can connect from your MCP client. You can run the server directly from the installed package or use the development tooling to run the module.
Odoo connection details are supplied via environment variables when running the server. The following variables are read by the server to establish the connection.
Required env vars (examples shown):
{
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password-or-api-key",
"ODOO_TIMEOUT": "30",
"ODOO_VERIFY_SSL": "true",
"HTTP_PROXY": ""
}To run from Claude Desktop, configure a dedicated MCP server entry that starts the Odoo MCP module and passes the necessary environment variables for the Odoo connection.
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["-m", "odoo_mcp"],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password-or-api-key"
}
}
}
}If you prefer running Odoo MCP in Docker, use the provided container and pass the required environment variables.
{
"mcpServers": {
"odoo": {
"command": "docker",
"args": [
"run","-i","--rm",
"-e","ODOO_URL",
"-e","ODOO_DB",
"-e","ODOO_USERNAME",
"-e","ODOO_PASSWORD",
"mcp/odoo"
],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password-or-api-key"
}
}
}
}Execute a custom method on an Odoo model with optional positional arguments and keyword arguments. Returns a dictionary containing the result and a success indicator.
Search for employees by name. Returns a structure with success status, matching employee names and IDs, and any error messages.
Search holidays within a given date range, optionally filtered by employee_id. Returns a structure with success status, holidays found, and any error messages.