# 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
```bash
git clone https://github.com/deeprunnerai/odoo-mcp-server.git
cd odoo-mcp-server
npm install
npm run build
```
### 2. 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:**
```json
{
"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:**
```json
{
"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.
## Available Tools
### Generic Tools
- `odoo_search` - Search records in any model
- `odoo_read` - Read specific records by ID
- `odoo_search_read` - Search and read in one call
- `odoo_create` - Create new records
- `odoo_update` - Update existing records
- `odoo_delete` - Delete records
- `odoo_get_fields` - Get field definitions for a model
- `odoo_execute` - Execute any model method
### Inventory Tools
- `inventory_list_products` - List products with stock info
- `inventory_get_stock` - Get stock levels by product/warehouse
- `inventory_list_warehouses` - List all warehouses
- `inventory_list_operations` - List receipts/deliveries/transfers
- `inventory_create_transfer` - Create internal stock transfer
### CRM/Sales Tools
- `crm_list_leads` - List CRM leads/opportunities
- `crm_create_lead` - Create new lead
- `sales_list_orders` - List sales orders
- `sales_create_order` - Create sales order
- `sales_confirm_order` - Confirm quotation
### Contacts Tools
- `contacts_list` - List partners/contacts
- `contacts_create` - Create new contact
### Manufacturing Tools
- `manufacturing_list_orders` - List manufacturing orders
- `manufacturing_create_order` - Create MO
- `manufacturing_list_boms` - List Bills of Materials
### Purchase Tools
- `purchase_list_orders` - List purchase orders
- `purchase_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.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 |
## Development
Run in development mode:
```bash
npm run dev
```
Build for production:
```bash
npm run build
```
## License
MIT