MCP Server for Odoo

MCP server for Odoo: the agent reads, creates and updates ERP records, searches data and calls business operations within Odoo permissions

MCP server

High risk

We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.

Why this level

  • Creates, updates and deletes records in an ERP database
  • Requires an API key or username and password for the Odoo instance
  • YOLO mode and model method calls bypass security checks
All reasons and checks

ivnvxd/mcp-server-odoo

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/mcp-server-for-odoo

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

This entry is high risk, so there is no one-click install. Review the code and add the config by hand.

Run in a terminal

claude mcp add --transport stdio --env 'ODOO_URL=<ODOO_URL value>' odoo -- uvx mcp-server-odoo

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "env": {
        "ODOO_URL": "<ODOO_URL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.cursor/mcp.json, for all projects

{
  "mcpServers": {
    "odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "env": {
        "ODOO_URL": "<ODOO_URL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

code --add-mcp '{"name":"odoo","type":"stdio","command":"uvx","args":["mcp-server-odoo"],"env":{"ODOO_URL":"<ODOO_URL value>"}}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "odoo": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "env": {
        "ODOO_URL": "<ODOO_URL value>"
      }
    }
  }
}

If the file already exists, add the server inside the servers key.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

codex mcp add odoo --env 'ODOO_URL=<ODOO_URL value>' -- uvx mcp-server-odoo

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.odoo]
command = "uvx"
args = ["mcp-server-odoo"]
env = { ODOO_URL = "<ODOO_URL value>" }

If the file already exists, append the block to the end.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

gemini mcp add -s user -e 'ODOO_URL=<ODOO_URL value>' odoo uvx mcp-server-odoo

Or add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "env": {
        "ODOO_URL": "<ODOO_URL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/devin/mcp_config.json, for all projects

{
  "mcpServers": {
    "odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "env": {
        "ODOO_URL": "<ODOO_URL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Formerly Windsurf.

Add to the file cline_mcp_settings.json, for all projects

{
  "mcpServers": {
    "odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "env": {
        "ODOO_URL": "<ODOO_URL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .roo/mcp.json, in the project

{
  "mcpServers": {
    "odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "env": {
        "ODOO_URL": "<ODOO_URL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

A fork of Roo Code, same .roo folders.

Add to the file opencode.json, in the project

{
  "mcp": {
    "odoo": {
      "type": "local",
      "command": [
        "uvx",
        "mcp-server-odoo"
      ],
      "environment": {
        "ODOO_URL": "<ODOO_URL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcp key.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/zed/settings.json, for all projects

{
  "context_servers": {
    "odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "env": {
        "ODOO_URL": "<ODOO_URL value>"
      }
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .codeassistant/mcp.json, in the project

{
  "mcpServers": {
    "odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "env": {
        "ODOO_URL": "<ODOO_URL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

ODOO_URLrequired
ODOO_API_KEYsecret, optional
ODOO_DBoptional

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

You will need: uv

Checked against the repository on Sep 25, 2026, commit 4c28709.

Text for your agent

Add an odoo server to your MCP client config with command uvx and arg mcp-server-odoo. In the env block set ODOO_URL, ODOO_API_KEY and, if needed, ODOO_DB.

Other ways from the author
{
  "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"
      }
    }
  }
}

Runs via uvx from PyPI. The server runs on your machine and needs uv.

This is third-party code. Review the repository files before installing.

What it does

The server gives an agent access to an Odoo ERP system through standard resources and tools. The agent searches and retrieves any records, from customers and products to invoices, creates new records with field and permission validation, updates and deletes data respecting model permissions, and counts records by criteria. It offers server-side aggregation, an opt-in call of public business methods, work with attachments and binary files via resource URIs, and smart field selection per model. It installs via uvx from PyPI or runs in docker.

Who it is for. For developers, sales and finance staff who work with data in Odoo.

Good fit when

  • You need to search and retrieve Odoo records from an agent
  • You need to create or update ERP data with permission checks
  • You need a summary or aggregation over records on the server side

Not a fit when

  • You have no access to an Odoo instance or user permissions
  • You do not want to give an agent write access to a live ERP database
  • You need read-only preview rather than mutating operations

Example request

Find unpaid invoices in Odoo for the last month and show totals by customer

Limitations

You need access to an Odoo instance: ODOO_URL is required, and login uses either ODOO_API_KEY or the pair ODOO_USER and ODOO_PASSWORD. Production mode needs the Odoo MCP module and version 16 or newer; the YOLO mode for testing bypasses security checks and suits demos only. Calling model methods is enabled separately and requires YOLO, which is a dangerous option. The server runs on your machine, not on the Odoo server.

How to disable. Remove the odoo entry from your MCP client config, stop the docker container if running, and revoke the API key in Odoo settings.

MCP

Transport
stdio
Authentication
API key
Environment variables
Environment variables
ODOO_URL
required
URL of the Odoo instance
ODOO_API_KEY
secret
API key for login, an alternative to the username and password pair
ODOO_USER
Username when logging in without an API key
ODOO_PASSWORD
secret
Password when logging in without an API key
ODOO_DB
Database name when it is not auto-detected

Security check

  • Creates, updates and deletes records in an ERP database
  • Requires an API key or username and password for the Odoo instance
  • YOLO mode and model method calls bypass security checks

README in short

The README describes a server that gives assistants access to Odoo ERP: search, read, create, update and delete records, counting, field inspection, server-side aggregation, an optional business method call and attachment handling. It shows UV install and configs for Claude Desktop, Claude Code, Cursor and VS Code via uvx mcp-server-odoo, plus a docker run. It includes a variable table: ODOO_URL, ODOO_API_KEY, ODOO_USER, ODOO_PASSWORD, ODOO_DB and others. The YOLO test mode is documented separately. MPL-2.0 licensed.

FAQ

What is needed on the Odoo side?

Production mode needs the Odoo MCP module and version 16 or newer. YOLO mode works without the module but bypasses security checks and suits testing only.

How do I configure login?

ODOO_URL is required. Login uses either ODOO_API_KEY or the pair ODOO_USER and ODOO_PASSWORD. Set ODOO_DB when the database is not auto-detected.

Official

Salesforce's official DX MCP server: work with orgs, metadata, data, users and Apex tests from your agent

MCP serverHigh risk483Repository stars
Official

Yandex's official skill set: catalog, prices, stock, orders, storefront and a weekly checkup for a Yandex Kit store, through Claude Code or Codex

PluginHigh riskRussian stackNo VPN needed28Repository stars
Editors’ pick

Full 65-operation YouGile API coverage with configurable permissions, write confirmation and a shared company rate limit

MCP serverHigh riskRussian stackNo VPN needed

Bitrix24 portal MCP server

MCP-сервер портала Битрикс24

Official

Bitrix24's official per-portal MCP: an external agent uses OAuth or a token to read and change tasks, deals, meetings and mail

MCP serverHigh riskRussian stackNo VPN needed
Foxx AIMCP Server for Odoo

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.