home / mcp / inventory analysis mcp server

Inventory Analysis MCP Server

Provides inventory analysis, forecasting, and reporting by connecting to Odoo ERP for stock, demand, ABC/XYZ, turnover, and aging insights.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "accountsalmar-odoo-inventory-mcp": {
      "command": "python",
      "args": [
        "-m",
        "src.server"
      ],
      "env": {
        "ODOO_DB": "live",
        "ODOO_URL": "https://your-odoo-domain",
        "ODOO_API_KEY": "YOUR_API_KEY",
        "ODOO_USERNAME": "[email protected]"
      }
    }
  }
}

You will run the Inventory Analysis MCP Server to connect to your Odoo ERP and obtain comprehensive inventory analysis, forecasting, and reporting. This MCP server centralizes stock insights, demand forecasting, ABC/XYZ classifications, and turnover and aging analyses, enabling proactive stock management and smarter purchasing decisions.

How to use

You interact with the Inventory Analysis MCP Server through an MCP client that supports standard MCP interactions. You can request current stock levels, reorder alerts, and stock summaries, then run demand forecasts, ABC/XYZ analyses, and turnover or aging reports. Use natural language prompts to ask for specific insights, such as showing fast-moving items, forecasting demand for a product, or identifying aging stock across your warehouses.

How to install

Prerequisites: Ensure you have Python 3.10 or higher and access to an Odoo instance (v14+). You may also use a local MCP runner like uvx if you prefer a local orchestration tool.

Step 1. Prepare the server files - Clone or download the Inventory Analysis MCP Server package to your development machine.

Step 2. Install dependencies
- Open a terminal or command prompt and navigate to the project directory, then install the package in editable mode:
```
cd inventory_mcp_server
pip install -e .
```
- Alternatively, install dependencies from a requirements file if provided:
```
pip install -r requirements.txt

Step 3. Configure Odoo connection - Copy the environment example and customize credentials: `` cp .env.example .env `` - Edit the .env file to set up your Odoo connection details (URL, database, user, and API key).

Step 4. Run the MCP server using the provided runtimes - You can start the MCP server using Python directly:

{
  "type": "stdio",
  "name": "inventory_analysis",
  "command": "python",
  "args": ["-m", "src.server"],
  "cwd": "C:/YourPath/inventory_mcp_server",
  "env": {
    "ODOO_URL": "https://your-odoo-domain",
    "ODOO_DB": "live",
    "ODOO_USERNAME": "[email protected]",
    "ODOO_API_KEY": "YOUR_API_KEY"
  }
}

- Or run with uv to manage the process:

{
  "type": "stdio",
  "name": "inventory_analysis",
  "command": "uv",
  "args": [
    "run",
    "--directory",
    "C:/YourPath/inventory_mcp_server",
    "python",
    "-m",
    "src.server"
  ],
  "env": {
    "ODOO_URL": "https://your-odoo-domain",
    "ODOO_DB": "live",
    "ODOO_USERNAME": "[email protected]",
    "ODOO_API_KEY": "YOUR_API_KEY"
  }
}

Additional configuration and usage notes

Environment variables shown in the examples include: - ODOO_URL: The URL of your Odoo instance - ODOO_DB: The Odoo database name - ODOO_USERNAME: The username or email for authentication - ODOO_API_KEY: The API key for authentication (required)

If you use a GUI-based MCP client or an integration platform, ensure the client can pass environment variables to the running process and that the working directory matches where the server module resides.

Notes and troubleshooting

- Ensure your Odoo instance is accessible from the machine running the MCP server and that the API key is valid.

- If the server fails to start, check that the Python environment has the required dependencies and that the working directory path is correct.

Available tools

get_stock_levels

Retrieve current stock levels with status classification such as out of stock, critical, low, normal, and overstock.

get_reorder_alerts

Get products that require replenishment based on stock levels and defined reorder rules.

get_stock_summary

Provide stock summary statistics and overview.

forecast_demand

Generate demand forecasts using multiple forecasting methods.

get_forecast_summary

Return summary statistics for forecast results.

analyze_abc_xyz

Perform ABC/XYZ classification on inventory items.

get_abc_xyz_summary

Provide a summary of ABC/XYZ classifications.

analyze_turnover

Analyze inventory turnover including turnover ratio and classification.

analyze_aging

Analyze inventory aging across defined age buckets and assess obsolescence risk.

get_turnover_summary

Return turnover analysis summary.

get_aging_summary

Return aging analysis summary.

get_slow_moving_items

Identify slow-moving or dead stock items.

get_high_risk_aging_items

Identify items with high obsolescence risk.