Provides comprehensive integration with Odoo ERP systems, offering 17+ tools for sales order management, purchase operations, inventory tracking, financial analysis, employee search, and holiday management. Includes resources for browsing models and records, plus advanced analytics for sales performance and supplier evaluation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Odoo MCP Unified Servershow me the top 10 sales orders from last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Odoo MCP Unified Server π
Unified Odoo Model Context Protocol (MCP) Server with dual transport support (stdio + SSE), enhanced business tools, and type-safe configuration management.
β¨ Features
π Dual Transport Support
stdio: For Claude Desktop integration
SSE: For web deployment (Zeabur, Railway, etc.) - No Supergateway needed!
π οΈ Complete Tool Set (17+ Tools)
Core Tools (3)
execute_method- Execute any Odoo method (most powerful)search_employee- Search for employeessearch_holidays- Search for holidays/time-off
Sales Tools (3)
search_sales_orders- Search sales orderscreate_sales_order- Create new sales orderanalyze_sales_performance- Analyze sales performance with trends
Purchase Tools (3)
search_purchase_orders- Search purchase orderscreate_purchase_order- Create new purchase orderanalyze_supplier_performance- Analyze supplier on-time delivery
Inventory Tools (2)
get_stock_levels- Get current stock levelspredict_stock_needs- Predict future stock needs
Accounting Tools (2)
get_financial_summary- Get financial overviewanalyze_receivables- Analyze accounts receivable
π¦ Resources (4)
odoo://models- List all available modelsodoo://model/{model_name}- Get model informationodoo://record/{model_name}/{record_id}- Get specific recordodoo://search/{model_name}/{domain}- Search records
βοΈ Configuration Management
Type-safe configuration with Pydantic
Support for environment variables and JSON config
Validation on startup
π Quick Start
For Claude Desktop (stdio mode)
Install
cd E:\gitHub\odoo-mcp-unified
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
pip install -e .Configure - Add to Claude Desktop config (
%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"odoo-unified": {
"command": "E:\\gitHub\\odoo-mcp-unified\\venv\\Scripts\\python.exe",
"args": ["E:\\gitHub\\odoo-mcp-unified\\run_server.py"],
"env": {
"ODOO_URL": "https://alpha-goods-corporation.odoo.com",
"ODOO_DB": "alpha-goods-corporation",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password",
"MCP_TRANSPORT": "stdio"
}
}
}
}Restart Claude Desktop
For Zeabur Deployment (SSE mode)
Connect GitHub repo to Zeabur
Set environment variables:
ODOO_URL=https://your-company.odoo.com
ODOO_DB=your-database
ODOO_USERNAME=your-username
ODOO_PASSWORD=your-password
MCP_TRANSPORT=sse
PORT=8000Deploy - Zeabur will automatically:
Build using Dockerfile
Expose SSE endpoint at
/sseNo Supergateway needed!
π Environment Variables
Required
ODOO_URL- Odoo instance URLODOO_DB- Database nameODOO_USERNAME- UsernameODOO_PASSWORD- Password
Optional
MCP_TRANSPORT- Transport mode:stdioorsse(default:stdio)ODOO_TIMEOUT- Request timeout in seconds (default:60)ODOO_VERIFY_SSL- Verify SSL certificates (default:false)PORT- Server port for SSE mode (default:8000)HOST- Server host for SSE mode (default:0.0.0.0)LOG_LEVEL- Logging level (default:INFO)
π Usage Examples
Execute Any Odoo Method
# Get product.product records
execute_method(
model="product.product",
method="search_read",
args=[],
kwargs={"fields": ["name", "list_price"], "limit": 10}
)Analyze Sales Performance
analyze_sales_performance(
params={
"start_date": "2024-01-01",
"end_date": "2024-12-31",
"group_by": "month"
}
)Check Supplier Performance
analyze_supplier_performance(
params={
"supplier_id": 123,
"start_date": "2024-01-01",
"end_date": "2024-12-31"
}
)ποΈ Project Structure
odoo-mcp-unified/
βββ src/odoo_mcp/
β βββ __init__.py
β βββ __main__.py
β βββ server.py # Main MCP server
β βββ config.py # π Configuration management
β βββ odoo_client.py # Odoo XML-RPC client
β βββ extensions.py # Extension registration
β βββ models.py # Pydantic models
β βββ prompts.py # MCP prompts
β βββ resources.py # MCP resources
β βββ tools_sales.py # Sales tools
β βββ tools_purchase.py # Purchase tools
β βββ tools_inventory.py # Inventory tools
β βββ tools_accounting.py # Accounting tools
βββ run_server.py # π Unified server runner (stdio + SSE)
βββ requirements.txt # Fixed FastMCP version
βββ pyproject.toml
βββ Dockerfile # π Zeabur-ready
βββ README.mdπ§ Development
Run Tests
pytest tests/Run Server Locally (stdio)
export ODOO_URL=https://your-company.odoo.com
export ODOO_DB=your-database
export ODOO_USERNAME=your-username
export ODOO_PASSWORD=your-password
python run_server.pyRun Server Locally (SSE)
export MCP_TRANSPORT=sse
export PORT=8000
python run_server.py
# Access: http://localhost:8000/sseπ Troubleshooting
β Using Latest Stable Versions
This project uses the latest stable versions of FastMCP (>=0.7.0) and MCP (>=1.0.0):
Modern FastMCP API without deprecated parameters
Enhanced performance and stability
Latest features and improvements
SSL Certificate Error
If you see SSL errors:
export ODOO_VERIFY_SSL=falseConnection Timeout
Increase timeout:
export ODOO_TIMEOUT=120π¦ What's New in v2.0
π Compared to odoo-mcp-improved
β SSE Transport support (Zeabur deployment without Supergateway)
β Unified config.py module (type-safe configuration)
β Dual transport mode in single codebase
β Enhanced documentation
π Compared to mcp-odoo
β All basic features (execute_method, resources)
β 12+ additional business tools
β Extension system
β SSE support
β Better error handling
π License
MIT License
π€ Contributing
Contributions welcome! Please open an issue or PR.
π Links
Made with β€οΈ for Alpha Goods Corporation