Odoo-MCP
Integrate with Odoo ERP systems to manage business data and operations. Requires external configuration for connection parameters.
Odoo-MCP
A modern bridge system for interacting with Odoo ERP systems through MCP (Model Context Protocol).
Features
- Comprehensive Odoo Integration: Full access to Odoo models, records, and methods
- XML-RPC Communication: Secure connection to Odoo instances via XML-RPC
- Flexible Configuration: Support for config files and environment variables
- Resource Pattern System: URI-based access to Odoo data structures
- Error Handling: Clear error messages for common Odoo API issues
- Stateless Operations: Clean request/response cycle for reliable integration
Tools
-
execute_method
- Execute a custom method on an Odoo model
- Inputs:
model(string): The model name (e.g., 'res.partner')method(string): Method name to executeargs(optional array): Positional argumentskwargs(optional object): Keyword arguments
- Returns: Dictionary with the method result and success indicator
-
search_employee
- Search for employees by name
- Inputs:
name(string): The name (or part of the name) to search forlimit(optional number): The maximum number of results to return (default 20)
- Returns: Object containing success indicator, list of matching employee names and IDs, and any error message
-
search_holidays
- Searches for holidays within a specified date range
- Inputs:
start_date(string): Start date in YYYY-MM-DD formatend_date(string): End date in YYYY-MM-DD formatemployee_id(optional number): Optional employee ID to filter holidays
- Returns: Object containing success indicator, list of holidays found, and any error message
Resources
-
odoo://models
- Lists all available models in the Odoo system
- Returns: JSON array of model information
-
odoo://model/{model_name}
- Get information about a specific model including fields
- Example:
odoo://model/res.partner - Returns: JSON object with model metadata and field definitions
-
odoo://record/{model_name}/{record_id}
- Get a specific record by ID
- Example:
odoo://record/res.partner/1 - Returns: JSON object with record data
-
odoo://search/{model_name}/{domain}
- Search for records that match a domain
- Example:
odoo://search/res.partner/[["is_company","=",true]] - Returns: JSON array of matching records (limited to 10 by default)
Configuration
Odoo Connection Setup
- Create a configuration file named
odoo_config.json:
{
"url": "https://your-odoo-instance.com",
"db": "your-database-name",
"username": "your-username",
"password": "your-password-or-api-key"
}
- Alternatively, use environment variables:
ODOO_URL: Your Odoo server URLODOO_DB: Database nameODOO_USERNAME: Login usernameODOO_PASSWORD: Password or API keyODOO_TIMEOUT: Connection timeout in seconds (default: 30)ODOO_VERIFY_SSL: Whether to verify SSL certificates (default: true)HTTP_PROXY: Force the ODOO connection to use an HTTP proxy
Usage with Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["-m", "odoo_mcp"],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password-or-api-key"
}
}
}
}
Docker
{
"mcpServers": {
"odoo": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ODOO_URL",
"-e",
"ODOO_DB",
"-e",
"ODOO_USERNAME",
"-e",
"ODOO_PASSWORD",
"mcp/odoo"
],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password-or-api-key"
}
}
}
}
Installation
Python Package
pip install odoo-mcp
Running the Server
# Using the installed package
odoo-mcp
# Using the MCP development tools
mcp dev odoo_mcp/server.py
# With additional dependencies
mcp dev odoo_mcp/server.py --with pandas --with numpy
# Mount local code for development
mcp dev odoo_mcp/server.py --with-editable .
Build
Docker build:
docker build -t mcp/odoo:latest -f Dockerfile .
Parameter Formatting Guidelines
When using the MCP tools for Odoo, pay attention to these parameter formatting guidelines:
-
Domain Parameter:
- The following domain formats are supported:
- List format:
[["field", "operator", value], ...] - Object format:
{"conditions": [{"field": "...", "operator": "...", "value": "..."}]} - JSON string of either format
- List format:
- Examples:
- List format:
[["is_company", "=", true]] - Object format:
{"conditions": [{"field": "date_order", "operator": ">=", "value": "2025-03-01"}]} - Multiple conditions:
[["date_order", ">=", "2025-03-01"], ["date_order", "<=", "2025-03-31"]]
- List format:
- The following domain formats are supported:
-
Fields Parameter:
- Should be an array of field names:
["name", "email", "phone"] - The server will try to parse string inputs as JSON
- Should be an array of field names:
License
This MCP server is licensed under the MIT License.
Serveurs connexes
Kone.vc
sponsorMonetize your AI agent with contextual product recommendations
ATLAS: Task Management System
A task management system for LLM agents to manage projects, tasks, and knowledge using a Neo4j database for complex workflow automation.
Claude Desktop MCP
An MCP server for integrating with the Claude Desktop application on macOS. Requires the Claude Desktop app to be installed and configured.
Feishu/Lark OpenAPI MCP
Connect AI agents to Feishu/Lark APIs for document processing, conversation management, and calendar scheduling.
MCP Inception
Delegate tasks to another MCP client, acting as an agent for your agent.
Routine
MCP server to interact with Routine: calendars, tasks, notes, etc.
Microsoft 365
MCP server that connects to the whole Microsoft 365 suite (Microsoft Office, Outlook, Excel) using Graph API (including mail, files, calendar)
Nynch MCP Server
42-tool MCP server for CRM, relationship intelligence, and multi-agent orchestration. Search contacts, manage deals, analyze relationships, and coordinate AI agents.
Learning Hour MCP
Generates Learning Hour content and Miro boards for Technical Coaches.
Saber
Find buying signals for companies and contacts
HttpStatus MCP Server
24 AI-callable tools for API mocking, chaos engineering, security scanning, SSL checks, CORS debugging, OpenAPI validation, JWT decoding, HAR analysis, distributed tracing, webhook capture, automation workflows, and uptime monitoring. Supports OAuth2 and Bearer token auth.