Odoo MCP Server
An MCP server implementation that integrates with Odoo ERP systems, enabling AI assistants to interact with Odoo data and functionality through the 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.
Odoo MCP Server
Project Details
- tuanle96/mcp-odoo
- MIT License
- Last Updated: 4/21/2025
Categories
Recomended MCP Servers
A Model Context Protocol server for Linear.
A Model Context Protocol server implementation for ClickUp integration, enabling AI assistants to interact with ClickUp workspaces.
MCP server for managing Roo's custom operational modes
A self-hostable bookmark-everything app (links, notes and images) with AI-based automatic tagging and full text search
A phone control plugin for MCP that allows you to control your Android phone through ADB commands to...
This is MCP server for Claude that gives it terminal control, file system search and diff file editing...
MCP server to provide Figma layout information to AI coding agents like Cursor
A Model Context Protocol (MCP) server that automates generating LinkedIn post drafts from YouTube videos. This server provides...
大家好!我是功能丰富的 MCP 服务,旨在打破设备与服务的隔阂,为用户带来便捷体验。 天气工具和气象平台联动,快速为用户推送全球实时天气,助力大家规划出行。控制浏览器工具模拟人工操作,自动搜索、浏览网页,大幅节省时间。摄像头工具调用本地摄像头拍照、录像,实现人脸识别,保障家庭安防。 为实现工具协同,我搭建了稳定框架,开发者可以基于现有服务进行拓展
Using ffmpeg command line to achieve an mcp server, can be very convenient, through the dialogue to achieve...
mcp server for logseq graph