Advanced MCP (Model Context Protocol) server for Odoo ERP — full CRUD, BI analytics, workflow navigation, security audit and more.
Project description
Odoo MCP Server — Agentic Edition
An enterprise-grade Model Context Protocol (MCP) server for interacting with Odoo ERP through AI assistants. Unlike a traditional database connector, this server is designed as an agentic bridge: it teaches the AI how to navigate Odoo, understand its business logic, and perform complex data analysis.
🚀 Why choose Agentic Edition?
- 🧠 Guided Workflows (Prompts): Native instructions that teach your AI how to audit inventory, analyze sales, or review security permissions step-by-step, without the user having to write prompts from scratch.
- 📊 Native Business Intelligence (BI): Optimized support for
read_groupand advanced analytical operations, allowing the AI to generate financial reports or KPIs instantly. - 🔍 Deep Introspection: Tools that grant the AI x-ray vision. The AI can discover available action buttons (
get_action_buttons), inspect view XML architectures (get_view_architecture), or evaluate security rules (get_security_rules), reducing hallucinations to a minimum. - 🔐 Built-in Security: Uses Odoo's native and isolated XML-RPC transport layer.
📦 Quick Installation
Install the binary globally in your terminal using pip or the blazing fast uv:
# Recommended: Isolated and super fast environment
uv tool install odoo-mcp-server
# Standard
pip install odoo-mcp-server
⚙️ AI Client Configuration
To connect the server, you need at least the following environment variables:
ODOO_URL: Your Odoo URL (e.g.,http://localhost:8069).ODOO_DB: The database name.ODOO_USERNAME: The user's email or login.ODOO_PASSWORD: Password or API Key (Strongly recommended).
Cursor IDE
- Go to Settings > Features > MCP.
- Add a new
commandtype server. - Command:
odoo-mcp-server. - Add your environment variables right there.
VS Code (Roo Code / Cline)
Define this block in your cline_mcp_settings.json:
{
"mcpServers": {
"odoo-server": {
"command": "odoo-mcp-server",
"env": {
"ODOO_URL": "http://localhost:8069",
"ODOO_DB": "my_database",
"ODOO_USERNAME": "admin",
"ODOO_PASSWORD": "my_api_key_or_password"
}
}
}
}
Claude Desktop
Find your claude_desktop_config.json file and configure it the same way as the JSON above:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code (CLI)
Use it in your terminal by exporting the environment variables previously in bash:
claude mcp add odoo-server -- odoo-mcp-server
🧰 The Toolbelt (18+ Tools)
1. Data Intelligence (BI & Analytics)
read_group: Odoo's GROUP BY. Extracts sums, counts, and averages directly.export_to_csv: Immediate raw data dumps to flat CSV.get_available_reports: Lists PDF or HTML reports ready to be rendered for the model.
2. Prompts (Pre-trained Workflows)
analyze_sales: Sales diagnostics and KPIs (Top customers, revenue trends).diagnose_inventory: Search for bottlenecks in warehouses andstock.move.audit_permissions: Intersection of security groups and Access Control Lists (ACL).financial_overview: Macro overview of cash flow (AR, AP, invoicing).
3. Core Operations (CRUD)
search_records,read_records,search_read_records.create_record,update_record,delete_record.count_records.
4. Advanced ERP Navigation
get_model_fields: Exact database structure in real-time.get_related_records: Automatically resolved One2Many, Many2One, and Many2Many relations.get_workflow_states: Model states, stages, and interface interactions.explain_domain: Odoo-to-Natural Language translator for complex domains.execute_method: Invokes any internal Odoo logic (e.g.,action_confirm).
📡 Resources (Static URIs)
The AI can query these URLs directly as if it were navigating them:
odoo://models→ Master list of all objects in Odoo.odoo://fields/{model}→ Data dictionary of a specific model.odoo://record/{model}/{id}→ The complete record sheet.odoo://search/{model}/{domain}→ Immediate searches likeodoo://search/res.partner/[["is_company","=",true]].
🛡️ Security
- Interactions are shielded by Odoo's own XML-RPC layer; if the user lacks permissions in the ERP, the MCP server cannot bypass them.
- We never perform forced commits or SQL injections that bypass Odoo's counters and triggers.
- License: MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file odoo_mcp_server_conn-1.0.0.tar.gz.
File metadata
- Download URL: odoo_mcp_server_conn-1.0.0.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47086ac94b1d490390863c3bc754910a87277e7d13183736d3657669e1af00a7
|
|
| MD5 |
1b96b2a0e54dbb9ce9964e8773fa8ead
|
|
| BLAKE2b-256 |
647e4d39d8c3d9036caaa04613383bf2bdf5965a0b0f90fd15f7dd54234b2c66
|
File details
Details for the file odoo_mcp_server_conn-1.0.0-py3-none-any.whl.
File metadata
- Download URL: odoo_mcp_server_conn-1.0.0-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0007c37552f2c88b4c9250b02f55561f458b3029269c1145a5f5ce908bccd46
|
|
| MD5 |
52972d22e0abc5ac49cd5111be0dc29e
|
|
| BLAKE2b-256 |
40d2b6467b96e8609dc68809f278d4c65e6a56bd81c1b5405ea9a3a1354bb2d5
|