odoo-mcp — Claude Code MCP server: setup and tools
Connects Claude Code and other MCP clients to Odoo 18 over stdio for CRM, sales, accounting, projects, support, and stock tasks.
claude mcp add --env ODOO_URL=<ODOO_URL> --env ODOO_DB=<ODOO_DB> --env ODOO_USERNAME=<ODOO_USERNAME> --env ODOO_PASSWORD=<ODOO_PASSWORD> --env ODOO_MCP_DEFAULT_LIMIT=<ODOO_MCP_DEFAULT_LIMIT> --transport stdio odoo-mcp -- uvx odoo-18-mcp-serverWhat odoo-mcp does
odoo-mcp exposes Odoo 18 through an MCP server that communicates over stdio. An agent can search and update records, create quotations, purchase orders, vendor bills, tasks, helpdesk tickets, calendar events, and contract lines. It also provides model schemas, record summaries, stock details, and instance capability checks.
Set ODOO_URL, ODOO_DB, ODOO_USERNAME, and ODOO_PASSWORD before starting the server. MCP clients launch it with uvx odoo-18-mcp-server. Payloads are checked with Pydantic, model access follows an allowlist, sensitive write fields are restricted, and record deletion through unlink is blocked.
Tool arguments must sit inside a top-level payload object; leaving it out causes validation to fail. Some actions depend on the matching Odoo 18 apps or modules, so the connected instance determines which business operations can run.
What it helps with
- find customers and vendors by contact details
- create and confirm sales orders
- register invoice payments
- schedule tasks and follow-up activities
- inspect Odoo models and instance capabilities
Example prompts for the agent
- Find the partner matching this email in Odoo and return a short business summary.
- Create a quotation with these product lines, then leave it unconfirmed for review.
- List pending activities for this assignee and create a task in the selected project.
How to install odoo-mcp
Platform CLI
claude mcp add --env ODOO_URL=<ODOO_URL> --env ODOO_DB=<ODOO_DB> --env ODOO_USERNAME=<ODOO_USERNAME> --env ODOO_PASSWORD=<ODOO_PASSWORD> --env ODOO_MCP_DEFAULT_LIMIT=<ODOO_MCP_DEFAULT_LIMIT> --transport stdio odoo-mcp -- uvx odoo-18-mcp-serverReplace <…> with your own values. 1 more environment variable is in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from odoo-18-mcp-server <command>
Platform CLI
codex mcp add odoo-mcp --env ODOO_URL=<ODOO_URL> --env ODOO_DB=<ODOO_DB> --env ODOO_USERNAME=<ODOO_USERNAME> --env ODOO_PASSWORD=<ODOO_PASSWORD> --env ODOO_MCP_DEFAULT_LIMIT=<ODOO_MCP_DEFAULT_LIMIT> -- uvx odoo-18-mcp-serverReplace <…> with your own values. 1 more environment variable is in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from odoo-18-mcp-server <command>
Config file
{
"mcpServers": {
"odoo-mcp": {
"command": "uvx",
"args": [
"odoo-18-mcp-server"
],
"env": {
"ODOO_URL": "<ODOO_URL>",
"ODOO_DB": "<ODOO_DB>",
"ODOO_USERNAME": "<ODOO_USERNAME>",
"ODOO_PASSWORD": "<ODOO_PASSWORD>",
"ODOO_MCP_DEFAULT_LIMIT": "<ODOO_MCP_DEFAULT_LIMIT>"
}
}
}
}Replace <…> with your own values. 1 more environment variable is in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from odoo-18-mcp-server <command>
Config file
{
"servers": {
"odoo-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"odoo-18-mcp-server"
],
"env": {
"ODOO_URL": "<ODOO_URL>",
"ODOO_DB": "<ODOO_DB>",
"ODOO_USERNAME": "<ODOO_USERNAME>",
"ODOO_PASSWORD": "<ODOO_PASSWORD>",
"ODOO_MCP_DEFAULT_LIMIT": "<ODOO_MCP_DEFAULT_LIMIT>"
}
}
}
}Replace <…> with your own values. 1 more environment variable is in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from odoo-18-mcp-server <command>
Platform CLI
gemini mcp add -e ODOO_URL=<ODOO_URL> -e ODOO_DB=<ODOO_DB> -e ODOO_USERNAME=<ODOO_USERNAME> -e ODOO_PASSWORD=<ODOO_PASSWORD> -e ODOO_MCP_DEFAULT_LIMIT=<ODOO_MCP_DEFAULT_LIMIT> odoo-mcp uvx odoo-18-mcp-serverReplace <…> with your own values. 1 more environment variable is in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from odoo-18-mcp-server <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about odoo-mcp
How do I install odoo-mcp in Claude Code?
Run `claude mcp add odoo-mcp -e ODOO_URL=<ODOO_URL> -e ODOO_DB=<ODOO_DB> -e ODOO_USERNAME=<ODOO_USERNAME> -e ODOO_PASSWORD=<ODOO_PASSWORD> -- uvx odoo-18-mcp-server`.
What does odoo-mcp do?
It gives an MCP client access to Odoo 18 operations such as record search and updates, sales, purchasing, invoices, projects, support, stock, and model inspection.
What does odoo-mcp need from an Odoo instance?
Configure the Odoo URL, database, username, and password through ODOO_URL, ODOO_DB, ODOO_USERNAME, and ODOO_PASSWORD. Some tools also require the related Odoo 18 apps or modules.