- Odoo Mcp Server
Odoo Mcp Server
odoo-mcp-pro
Talk to your Odoo ERP using natural language.
Search, create, update, and manage records -- just ask.
Free Beta -- odoo-mcp-pro is currently free during the beta period. Sign up at pantalytics.com
The idea
Odoo is powerful. AI is powerful. Together they're better.
odoo-mcp-pro connects your AI assistant to your Odoo ERP, so you can use natural language as an interface to your business data. Not to replace Odoo's UI -- but to give you a second interface that's faster for many tasks. Works with Claude, ChatGPT, Cursor, Windsurf, and any other MCP-compatible AI tool.
"Show me all unpaid invoices over 5,000 EUR from Q4" -- your AI queries your Odoo instance directly and returns the results.
Use the interface that fits the task. Complex configuration? Use the Odoo UI. Quick data lookup, bulk questions, or creating records on the fly? Just ask your AI.
What you can do
- "Find all contacts in Amsterdam with open quotations"
- "Create a lead for Acme Corp, expected revenue 50k EUR"
- "Which sales orders from last month don't have a delivery yet?"
- "What fields does the sale.order model have?"
- "Update the expected closing date on opportunity #42 to next Friday"
Works with any Odoo model -- sales, invoices, contacts, inventory, CRM, HR, you name it.
Get started
Hosted (recommended)
We run the server for you. No installation, no Docker, no infrastructure.
- Sign up at pantalytics.com
- Log in and enter your Odoo URL + API key (how to generate one)
- Add the MCP server to your AI tool (Claude, ChatGPT, Cursor, etc.)
- Start asking questions
Your data stays in Odoo -- the server is a stateless proxy. API keys are encrypted at rest.
Self-hosted
Deploy on your own infrastructure with Docker Compose, Postgres, Zitadel, and Caddy. Full control, same features.
See SETUP.md for the deployment guide.
How it works
odoo-mcp-pro is an MCP server -- an open standard that lets AI assistants call external tools. It exposes 6 tools that your AI can call based on your questions:
| Tool | What it does |
|---|---|
search_records | Search any model with domain filters, sorting, pagination |
get_record | Fetch a specific record by ID with smart field selection |
list_models | Discover available Odoo models |
create_record | Create a new record in any model |
update_record | Update fields on an existing record |
delete_record | Delete a record |
Supports Odoo 14-19+ -- uses the JSON/2 API for Odoo 19+ and XML-RPC for older versions. The right protocol is selected automatically.
Security
- Odoo is the boss. All data, permissions, and business logic live in Odoo. Each user's API key determines what they can see and do -- ACLs and record rules apply as normal.
- Stateless proxy. The MCP server doesn't store or cache your business data.
- API keys encrypted at rest using AES-128 (Fernet). Never exposed to the AI, the browser, or logs.
- You stay in control. Revoke your API key in Odoo at any time to instantly cut off access.
Development
uv venv --python 3.10
source .venv/bin/activate
uv pip install -e ".[dev]"
pytest tests/ -q
ruff check . && ruff format .
See architecture.md for technical details and CLAUDE.md for coding conventions.
Contributing
Contributions are welcome. Fork the repo, create a feature branch, run pytest tests/ and ruff check ., then open a PR.
FAQ
Which Odoo versions are supported? Odoo 14-19+. The server auto-detects whether to use JSON/2 (Odoo 19+) or XML-RPC (14-18). No configuration needed.
Does it work on my phone? Yes -- the hosted version works on Claude mobile (iOS/Android), Claude.ai in any browser, Claude Desktop, Claude Code, and ChatGPT. Local installs (STDIO) only work on the machine where they're installed.
Is my data safe? Your data stays in Odoo. The MCP server is a stateless proxy -- it doesn't store or cache business data. API keys are encrypted at rest with AES-128 (Fernet). Each user's Odoo permissions apply: you can only see and do what your Odoo role allows.
I get "Access denied" on all models This usually means your Odoo API key doesn't have the right permissions. Try:
- Regenerate your API key in Odoo (Settings > Users > API Keys) and update it in
/admin/setup - Make sure your Odoo user has at least read access to the models you want to query
- If you're on Odoo.sh, verify your subscription plan supports the JSON/2 API
I get "Authentication required" or "invalid_token" This means the OAuth connection between your AI tool and the MCP server failed. Try disconnecting and reconnecting the MCP server in your AI tool's settings.
Do I need to set ODOO_DB? Only if you self-host Odoo with multiple databases. Odoo.sh and Odoo Online don't need it -- the hostname determines the database.
License
PolyForm Noncommercial 1.0.0 -- free for personal and noncommercial use. Commercial use requires a separate license from Pantalytics.
For Odoo Implementation Partners
odoo-mcp-pro is licensed under PolyForm Noncommercial 1.0.0. Using this software to provide commercial services to your clients -- including hosting, reselling, bundling, or offering it as part of your Odoo implementation services -- is a violation of the license and will be enforced. We actively monitor for unauthorized commercial use and will pursue legal action where necessary.
Want to offer AI-powered Odoo to your clients? We run a Partner Program with a referral commission. You recommend odoo-mcp-pro to your end users, they sign up through your referral link, and you earn a recurring fee. No hosting or maintenance on your side.
Interested? Contact rutger@pantalytics.com for details.
Built by Pantalytics
odoo-mcp-pro is built and maintained by Pantalytics, an Odoo implementation partner based in Utrecht, Netherlands.
Originally forked from mcp-server-odoo by Andrey Ivanov (originally MPL-2.0).
Odoo is a registered trademark of Odoo S.A. The MCP logo is used under the MIT License. This project is not affiliated with or endorsed by Odoo S.A. or Anthropic.