Odoo MCP Server
Enables interaction with Odoo ERP to read and write data across applications including Inventory, CRM, Sales, Manufacturing, and Purchases, supporting operations like searching records, creating sales orders, and managing stock levels.
Click on "Deploy 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 MCP Server Check the current stock of AethAir Pro 500 across all warehouses"
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 Server
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
Quick Start
1. Clone and build
git clone https://github.com/deeprunnerai/odoo-mcp-server.git
cd odoo-mcp-server
npm install
npm run build2. Configure Claude Code
Add 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.
3. Restart Claude Code
After adding the config, restart Claude Code to load the MCP server.
Related MCP server: odoo-mcp
Available Tools
Generic Tools
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 Tools
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/Sales Tools
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 Tools
contacts_list- List partners/contactscontacts_create- Create new contact
Manufacturing Tools
manufacturing_list_orders- List manufacturing ordersmanufacturing_create_order- Create MOmanufacturing_list_boms- List Bills of Materials
Purchase Tools
purchase_list_orders- List purchase orderspurchase_create_order- Create PO
Example Usage
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?"
Common Odoo Models
Model | Description |
| Product variants |
| Product templates |
| Stock quantities |
| Inventory transfers |
| Warehouses |
| Contacts/Partners |
| Users |
| Sales orders |
| Purchase orders |
| CRM leads/opportunities |
| Manufacturing orders |
| Bills of materials |
Development
Run in development mode:
npm run devBuild for production:
npm run buildLicense
MIT
Available Tools
25 toolscontacts_createC
Create a new contact/partner
Inputs: name (required), email, phone, street, +5 more.
contacts_listC
List contacts/partners (customers, vendors, etc.)
Inputs: search, is_customer, is_vendor, limit.
crm_create_leadC
Create a new CRM lead/opportunity
Inputs: name (required), partner_id, contact_name, email_from, +3 more.
crm_list_leadsC
List CRM leads/opportunities
Inputs: stage, user_id, limit.
inventory_create_transferC
Create an internal stock transfer between locations
Inputs: from_location_id (required), to_location_id (required), products (required), scheduled_date.
inventory_get_stockB
Get current stock levels for products across warehouses
Inputs: product_ids (required), warehouse_id.
inventory_list_operationsB
List pending inventory operations (receipts, deliveries, transfers)
Inputs: operation_type, state, limit.
inventory_list_productsC
List products in inventory with stock quantities
Inputs: category, search, limit.
inventory_list_warehousesB
List all warehouses and their stock locations
Inputs: no named parameters.
manufacturing_create_orderC
Create a new manufacturing order
Inputs: product_id (required), quantity (required), bom_id, scheduled_date.
manufacturing_list_bomsC
List Bills of Materials
Inputs: product_id, limit.
manufacturing_list_ordersC
List manufacturing orders
Inputs: state, product_id, limit.
odoo_createC
Create a new record in any Odoo model
Inputs: model (required), values (required).
odoo_deleteC
Delete records from any Odoo model
Inputs: model (required), ids (required).
odoo_executeB
Execute any method on an Odoo model. For advanced operations like workflow actions.
Inputs: model (required), method (required), args, kwargs.
odoo_get_fieldsB
Get field definitions for an Odoo model. Useful to understand available fields.
Inputs: model (required).
odoo_readC
Read specific fields from records by their IDs
Inputs: model (required), ids (required), fields.
odoo_searchA
Search for records in any Odoo model using domain filters. Returns matching record IDs.
Inputs: model (required), domain (required), limit, order.
odoo_search_readB
Search and read records in one call. Most efficient way to get data.
Inputs: model (required), domain (required), fields, limit, +1 more.
odoo_updateC
Update existing records in any Odoo model
Inputs: model (required), ids (required), values (required).
purchase_create_orderC
Create a new purchase order
Inputs: partner_id (required), lines (required).
purchase_list_ordersC
List purchase orders
Inputs: state, partner_id, limit.
sales_confirm_orderC
Confirm a quotation to convert it to a sales order
Inputs: order_id (required).
sales_create_orderC
Create a new sales order (quotation)
Inputs: partner_id (required), lines (required), note.
sales_list_ordersC
List sales orders
Inputs: state, partner_id, limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 25 tools
Most tools are clearly distinct by domain and action, but there is some overlap between odoo_search and odoo_search_read, and between inventory_list_products and inventory_get_stock, which could cause minor confusion. However, descriptions help clarify differences.
All tool names follow a consistent snake_case pattern with a clear domain_action structure (e.g., contacts_create, inventory_list_products). This predictability makes it easy for agents to understand and navigate the toolset.
With 25 tools, the count is borderline high for a single server, potentially overwhelming for agents. While it covers multiple Odoo modules, it might benefit from consolidation or modularization to improve usability.
The toolset provides comprehensive coverage of Odoo's core domains (CRM, sales, inventory, manufacturing, purchase, contacts) with full CRUD operations via both specific and generic tools. No obvious gaps exist for typical agent workflows.
Maintenance
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Odoo MCP connector for ChatGPT and Claude: ask sales, invoices and stock in plain words. Read-only.
Odoo virtual employee via MCP: query, create, modify records, workflows, PDFs, and activities.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceAn MCP server that enables AI assistants like Claude to interact with Odoo ERP systems through natural language, allowing users to search, create, update, and manage business data in their Odoo instance.7,404 PyPI413Mozilla Public 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server that connects AI assistants to Odoo ERP instances via the built-in XML-RPC API without requiring any additional addons. It enables users to search, create, update, and manage Odoo records and models through natural language.34 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to interact with Odoo ERP, allowing natural language queries, record creation, updates, and deletions.LGPL 3.0
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI assistants to interact with Odoo ERP systems, allowing natural language access to business data, CRUD operations, and instance management without requiring Odoo module installation.1MIT