Allows interaction with an Odoo ERP instance using its built-in XML-RPC API, providing tools for searching, reading, creating, updating, and deleting records across any available Odoo model, such as contacts, sales orders, and invoices.
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-mcpFind the 5 most recent sales orders and show their totals"
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.
odoo-mcp
MCP (Model Context Protocol) server for Odoo ERP. Connect any AI assistant to your Odoo instance using standard XML-RPC — no addons, no YOLO mode, no hassle.
✨ Highlights
No addon required — uses Odoo's built-in XML-RPC API
No YOLO mode — proper API Key or user/password authentication
TypeScript — fully typed, reliable
Zero config — run with
npx odoo-mcp, configure via environment variablesOdoo 14+ — works with any Odoo version that supports XML-RPC
Quick Start
1. Get your Odoo API Key
Go to Settings → Users → Your User → Preferences → Account Security → API Keys and generate one.
2. Configure your MCP client
Add to your MCP config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"odoo": {
"command": "npx",
"args": ["-y", "odoo-mcp"],
"env": {
"ODOO_URL": "https://your-odoo.com",
"ODOO_DB": "your-db",
"ODOO_API_KEY": "your-api-key"
}
}
}
}3. Start asking questions
"Show me all open sales orders" "Create a new contact named John Doe with email john@example.com" "How many invoices were created this month?"
Environment Variables
Variable | Required | Description |
| ✅ | Odoo instance URL (e.g., |
| ✅ | Database name |
| ✅* | API Key for authentication |
| ✅* | User email (when using user/password auth) |
| ✅* | Password (when using user/password auth) |
* Either ODOO_API_KEY or both ODOO_USER + ODOO_PASSWORD are required.
Tools
Tool | Description |
| Search records with domain filters, field selection, pagination, and sorting |
| Read specific records by ID |
| Create a new record |
| Update existing records |
| Delete records |
| Count records matching a domain filter |
| List all available Odoo models |
| Get field definitions for a model |
Examples
Search records:
model: "res.partner"
domain: '[["is_company","=",true]]'
fields: "name,email,phone"
limit: 10Create a record:
model: "res.partner"
values: '{"name":"John Doe","email":"john@example.com","is_company":false}'Get field info:
model: "sale.order"
attributes: "string,type,required"Authentication
API Key (Recommended)
Log in to your Odoo instance
Go to Settings → Users & Companies → Users
Select your user → Preferences tab
Under Account Security, click New API Key
Copy the key and set it as
ODOO_API_KEY
User/Password
Set ODOO_USER (email) and ODOO_PASSWORD instead of ODOO_API_KEY. This is less secure and not recommended for production.
Development
git clone https://github.com/intellieffect/odoo-mcp.git
cd odoo-mcp
npm install
npm run buildTest locally:
ODOO_URL=https://your-odoo.com ODOO_DB=your-db ODOO_API_KEY=your-key node dist/index.jsLicense
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.