
Standalone MCP (Model Context Protocol) server for Odoo 18 over stdio.
概览
Standalone MCP (Model Context Protocol) server for Odoo 18 over stdio. io.github.nicolasramos/odooclaw-mcp odooclaw-mcp odooclaw-mcp Backward-compatible aliases are also installed: - odoo-mcp - odoo-mcp-server - odoo-18-mcp-server When calling tools through the MCP protocol, arguments must be wrapped in a top-level payload object. If payload is omitted, validation fails with an error equivalent to Field required: payload. - 129 MCP tools for Odoo operations (CRUD + business actions + migration workflows) - Pydantic validation for all tool payloads - Odoo 18 compatibility helpers (customer_rank / supplier_rank / payment_state) - Security guards (model allowlist, denylisted fields, action guard, unlink blocked) - Structured logging and audit actions Note: the grouped tables below focus on common/high-value tools. Use MCP list_tools to inspect the full live tool catalog for your installed version.
README
以下为原文 README 节选,完整内容请查看原文。
OdooClaw MCP
Standalone MCP (Model Context Protocol) server for Odoo 18 over stdio.
MCP name: io.github.nicolasramos/odooclaw-mcp
PyPI package: odooclaw-mcp
Official CLI: odooclaw-mcp
Backward-compatible aliases are also installed:
odoo-mcpodoo-mcp-serverodoo-18-mcp-server
Quick Start
1) Install
pip install odooclaw-mcp
From source:
git clone https://github.com/nicolasramos/odooclaw-mcp.git
cd odooclaw-mcp
pip install -e .
2) Configure environment
cp .env.example .env
Required:
ODOO_URL=https://yourcompany.odoo.com
ODOO_DB=your_database
ODOO_USERNAME=your_username
ODOO_PASSWORD=your_password
Optional:
ODOO_MCP_DEFAULT_LIMIT=50
ODOO_MCP_MAX_LIMIT=80
LOG_LEVEL=INFO
3) Validate and run
odooclaw-mcp --check-config
odooclaw-mcp
Alternative:
python -m odoo_mcp
MCP Client Configuration (stdio)
{
"mcpServers": {
"odoo": {
"command": "odooclaw-mcp",
"env": {
"ODOO_URL": "https://yourcompany.odoo.com",
"ODOO_DB": "your_database",
"ODOO_USERNAME": "your_username",
"ODOO_PASSWORD": "your_password",
"ODOO_MCP_DEFAULT_LIMIT": "50",
"ODOO_MCP_MAX_LIMIT": "80"
}
}
}
}
Tool call payload contract
When calling tools through the MCP protocol, arguments must be wrapped in a
top-level payload object.
Valid shape:
{
"name": "odoo_search",
"arguments": {
"payload": {
"model": "res.partner",
"domain": [["customer_rank", ">", 0]],
"limit": 3
}
}
}
If payload is omitted, validation fails with an error equivalent to
Field required: payload.
Scope
- 129 MCP tools for Odoo operations (CRUD + business actions + migration workflows)
- Pydantic validation for all tool payloads
- Odoo 18 compatibility helpers (customer_rank / supplier_rank / payment_state)
- Security guards (model allowlist, denylisted fields, action guard, unlink blocked)
- Structured logging and audit actions
Available Tools
The server currently exposes 129 MCP tools.
Note: the grouped tables below focus on common/high-value tools. Use MCP
list_toolsto inspect the full live tool catalog for your installed version.
Core record operations
| Tool | Purpose |
|---|---|
odoo_search |
Search records in an allowed model using Odoo domain syntax. |
odoo_read |
Read selected fields from specific record IDs. |
odoo_search_read |
Combined search + read for efficient retrieval. |
odoo_create |
Create a new record in an allowed model. |
odoo_write |
Update existing records in an allowed model. |
odoo_invoke_action |
Invoke an Odoo model method such as action_* or button_*. |
odoo_get_record_summary |
Return a compact, human-friendly summary for a record. |
Partners, sales, and CRM
| Tool | Purpose |
|---|
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"odoo": {
"command": "odooclaw-mcp",
"env": {
"ODOO_URL": "https://yourcompany.odoo.com",
"ODOO_DB": "your_database",
"ODOO_USERNAME": "your_username",
"ODOO_PASSWORD": "your_password",
"ODOO_MCP_DEFAULT_LIMIT": "50",
"ODOO_MCP_MAX_LIMIT": "80"
}
}
}
}