Provides tools for interacting with Odoo 19.0, enabling AI assistants to search, read, create, update, delete records, list models, inspect fields, get model documentation, and call methods on any Odoo model via API key or password authentication.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@odoo-mcplist my open sales orders"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bemade-odoo-mcp
An MCP server that connects to Odoo 19.0, giving AI assistants full access to any Odoo model.
Supports two authentication modes:
API key (Bearer) — connects via the JSON-2 API (
/json/2/)Username/password (session) — connects via JSON-RPC (
/web/dataset/call_kw/)
Features
search_records — Search any model with domain filters, field selection, and pagination
read_record — Read specific records by ID
list_models — List installed Odoo models
get_model_fields — Inspect a model's field schema
get_model_doc — Retrieve API documentation for a model
create_record / update_records / delete_records — Write operations
call_method — Call any public method on any model
Related MCP server: MCP Server for Odoo
Requirements
Python 3.12+
An Odoo 19.0 instance with either an API key or login credentials
Installation
uv tool install bemade-odoo-mcpOr from source:
git clone https://github.com/bemade/odoo-mcp.git
cd odoo-mcp
uv syncConfiguration
Set environment variables (or create a .env file).
Option A: API key (recommended for production)
ODOO_URL=https://your-odoo-instance.com
ODOO_API_KEY=your-api-key-here
ODOO_DB=your-database-name # only needed for multi-database setupsTo create an API key in Odoo, go to Settings > Users > [your user] > Preferences > API Keys.
Option B: Username/password (convenient for local dev)
ODOO_URL=http://localhost:8069
ODOO_USERNAME=admin
ODOO_PASSWORD=admin
ODOO_DB=mydbOptional
ODOO_INSTANCE_LABEL=production # label shown in the MCP server name (default: "odoo")Usage with Claude Code
Add to your Claude Code MCP config (.claude/settings.json or project .mcp.json):
{
"mcpServers": {
"odoo": {
"command": "uv",
"args": ["run", "--directory", "/path/to/odoo-mcp", "odoo-mcp"]
}
}
}Or if installed as a tool:
{
"mcpServers": {
"odoo": {
"command": "odoo-mcp"
}
}
}Connecting to multiple instances
Run the same server binary multiple times with different env vars. Claude Code
namespaces the tools automatically (mcp__odoo-prod__search_records, etc.):
{
"mcpServers": {
"odoo-prod": {
"command": "odoo-mcp",
"env": {
"ODOO_URL": "https://prod.example.com",
"ODOO_API_KEY": "prod-key",
"ODOO_INSTANCE_LABEL": "production"
}
},
"odoo-dev": {
"command": "odoo-mcp",
"env": {
"ODOO_URL": "http://localhost:8069",
"ODOO_USERNAME": "admin",
"ODOO_PASSWORD": "admin",
"ODOO_DB": "mydb",
"ODOO_INSTANCE_LABEL": "local-dev"
}
}
}
}Development
uv sync
uv run pytestLicense
LGPL-3.0-only
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bemade/odoo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
