Get the FREE Ultimate OpenClaw Setup Guide →

mcp-odoo-adv

Enhanced Odoo MCP server (STDIO, SSE, Streamable HTTP)

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio alanogic-mcp-odoo-adv python run_server.py \
  --env ODOO_DB="your-database" \
  --env ODOO_URL="https://your-odoo-instance.com" \
  --env ODOO_PASSWORD="your-password-or-api-key" \
  --env ODOO_USERNAME="your-username"

How to use

This MCP server exposes the full Odoo API through two universal tools: execute_method and batch_execute. execute_method lets you call any Odoo model method with positional and keyword arguments, enabling you to perform reads, creates, updates, deletes, and custom method calls across any model. batch_execute enables atomic transactions by grouping multiple operations into a single commit, so either all operations succeed or none do. These tools give you programmatic access to Odoo's data and workflows, allowing AI agents to automate processes, generate reports, and integrate Odoo with external systems. To use, call execute_method with the target model and method, supplying JSON-encoded args and kwargs, or use batch_execute with a list of operations and an atomic flag to ensure transactional integrity. Examples in the documentation show common patterns like searching and creating records, as well as complex workflows that span multiple models.

How to install

Prerequisites:

  • Python 3.8+ installed on the host
  • A running Odoo instance and credentials
  • Access to install Python packages from your environment

Install from source (recommended):

  1. Clone the repository and install in editable mode:
git clone https://github.com/AlanOgic/mcp-odoo-adv.git
cd mcp-odoo-adv
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
  1. Run the server (STDIO by default):
python run_server.py

Optional alternatives:

  • Using uvx (no installation required):
uvx --from . odoo-mcp
  • Using Docker (builds and runs containers for STDIO, SSE, or HTTP):
# build STDIO image
docker build -t alanogic/mcp-odoo-adv:latest -f Dockerfile .
# run
docker run -e ODOO_URL=... -e ODOO_DB=... -e ODOO_USERNAME=... -e ODOO_PASSWORD=... alanogic/mcp-odoo-adv:latest

Configure credentials and Odoo connection in a .env file as shown in the README, and then run the appropriate server entrypoint (run_server.py, run_server_sse.py, or run_server_http.py) depending on your needs.

Additional notes

Tips and notes:

  • Create a .env file with ODOO_URL, ODOO_DB, ODOO_USERNAME, and ODOO_PASSWORD for convenience. This is how credentials are typically provided to the server.
  • If you manage multiple Odoo instances (dev, staging, prod), use a custom ODOO_CONFIG_DIR to organize separate configs.
  • When using Claude Desktop or other clients, you can point them to the Odoo MCP server by configuring the mcpServers entry with command and args that match your runtime (python/run_server.py, uvx, or docker).
  • The two tools (execute_method and batch_execute) support complex workflows, but ensure proper permission checks on the Odoo side to avoid unauthorized data access.
  • For production deployments, prefer using Docker with environment variables re-sealed through a secure mechanism or using a dedicated credentials store.

Related MCP Servers

Sponsor this space

Reach thousands of developers