Odoo

Provides access to Odoo models, records, and methods via MCP with XML-RPC integration.
  • python

0

GitHub Stars

python

Language

4 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ridrisa-odoo-mcp": {
      "command": "python",
      "args": [
        "-m",
        "odoo_mcp"
      ],
      "env": {
        "ODOO_DB": "your-database-name",
        "ODOO_URL": "https://your-odoo-instance.com",
        "HTTP_PROXY": "http://proxy.example.com:8080",
        "ODOO_TIMEOUT": "30",
        "ODOO_PASSWORD": "your-password-or-api-key",
        "ODOO_USERNAME": "your-username",
        "ODOO_VERIFY_SSL": "true"
      }
    }
  }
}

You can connect to an Odoo ERP instance through MCP to execute methods, search records, and query holidays with simple, structured commands. This MCP bridge handles Odoo model interactions via Python, Docker, or local development tools, giving you a consistent way to access data and operations from your preferred client.

How to use

Start a local MCP server for Odoo by running it as a stdio service, or run it in a container. Once the server is running, connect your MCP client to the configured server name (odoo) and use the exposed tools to execute methods, search employees, and find holidays. The available tools include execute_method for invoking Odoo model methods, search_employee to locate employees by name, and search_holidays to retrieve holidays within a date range.

How to install

Prerequisites: install Python and pip, or install Docker if you prefer running the server in a container.

Install the Odoo MCP package globally so you can run the server locally.

pip install odoo-mcp

Run the MCP server locally using Python in module mode. This starts a server instance that you can connect to from your MCP client.

python -m odoo_mcp

If you prefer using the MCP development tooling to run the server, you can launch it with the development command tailored for your setup.

mcp dev odoo_mcp/server.py

If you need extra dependencies for development, you can add them to the start command.

mcp dev odoo_mcp/server.py --with pandas --with numpy

Example configurations for running the MCP server

Choose either a local stdio setup or a Docker-based deployment. The following examples show explicit configurations you can reuse.

{
  "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 deployment shows how to run the MCP server in a container with the required environment variables.

{
  "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"
      }
    }
  }
}

Configuration and security notes

Configure the connection to your Odoo instance using either the environment variables or a configuration file. Ensure that the Odoo URL, database name, and credentials are kept secure and not exposed in client-side code. Use SSL/TLS whenever possible and keep credentials rotated regularly.

Environment variables you may set in your runtime environment include ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_PASSWORD, ODOO_TIMEOUT, and ODOO_VERIFY_SSL. When using a proxy, set HTTP_PROXY accordingly.

Examples of available tools in this MCP server

  • execute_method: Run a specific method on an Odoo model. You provide the model name, method name, and optional positional or keyword arguments. The result includes the method output and a success indicator.

  • search_employee: Find employees by name with an optional limit on results. Returns a list of matching names and IDs along with a success indicator.

  • search_holidays: Retrieve holidays within a date range, optionally filtered by a specific employee. Returns a list of holidays and a success indicator.

Available tools

execute_method

Execute a custom method on an Odoo model by specifying the model name, method name, and optional positional and keyword arguments. Returns a dictionary with the method result and a success indicator.

search_employee

Search for employees by name with an optional limit on results. Returns a structured object containing success, matching employee names and IDs, and any error message.

search_holidays

Search for holidays within a given date range, optionally filtered by employee. Returns a structured object with success, holidays found, and any error message.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational