Install
$ agentstack add mcp-infovpcs-odoo18-mcp-project ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
[](https://mseep.ai/app/infovpcs-odoo18-mcp-project)
Odoo 18 MCP Integration (18.0 Branch)
Last Updated: 2025-06-06
[](https://www.python.org/downloads/) [](https://www.odoo.com/) [](https://github.com/modelcontextprotocol/python-sdk) []() [](LICENSE)
A robust integration server that connects MCP (Master Control Program) with Odoo 18.0 ERP system, focusing on efficient data synchronization, API management, and secure communications. This implementation provides a standardized interface for performing CRUD operations on Odoo 18 models through a simple API, with dynamic model discovery and field analysis capabilities.
Project Structure
odoo18_mcp_project/
├── src/ # Main source code
│ ├── agents/ # AI agents implementation
│ ├── core/ # Core functionality
│ ├── mcp/ # MCP integration code
│ │ ├── server.py # MCP server implementation
│ │ └── ... # Other MCP-related modules
│ ├── odoo/ # Odoo integration code
│ │ ├── client.py # Odoo client implementation
│ │ ├── schemas.py # Data schemas and models
│ │ └── ... # Other Odoo-related modules
│ ├── odoo_docs_rag/ # Odoo documentation retrieval
│ ├── odoo_tools/ # Odoo utility tools
│ ├── simple_odoo_code_agent/ # Simplified code agent
│ └── streamlit_client/ # Streamlit UI client
├── tests/ # Test files
├── exports/ # Exported data files
├── generated_modules/ # Generated Odoo modules
├── logs/ # Log files
├── odoo_docs/ # Odoo documentation
├── odoo_docs_index/ # Documentation index
└── tmp/ # Temporary files
Features
- Odoo Integration
- XML-RPC connection to Odoo 18
- Model discovery using ir.model and ir.model.fields
- Dynamic field analysis and grouping
- NLP-based field importance analysis
- Relationship-aware search and operations
- CRUD Operations
- Create, Read, Update, Delete for any Odoo model
- Batch operations support
- Custom method execution
- Record templates generation
- Data Management
- Export/Import tools for CSV files
- Related records handling
- Relationship maintenance
- Batch processing support
- AI Integration
- DeepWiki integration for documentation
- Gemini LLM integration
- Natural language query parsing
- Code generation capabilities
- Development Tools
- Streamlit UI for module generation
- Documentation search
- CRUD testing interface
- Workflow visualization
- Mermaid diagram generation
Setup
- Clone the repository:
git clone https://github.com/infovpcs/odoo18_mcp_project.git
cd odoo18_mcp_project
- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -e .
- Configure environment:
cp .env.example .env
Edit .env with your Odoo connection details:
ODOO_URL=http://localhost:8069
ODOO_DB=llmdb18
ODOO_USERNAME=admin
ODOO_PASSWORD=admin
# Optional AI/LLM integration
GEMINI_API_KEY=your_gemini_api_key_here
GEMINI_MODEL=gemini-2.0-flash
Usage
Running the Server
python mcp_server.py
Running Tests
python -m pytest tests/
Using Streamlit UI
streamlit run app.py
Tools
- Basic CRUD Operations
search_records: Search for records in any Odoo modelcreate_record: Create new recordsupdate_record: Update existing recordsdelete_record: Delete recordsget_record_template: Get a template for creating records
- Advanced Search and Documentation
advanced_search: Perform advanced natural language searchretrieve_odoo_documentation: Retrieve information from Odoo 18 documentationget_field_groups: Get field groups for a modelanalyze_field_importance: Analyze field importance using NLP
- Export/Import Tools
export_records_to_csv: Export records to CSVimport_records_from_csv: Import records from CSVexport_related_records_to_csv: Export parent-child related recordsimport_related_records_from_csv: Import parent-child related records
- Code Generation Tools
generate_module: Generate Odoo 18 module code using Simple Odoo Code Agentgenerate_npx: Generate diagrams from Mermaid markdown
Documentation
For more detailed documentation, see:
- [PLANNING.md](PLANNING.md) - Project planning and architecture
- [TASK.md](TASK.md) - Current tasks and progress
- [MCPOVERVIEW.md](MCPOVERVIEW.md) - MCP integration details
- [MCPSDKREADME.md](MCPSDKREADME.md) - MCP SDK documentation
- [CLIENTREADME.md](CLIENTREADME.md) - Client usage documentation
License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Installation
Prerequisites
- Python 3.10 or higher
- Odoo 18.0 instance
- Access to Odoo database
- Claude Desktop (optional, for AI integration)
- Compatible PyTorch version (2.2.x recommended for macOS)
- NumPy Note: The
BRAVE_API_KEYis required for the online search functionality in the enhanced RAG tool. You can obtain a Brave Search API key from the Brave Search Developer Portal.
Claude Desktop Integration
The project includes comprehensive integration with Claude Desktop, allowing you to use all the Odoo 18 MCP tools directly within the Claude AI assistant interface.
Installation Options
Option 1: Using the MCP CLI (Recommended)
- Install the MCP SDK with CLI support:
pip install "mcp[cli]"
- Install the MCP server in Claude Desktop:
# Make sure to set these environment variables in your shell or .env file first:
# export ODOO_URL=http://localhost:8069
# export ODOO_PASSWORD=admin
# export GEMINI_API_KEY=your_key
# export BRAVE_API_KEY=your_key
mcp install mcp_server.py --name "Odoo 18 Integration" \
--command "$(which python3)" \
--args "$(pwd)/mcp_server.py" \
--env ODOO_URL=${ODOO_URL} \
--env ODOO_DB=${ODOO_DB} \
--env ODOO_USERNAME=${ODOO_USERNAME} \
--env ODOO_PASSWORD=${ODOO_PASSWORD} \
--env GEMINI_API_KEY=${GEMINI_API_KEY} \
--env GEMINI_MODEL=gemini-2.0-flash \
--env BRAVE_API_KEY=${BRAVE_API_KEY} \
--env ODOO_DOCS_DIR="$(pwd)/odoo_docs" \
--env ODOO_INDEX_DIR="$(pwd)/odoo_docs_index" \
--env ODOO_DB_PATH="$(pwd)/odoo_docs_index/embeddings.db" \
This command will:
- Register the MCP server with Claude Desktop
- Configure the necessary environment variables
- Set up the server with the correct name and description
Option 2: Using the Automated Script
We provide a convenient script that automatically updates the Claude Desktop configuration:
# Make the script executable
chmod +x update_claude_config.sh
# Run the script
./update_claude_config.sh
This script will:
- Detect your Claude Desktop configuration location based on your OS
- Load environment variables from your
.envfile (including GEMINIAPIKEY) - Update the Claude Desktop configuration with the correct values
- Handle environment variable substitution automatically
- Create a backup of your existing configuration
- Validate the updated configuration
Option 3: Manual Configuration
You can also manually update the Claude Desktop configuration file:
- Locate your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/config.json - Windows:
%APPDATA%\Claude\config.json - Linux:
~/.config/Claude/config.json
- Open the
claude_config.jsonfile in a text editor and add the following to theserverssection:
{
"odoo18-mcp": {
"name": "Odoo 18 Integration",
"description": "Dynamic Odoo 18 integration with MCP",
"command": "/full/path/to/your/python",
"args": ["/full/path/to/your/odoo18_mcp_project/mcp_server.py"],
"env": {
"ODOO_URL": "http://localhost:8069",
"ODOO_DB": "llmdb18",
"ODOO_USERNAME": "admin",
"ODOO_PASSWORD": "admin",
"GEMINI_API_KEY": "your_gemini_api_key_here",
"GEMINI_MODEL": "gemini-2.0-flash",
"BRAVE_API_KEY": "your_brave_api_key_here",
"ODOO_DOCS_DIR": "/full/path/to/your/odoo18_mcp_project/odoo_docs",
"ODOO_INDEX_DIR": "/full/path/to/your/odoo18_mcp_project/odoo_docs_index",
"ODOO_DB_PATH" : "/full/path/to/your/odoo18_mcp_project/odoo_docs_index/embeddings.db"
}
}
}
Important Configuration Notes:
- Replace
/full/path/to/your/pythonwith the actual full path to your Python executable. You can find this by runningwhich python3in your terminal. For example, if you're using a virtual environment, it might be something like/Users/username/workspace/odoo18_mcp_project/.venv/bin/python3. - Replace
your_gemini_api_key_herewith your actual Google Gemini API key if you want to use the Odoo Module Generator with Gemini integration. - Replace
your_brave_api_key_herewith your actual Brave Search API key if you want to use the online search functionality in the enhanced RAG tool. You can obtain a Brave Search API key from the Brave Search Developer Portal. - Make sure the path to
mcp_server.pyis correct for your installation.
Verifying the Installation
After configuring Claude Desktop:
- Restart Claude Desktop to apply the changes
- Open Claude Desktop and click on the server selection dropdown (top-right corner)
- Select "Odoo 18 Integration" from the list
- Check the Claude Desktop logs for successful connection to Odoo
- Try a simple command like
/tool search_records model_name=res.partner query=companyto verify functionality
Troubleshooting Claude Desktop Integration
If you encounter issues with the Claude Desktop integration:
- Check the Claude Desktop logs:
- macOS:
~/Library/Logs/Claude/main.log - Windows:
%APPDATA%\Claude\logs\main.log - Linux:
~/.config/Claude/logs/main.log
- Verify Python path:
- Make sure the Python path in the configuration is correct and accessible
- The Python executable should have the MCP SDK installed
- Check environment variables:
- Verify that all environment variables are correctly set
- Make sure the Odoo server is running and accessible at the specified URL
- Restart Claude Desktop:
- Sometimes a simple restart resolves connection issues
- Run the MCP server directly:
- Try running
python mcp_server.pydirectly to check for any errors
- Use the standalone server for testing:
- Run
python standalone_mcp_server.pyand test the tools using curl commands
Using Claude Desktop with Odoo 18 Integration
Once configured, you can use all the Odoo 18 MCP tools directly within Claude Desktop:
- Tool Commands: Use
/toolcommands to execute specific operations
`` /tool search_records model_name=res.partner query="company" /tool get_record_template model_name=product.product /tool run_odoo_code_agent query="Create a customer feedback module" use_gemini=true ``
- Resource Commands: Use
/resourcecommands to access Odoo resources
`` /resource odoo://models/all /resource odoo://model/res.partner/metadata /resource odoo://model/product.product/records ``
- Prompt Commands: Use
/promptcommands for guided assistance
`` /prompt create_record_prompt model_name=res.partner /prompt export_records_prompt model_name=res.partner /prompt odoo_code_agent_prompt ``
The integration provides a seamless experience, allowing you to work with Odoo directly from Claude Desktop without switching between applications.
Building from Source
If you want to build the package for distribution:
python -m pip install build
python -m build
This will create distribution packages in the dist/ directory.
Docker Support
The project includes comprehensive Docker support for development, testing, and production deployment.
Quick Start with Make
We provide a Makefile for common Docker operations:
# Set up required directories (logs, exports, tmp, data, generated_modules)
make setup
# Build Docker images
make build
# Start development environment
make dev
# Run tests
make test
# Run specific test categories
make test-mcp # Run MCP server tests
make test-agent # Run Odoo code agent tests
make test-utils # Run Odoo code agent utilities tests
make test-export-import # Run export/import agent tests
# Start production environment
make prod
# View logs
make logs
# Stop all services
make down
# Clean up everything
make clean
Docker Compose Configuration
The project includes multiple Docker Compose files for different environments:
docker-compose.yml: Base configuration for all environmentsdocker-compose.override.yml: Development-specific overrides (automatically used withdocker-compose up)docker-compose.prod.yml: Production-specific configuration
Development Environment
For local development:
# Start all services in development mode
docker-compose up -d
# Or using the Makefile
make dev
This will:
- Mount your local code into the container for live development
- Enable debug mode and detailed logging
- Create required directories for logs, exports, and temporary files
- Set up appropriate environment variables
Production Deployment
For production deployment:
# Start production environment
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
# Or using the Makefile
make prod
Production mode includes:
- Multi-stage build for smaller image size
- Non-root user for better security
- Resource limits to prevent container resource exhaustion
- Health checks for better reliability
- Restart policies for automatic recovery
- Log rotation to prevent disk space issues
- Network isolation for better security
Container Architecture
The Docker setup includes three main services:
- mcp-server: The main MCP server for integration with Claude Desktop
- Exposes port 8000 for API access
- Connects to Odoo via XML-RPC
- Provides MCP tools for Claude Desktop
- standalone-server: A standalone server for testing MCP tools
- Exposes port 8001 for API access
- Provides HTTP endpoints for testing MCP tools
- Useful for development and testing without Claude Desktop
- test-runner: A service for running automated tests
- Runs function tests and tool tests
- Validates the MCP server functionality
- Useful for CI/CD pipelines
Environment Variables
You can customize the Docker environment by setting environment variables:
# In .env file or command line
ODOO_URL=http://your-odoo-server:8069
ODOO_DB=your_database
ODOO_USERNAME=your_username
ODOO_PASSWORD=your_password
GEMINI_API_KEY=your_gemini_api_key_here
GEMINI_MODEL=gemini-2.0-flash
BRAVE_API_KEY=your_brave_api_key_here
ODOO_DOCS_DIR="/Users/vinusoft85/workspace/odoo18_mcp_project/odoo_docs",
ODOO_INDEX_DIR="/Users/vinusoft85/workspace/odoo18_mcp_project/odoo_docs_index",
ODOO_DB_PATH="/Users/vinusoft85/workspace/odoo18_mcp_project/odoo_docs_index/embeddings.db"
MCP_DEBUG=true
MCP_LOG_LEVEL=DEBUG
Volume Management
The Docker setup includes several volumes for persistent data:
mcp_data: Persistent data storagemcp_logs: Persistent logs storage./exports: Directory for exported files./tmp: Directory for temporary files./generated_modules: Directory for Odoo module files generated by the Odoo Module Generator
Health Checks
All services include health checks to ensure they're running properly:
# Check the heal
…
## Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [infovpcs](https://github.com/infovpcs)
- **Source:** [infovpcs/odoo18_mcp_project](https://github.com/infovpcs/odoo18_mcp_project)
- **License:** MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.