by ivnvxd
Seamlessly integrate with Odoo ERP for advanced business record management, automation, and secure data workflows via XM
Connects to Odoo ERP systems via XML-RPC to search, read, create, update, and delete business records. Includes smart field optimization and access controls for business process automation.
Odoo ERP is a community-built MCP server published by ivnvxd that provides AI assistants with tools and capabilities via the Model Context Protocol. Seamlessly integrate with Odoo ERP for advanced business record management, automation, and secure data workflows via XM It is categorized under productivity, databases.
You can install Odoo ERP in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MPL-2.0
Odoo ERP is released under the MPL-2.0 license.
Enable Claude to query your database directly using natural language
Example
Ask 'Show me top 10 customers by revenue this month' and get SQL results instantly
Eliminate manual SQL writing for ad-hoc queries, get insights 10x faster
Generate complex reports and analytics without leaving conversation
Example
Analyze sales trends, cohort retention, user behavior patterns conversationally
Democratize data access—non-technical team members can query databases
Understand database structure, relationships, and data models
Example
'Explain the user_orders table schema and its relationships'
Onboard engineers faster, explore unfamiliar databases efficiently
Share your MCP server with the developer community
I recommend Odoo ERP for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
Odoo ERP is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
According to our notes, Odoo ERP benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
Odoo ERP has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
Odoo ERP is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
Odoo ERP is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
We evaluated Odoo ERP against two servers with overlapping tools; this profile had the clearer scope statement.
Odoo ERP has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
According to our notes, Odoo ERP benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
Odoo ERP is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
showing 1-10 of 28
An MCP server that enables AI assistants like Claude to interact with Odoo ERP systems. Access business data, search records, create new entries, update existing data, and manage your Odoo instance through natural language.
Works with any Odoo instance! Use YOLO mode for quick testing and demos with any standard Odoo installation. For enterprise security, access controls, and production use, install the Odoo MCP module.
The MCP server runs on your local computer (where Claude Desktop is installed), not on your Odoo server. You need to install UV on your local machine:
<details> <summary>macOS/Linux</summary>curl -LsSf https://astral.sh/uv/install.sh | sh
</details>
<details>
<summary>Windows</summary>
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
</details>
After installation, restart your terminal to ensure UV is in your PATH.
Add this configuration to your MCP settings:
{
"mcpServers": {
"odoo": {
"command": "uvx",
"args": ["mcp-server-odoo"],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_API_KEY": "your-api-key-here"
}
}
}
}
<details>
<summary>Claude Desktop</summary>
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"odoo": {
"command": "uvx",
"args": ["mcp-server-odoo"],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database-name"
}
}
}
}
</details>
<details>
<summary>Claude Code</summary>
Add to .mcp.json in your project root:
{
"mcpServers": {
"odoo": {
"command": "uvx",
"args": ["mcp-server-odoo"],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database-name"
}
}
}
}
Or use the CLI:
claude mcp add odoo \
--env ODOO_URL=https://your-odoo-instance.com \
--env ODOO_API_KEY=your-api-key-here \
--env ODOO_DB=your-database-name \
-- uvx mcp-server-odoo
</details>
<details>
<summary>Cursor</summary>
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"odoo": {
"command": "uvx",
"args": ["mcp-server-odoo"],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database-name"
}
}
}
}
</details>
<details>
<summary>VS Code (with GitHub Copilot)</summary>
Add to .vscode/mcp.json in your workspace:
{
"servers": {
"odoo": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-odoo"],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database-name"
}
}
}
}
</details> <details> <summary>Windsurf</summary>Note: VS Code uses
"servers"as the root key, not"mcpServers".
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"odoo": {
"command": "uvx",
"args": ["mcp-server-odoo"],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database-name"
}
}
}
}
</details>
<details>
<summary>Zed</summary>
Add to ~/.config/zed/settings.json:
{
"context_servers": {
"odoo": {
"command": {
"path": "uvx",
"args": ["mcp-server-odoo"],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database-name"
}
}
}
}
}
</details>
Run with Docker — no Python installation required:
{
"mcpServers": {
"odoo": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "ODOO_URL=http://host.docker.internal:8069",
"-e", "ODOO_API_KEY=your-api-key-here",
"ivnvxd/mcp-server-odoo"
]
}
}
}
Note: Use
host.docker.internalinstead oflocalhostto connect to Odoo running on the host machine.
For HTTP transport:
docker run --rm -p 8000:8000 \
-e ODOO_URL=http://host.docker.internal:8069 \
-e ODOO_API_KEY=your-api-key-here \
ivnvxd/mcp-server-odoo --transport streamable-http --host 0.0.0.0
The image is also available on GHCR: ghcr.io/ivnvxd/mcp-server-odoo
# Install globally
pip install mcp-server-odoo
# Or use pipx for isolated environment
pipx install mcp-server-odoo
Then use mcp-server-odoo as the command in your MCP configuration.
git clone https://github.com/ivnvxd/mcp-server-odoo.git
cd mcp-server-odoo
pip install -e .
Then use the full path to the package in your MCP configuration.
</details>The server requires the following environment variables:
| Variable | Required | Description | Example |
|---|---|---|---|
ODOO_URL | Yes | Your Odoo instance URL | https://mycompany.odoo.com |
ODOO_API_KEY | Yes* | API key for authentication | 0ef5b399e9ee9c11b053dfb6eeba8de473c29fcd |
ODOO_USER | Yes* | Username (if not using API key) | admin |
ODOO_PASSWORD | Yes* | Password (if not using API key) | admin |
ODOO_DB | No | Database name (auto-detected if not set) | mycompany |
ODOO_LOCALE | No | Language/locale for Odoo responses | es_ES, fr_FR, de_DE |
ODOO_YOLO | No | YOLO mode - bypasses MCP security (⚠️ DEV ONLY) | off, read, true |
*Either ODOO_API_KEY or both ODOO_USER and ODOO_PASSWORD are required.
Notes:
ODOO_DB.env file in the working directory| Variable | Default | Description |
|---|---|---|
ODOO_MCP_DEFAULT_LIMIT | 10 | Default number of records returned per search |
ODOO_MCP_MAX_LIMIT | 100 | Maximum allowed record limit per request |
ODOO_MCP_MAX_SMART_FIELDS | 15 | Maximum fields returned by smart field selection |
ODOO_MCP_LOG_LEVEL | INFO | Log level (DEBUG, INFO, WARNING, ERROR, CRITICAL) |
ODOO_MCP_LOG_JSON | false | Enable structured JSON log output |
ODOO_MCP_LOG_FILE | — | Path for rotating log file (10 MB, 5 backups) |
ODOO_MCP_TRANSPORT | stdio | Transport type (stdio, streamable-http) |
ODOO_MCP_HOST | localhost | Host to bind for HTTP transport |
ODOO_MCP_PORT | 8000 | Port to bind for HTTP transport |
The server supports multiple transport protocols for different use cases:
Standard input/output transport - used by desktop AI applications like Claude Desktop.
# Default transport - no additional configuration needed
uvx mcp-server-odoo
Standard HTTP transport for REST API-style access and remote connectivity.
# Run with HTTP transport
uvx mcp-server-odoo --transport streamable-http --host 0.0.0.0 --port 8000
# Or use environment variables
export ODOO_MCP_TRANSPORT=streamable-http
export ODOO_MCP_HOST=0.0.0.0
export ODOO_MCP_PORT=8000
uvx mcp-server-odoo
The HTTP endpoint will be available at: http://localhost:8000/mcp/
Note: SSE (Server-Sent Events) transport has been deprecated in MCP protocol version 2025-03-26. Use streamable-http
Run data quality queries to catch anomalies and inconsistencies
Example
Find duplicate records, missing values, orphaned foreign keys automatically
Maintain data integrity with less manual SQL work
Prerequisites
Time Estimate
15-30 minutes including configuration and testing
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
MCP server acts as bridge between Claude and database, translating natural language to SQL queries and returning results in structured format.
Protocols
Compatibility
✓ Use when
Use for ad-hoc data queries, exploratory analysis, report generation, schema exploration, and democratizing data access. Best for read-heavy analytics workloads.
✗ Avoid when
Avoid for production write operations, mission-critical transactions, real-time OLTP workloads, or when database contains sensitive PII without proper access controls. Use read replicas, not primary.