Enables AI assistants to interact with Odoo data using natural language
MCP Odoo Bridge Server
Licensed under the Apache License, Version 2.0 - See LICENSE for details.
A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with Odoo data using natural language.
🎯 What is MCP?
The Model Context Protocol is an open standard by Anthropic that enables AI assistants to securely connect to external data sources. This server acts as a bridge between Claude (or other MCP clients) and your Odoo instance.
Learn more: MCP Documentation
✨ Features
| Feature | Description |
|---|---|
| 🔍 Search Records | Find records using natural language or Odoo domain syntax |
| 📖 Read Records | Get detailed record information by ID |
| 📊 Count Records | Get counts matching criteria |
| ➕ Create Records | Create new records (with permission) |
| ✏️ Update Records | Modify existing records (with permission) |
| 🗑️ Delete Records | Remove records (with permission) |
| 📋 List Models | Discover available models |
| 🔧 Get Fields | Understand model structure |
| ⚡ Execute Methods | Run custom methods (if enabled) |
| 🔐 API Key Auth | Secure authentication via API keys |
| 📝 Audit Logging | All operations logged for compliance |
📋 Prerequisites
- Odoo instance (17.0, 18.0, or 19.0 recommended)
- Python 3.10+ installed
- AD Odoo MCP Bridge module installed in Odoo (see Odoo Module)
🚀 Installation
1. Clone the Repository
git clone https://github.com/yourusername/ad-mcp-bridge-server.git
cd ad-mcp-bridge-server
2. Install Dependencies
pip install -e .
Or with uv:
uv pip install -e .
3. Install the Odoo Module
Install the ad_odoo_mcp_bridge module in your Odoo instance:
- Add the module folder to your Odoo addons path
- Go to Apps → Install "AD Odoo MCP Bridge"
⚙️ Configuration
Environment Variables
The server requires the following environment variables:
| Variable | Required | Description | Example |
|---|---|---|---|
ODOO_URL |
Yes | Your Odoo instance URL | https://mycompany.odoo.com |
ODOO_API_KEY |
Yes* | API key for authentication | 0ef5b399e9ee9c11b053dfb6eeba8de473c29fcd |
ODOO_USER |
Yes* | Username (if not using API key) | admin |
ODOO_PASSWORD |
Yes* | Password (if not using API key) | admin |
ODOO_DB |
No | Database name (auto-detected if not set) | mycompany |
ODOO_MAX_RECORDS |
No | Default max records per query (default: 100) |
200 |
ODOO_TIMEOUT |
No | Request timeout in seconds (default: 30) |
60 |
ODOO_YOLO |
No | YOLO mode - bypasses MCP security (⚠️ DEV ONLY) | off, read, true |
* Authentication: You must provide either
ODOO_API_KEYor bothODOO_USERandODOO_PASSWORD.
MCP Transport Options
| Variable | Required | Description | Example |
|---|---|---|---|
MCP_TRANSPORT |
No | Transport type: stdio or streamable-http (default: stdio) |
streamable-http |
MCP_HOST |
No | Host for HTTP transport (default: localhost) |
0.0.0.0 |
MCP_PORT |
No | Port for HTTP transport (default: 8000) |
8080 |
YOLO Mode Values
| Value | Description |
|---|---|
off |
All operations require explicit MCP Bridge permissions (default) |
read |
Allows read-only operations on all models without configuration |
true |
⚠️ DANGEROUS - Allows all operations including write/delete without restrictions |
⚠️ Warning: YOLO mode bypasses security checks and should NEVER be used in production. It's intended only for local development and testing.
Create a `.env` File (Optional)
ODOO_URL=https://mycompany.odoo.com
ODOO_DB=mycompany
ODOO_API_KEY=your-api-key-here
🔌 Usage with Claude Desktop
Step 1: Generate API Key in Odoo
- Go to MCP Bridge → Configuration → API Keys
- Click Create → Select user → Generate Key
- Copy the key (shown only once!)
Step 2: Configure Claude Desktop
Edit claude_desktop_config.json:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["-m", "ad_mcp_bridge_server"],
"cwd": "/path/to/ad-mcp-bridge-server/src",
Tools (5)
search_recordsFind records using natural language or Odoo domain syntaxread_recordsGet detailed record information by IDcreate_recordsCreate new records in Odooupdate_recordsModify existing recordsdelete_recordsRemove records from OdooEnvironment Variables
ODOO_URLrequiredYour Odoo instance URLODOO_API_KEYAPI key for authenticationODOO_USERUsername for authenticationODOO_PASSWORDPassword for authenticationODOO_DBDatabase nameConfiguration
{"mcpServers": {"odoo": {"command": "python", "args": ["-m", "ad_mcp_bridge_server"], "env": {"ODOO_URL": "https://mycompany.odoo.com", "ODOO_API_KEY": "your-api-key-here"}}}}