Odoo MCP Unified Server

Provides a unified MCP server for Odoo with dual transport (stdio and SSE) and a suite of tools to access Odoo models, sales, procurement, inventory, and accounting.
  • python

0

GitHub Stars

python

Language

7 months ago

First Indexed

3 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": {
    "golfamigo-odoomcp": {
      "command": "python",
      "args": [
        "run_server.py"
      ],
      "env": {
        "HOST": "0.0.0.0",
        "PORT": "8000",
        "ODOO_DB": "your_database",
        "ODOO_URL": "https://your-odoo.example",
        "LOG_LEVEL": "INFO",
        "ODOO_TIMEOUT": "60",
        "MCP_TRANSPORT": "stdio",
        "ODOO_PASSWORD": "your_password",
        "ODOO_USERNAME": "your_username",
        "ODOO_VERIFY_SSL": "false"
      }
    }
  }
}

You run a unified MCP server for Odoo that connects to your Odoo instance, exposes a suite of business tools, and supports dual transport modes (stdio for local/desktop use and SSE for web deployments). This server lets you execute Odoo methods, search and create records, and analyze sales, procurement, inventory, and accounting data through a clean, type-safe configuration.

How to use

You interact with the server through an MCP client. The server supports two transport modes: stdio for local or desktop integrations and SSE for web deployments. You can perform core actions like executing any Odoo method, searching and creating records, and running built-in analyses for sales, purchases, inventory, and accounting. To start, run the server in the mode you prefer, then point your MCP client at the corresponding transport endpoint. In SSE mode, your client connects to the SSE endpoint exposed by the server and streams responses as events.

How to install

# Prerequisites
- Python 3.8+ installed
- pip available on your system

# For Claude Desktop style (stdio) development
# 1) Create a virtual environment
cd E:\gitHub\odoo-mcp-unified
python -m venv venv

# 2) Activate the virtual environment
venv\Scripts\activate

# 3) Install dependencies
pip install -r requirements.txt

# 4) Install the package in editable mode
pip install -e .

# For SSE (web deployment) you will configure MCP_TRANSPORT in environment vars

Prereqs: you will need Python and a compatible MCP client. The server can run locally in stdio mode or be deployed with SSE for web hosting. After installation, you configure the server and start it with the appropriate environment variables.

Additional configuration and run options

Configure and start in stdio mode for desktop integrations by running the server with Python and pointing to the runtime script. See the environment variable details below for exact values you should provide.

Configure and run in SSE mode for web deployments by setting the transport to sse and exposing a port. This mode does not require a Supergateway.

Environment and startup notes

Set or export the following environment variables to connect to your Odoo instance and control server behavior.

Quick start examples

# Example: stdio mode (local desktop)
export ODOO_URL=https://your-odoo.example
export ODOO_DB=your_database
export ODOO_USERNAME=your_username
export ODOO_PASSWORD=your_password
export MCP_TRANSPORT=stdio

python run_server.py
# Example: SSE mode (web deployment)
export ODOO_URL=https://your-odoo.example
export ODOO_DB=your_database
export ODOO_USERNAME=your_username
export ODOO_PASSWORD=your_password
export MCP_TRANSPORT=sse
export PORT=8000

python run_server.py
# Access: http://localhost:8000/sse

Security and maintenance

Keep credentials in secure storage and limit access to the server. Use TLS for Odoo_URL connections and consider rotating credentials periodically. You can adjust logging with the provided environment variables to balance observability and performance.

Project structure and components

The server bundles core tools for executing Odoo methods and analyzing business data, plus a configuration system that validates settings on startup.

Available tools

execute_method

Execute any Odoo method with specified model, method name, and arguments.

search_employee

Search for employees in Odoo.

search_holidays

Search for holidays/time-off records in Odoo.

search_sales_orders

Search sales orders in Odoo.

create_sales_order

Create new sales orders in Odoo.

analyze_sales_performance

Analyze sales performance with trends and aggregates.

search_purchase_orders

Search purchase orders in Odoo.

create_purchase_order

Create new purchase orders in Odoo.

analyze_supplier_performance

Analyze supplier on-time delivery and performance.

get_stock_levels

Get current stock levels from inventory.

predict_stock_needs

Predict future stock needs.

get_financial_summary

Get a financial overview.

analyze_receivables

Analyze accounts receivable.

odoo_resources

List and access Odoo models and records via resource endpoints.

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