odoo-mcp
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.
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/intellieffect/odoo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server