Configuration
Environment variables, authentication modes, and read-only setup for the Odoo MCP Server.
Environment variables
| Variable | Required | Description |
|---|---|---|
ODOO_URL |
Yes | Full URL to your Odoo instance |
ODOO_DB |
Yes | Database name |
ODOO_USER |
Yes | Login username |
ODOO_PASSWORD |
Conditional | Password (required for Odoo 17-18) |
ODOO_API_KEY |
Conditional | API key (preferred for Odoo 19+) |
ODOO_READONLY |
No | Set to true to disable all write operations |
Authentication
Odoo 17-18 (JSON-RPC)
Uses username + password authentication via common.authenticate.
{
"env": {
"ODOO_URL": "https://my.odoo.com",
"ODOO_DB": "production",
"ODOO_USER": "admin",
"ODOO_PASSWORD": "your-password"
}
}
Odoo 19+ (JSON-2 API)
Prefers API keys via Bearer token authentication. Falls back to password if no API key is set.
{
"env": {
"ODOO_URL": "https://my.odoo.com",
"ODOO_DB": "production",
"ODOO_USER": "admin",
"ODOO_API_KEY": "your-api-key"
}
}
Generate an API key in Odoo: Settings > Users > select user > API Keys tab > New API Key.
Read-only mode
Set ODOO_READONLY=true to disable odoo_create, odoo_update, odoo_delete, and odoo_execute. Only query and discovery tools remain available.
Recommended for production instances where you want AI agents to read data but not modify it.
{
"env": {
"ODOO_URL": "https://production.odoo.com",
"ODOO_DB": "prod",
"ODOO_USER": "readonly-user",
"ODOO_PASSWORD": "secret",
"ODOO_READONLY": "true"
}
}