Making `TOOLS_TO_REGISTER` a mandatory setting is a real design decision: there is no default surface to forget to lock down, and adding a capability is a deliberate edit to a config value. Paired with runtime-loaded external tool directories, that means you shape the server around your Odoo rather than around what the author decided to ship. The author is upfront that this is very early development, so expect rough edges.
An extensible MCP server between Odoo and LLMs. Its defining choice is that the tool surface is not fixed: `TOOLS_TO_REGISTER` is a required setting listing exactly which tools to expose, drawn from the ones shipped in the project or from your own files loaded at runtime. The author describes the project as in very early development.
- A tool set you choose rather than inherit — nothing is exposed unless you name it in `TOOLS_TO_REGISTER`, so a read-only deployment simply never registers anything else
- Tools bundled with the project covering common Odoo objects, with the documented example registering `search_partners`, `search_quotations`, `search_sales_orders` and `search_customer_invoices`
- Runtime extension: `EXT_DIRECTORIES` takes a list of paths to search for additional tools loaded at startup, so a custom search against your own Odoo model does not require forking the server
- Transport chosen per deployment — `stdio` for local-only use, or `sse` and `streamable-http` for remote, with `HOST` controlling which interfaces it listens on
- A Dockerfile for running it as a container, with the note that a container needs an HTTP-based transport and a bind address of all interfaces to be reachable
An Odoo instance and an account on it. Five required environment variables — `ODOO_BASE_URL`, `ODOO_DATABASE`, `ODOO_USERNAME`, `ODOO_PASSWORD` (a password or an API key) and `ODOO_VERSION` for the major version of your server — plus `TRANSPORT_PROTOCOL` and `TOOLS_TO_REGISTER`, both of which are also required. `LOG_LEVEL`, `HOST` and `EXT_DIRECTORIES` are optional. `uv` is the only prerequisite: install with `uv tool install --from git+https://github.com/alberto-re/mcp-server-odoo mcp-server-odoo` and run it with `uvx mcp-server-odoo`, or build the included Dockerfile.
One command plus a key — uv tool install --from git+https://github.com/alberto-re/mcp-server-odoo mcp-server-odoo, then supply credentials
