Exposes Odoo data sources and actions as MCP endpoints for querying partners, quotations, sales orders, and invoices via LLMs.
Configuration
View docs{
"mcpServers": {
"alberto-re-mcp-server-odoo": {
"command": "uvx",
"args": [
"mcp-server-odoo"
],
"env": {
"HOST": "127.0.0.1",
"LOG_LEVEL": "INFO",
"ODOO_VERSION": "18",
"ODOO_BASE_URL": "http://localhost:8069",
"ODOO_DATABASE": "mydatabase",
"ODOO_PASSWORD": "admin",
"ODOO_USERNAME": "admin",
"EXT_DIRECTORIES": "/your/custom/path",
"TOOLS_TO_REGISTER": "search_partners,search_quotations,search_sales_orders,search_customer_invoices",
"TRANSPORT_PROTOCOL": "stdio"
}
}
}
}The MCP server for Odoo lets you connect Odoo data and actions to large language models, enabling you to query and manipulate your Odoo data through natural language in a safe, extensible way. It exposes a set of tools you can register with an MCP client and runs locally via a streamlined, scriptable workflow.
You use this MCP server by running it locally and connecting an MCP client that supports the MCP transport protocol. The server runs in stdio mode for local connections, and you expose a curated list of tools to your MCP client using the TOOLS_TO_REGISTER setting. You provide your Odoo instance details through environment variables so the server can authenticate and query Odoo.
Prerequisites include having uv installed on your system.
uv tool install --from git+https://github.com/alberto-re/mcp-server-odoo mcp-server-odooStart the MCP server in stdio mode using the runtime runner.
uvx mcp-server-odooIf you prefer to run the MCP server inside a container, you can build and run a Docker image.
docker build -t mcp-server-odoo .
```
```
docker run --rm --env-file /path/to/env/file -p 8000:8000 mcp-server-odooThis server is designed to be connected with MCP clients such as Claude Desktop or mcphost. You configure the client to load the server by providing the appropriate command, arguments, and environment variables.
The server reads environment variables to connect to your Odoo instance and to configure access and tools. The required variables are ODOO_BASE_URL, ODOO_DATABASE, ODOO_USERNAME, ODOO_PASSWORD, ODOO_VERSION, and TRANSPORT_PROTOCOL. You can optionally set LOG_LEVEL, HOST, and EXT_DIRECTORIES to customize behavior.
Query and retrieve partner records from Odoo to use in conversations.
Fetch quotations from Odoo to present quotes and related details.
Retrieve sales orders from Odoo for status, items, and customer information.
Access customer invoice data from Odoo for accounting queries.