MCP (Model Context Protocol) server for interacting with Odoo ERP. Enables AI assistants like Claude to read and write data across Odoo apps including Inventory, CRM, Sales, Manufacturing, and Purchases.
Repository: https://github.com/deeprunnerai/odoo-mcp-server
git clone https://github.com/deeprunnerai/odoo-mcp-server.git
cd odoo-mcp-server
npm install
npm run buildAdd to your Claude Code settings (~/.claude.json) under the mcpServers section.
Important: Replace the path with your actual clone location.
macOS/Linux:
{
"mcpServers": {
"odoo": {
"type": "stdio",
"command": "node",
"args": ["/Users/YOUR_USERNAME/Projects/odoo-mcp-server/dist/index.js"],
"env": {
"ODOO_URL": "https://odoo.deeprunner.ai",
"ODOO_DB": "deeprunner",
"ODOO_USERNAME": "your-email@deeprunner.ai",
"ODOO_PASSWORD": "your-password"
}
}
}
}Windows:
{
"mcpServers": {
"odoo": {
"type": "stdio",
"command": "node",
"args": ["C:\\Users\\YOUR_USERNAME\\Projects\\odoo-mcp-server\\dist\\index.js"],
"env": {
"ODOO_URL": "https://odoo.deeprunner.ai",
"ODOO_DB": "deeprunner",
"ODOO_USERNAME": "your-email@deeprunner.ai",
"ODOO_PASSWORD": "your-password"
}
}
}
}To find your path: After cloning, run pwd (macOS/Linux) or cd (Windows) in the odoo-mcp-server directory.
After adding the config, restart Claude Code to load the MCP server.
odoo_search- Search records in any modelodoo_read- Read specific records by IDodoo_search_read- Search and read in one callodoo_create- Create new recordsodoo_update- Update existing recordsodoo_delete- Delete recordsodoo_get_fields- Get field definitions for a modelodoo_execute- Execute any model method
inventory_list_products- List products with stock infoinventory_get_stock- Get stock levels by product/warehouseinventory_list_warehouses- List all warehousesinventory_list_operations- List receipts/deliveries/transfersinventory_create_transfer- Create internal stock transfer
crm_list_leads- List CRM leads/opportunitiescrm_create_lead- Create new leadsales_list_orders- List sales orderssales_create_order- Create sales ordersales_confirm_order- Confirm quotation
contacts_list- List partners/contactscontacts_create- Create new contact
manufacturing_list_orders- List manufacturing ordersmanufacturing_create_order- Create MOmanufacturing_list_boms- List Bills of Materials
purchase_list_orders- List purchase orderspurchase_create_order- Create PO
Once configured, you can ask Claude things like:
- "List all products in the Air Quality Sensors category"
- "What's the current stock of AethAir Pro 500 across all warehouses?"
- "Create a sales order for Tesla with 10 units of the outdoor sensor"
- "Show me all pending manufacturing orders"
- "Create a new lead for a potential government contract"
- "How many users are there in Odoo?"
| Model | Description |
|---|---|
product.product |
Product variants |
product.template |
Product templates |
stock.quant |
Stock quantities |
stock.picking |
Inventory transfers |
stock.warehouse |
Warehouses |
res.partner |
Contacts/Partners |
res.users |
Users |
sale.order |
Sales orders |
purchase.order |
Purchase orders |
crm.lead |
CRM leads/opportunities |
mrp.production |
Manufacturing orders |
mrp.bom |
Bills of materials |
Run in development mode:
npm run devBuild for production:
npm run buildMIT