Skip to content

pantalytics/odoo-mcp-pro

Repository files navigation

Odoo      Model Context Protocol

odoo-mcp-pro

AI connector for Odoo ERP -- talk to your business data using natural language.
Search, create, update, and manage records -- just ask.

License: Elastic 2.0 Python 3.10+ MCP Compatible Odoo 14-19+ OAuth 2.1

Skip the setup. The hosted version is up and running in 5 minutes -- with automatic updates, managed OAuth, and encrypted API keys. Start at pantalytics.com →

Odoo connected to Claude, OpenAI, Gemini, Copilot, Mistral via MCP


The idea

Odoo is powerful. AI is powerful. Together they're better.

odoo-mcp-pro is an AI connector for Odoo that uses MCP (Model Context Protocol) -- an open standard that lets AI assistants talk to external systems. It 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.

Demo of odoo-mcp-pro

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.

Want to try it now? Skip the setup -- the hosted version is connected to your Odoo in under 5 minutes. Start at pantalytics.com →

Get started

Hosted (recommended)

The fastest and safest way to get started. We run the server for you -- sign up, paste your Odoo URL + API key, done.

  • Up and running in 5 minutes. No install, no Docker, no infrastructure. Works with Claude, ChatGPT, Cursor, Windsurf, and any MCP-compatible AI tool.
  • Always up to date. Security patches, Odoo-version compatibility, and new MCP features ship automatically -- no upgrade work on your side.
  • Safer by default. Encrypted API keys (AES-128), managed OAuth 2.1, continuous monitoring, European infrastructure. We handle the boring-but-critical stuff so you don't have to.
  1. Sign up at pantalytics.com
  2. Log in and enter your Odoo URL + API key (how to generate one)
  3. Add the MCP server to your AI tool (Claude, ChatGPT, Cursor, etc.)
  4. Start asking questions

Your data stays in Odoo -- the server is a stateless proxy. API keys are encrypted at rest.

Start at pantalytics.com →

Self-hosted

Run on your own machine. Single-tenant only: one Odoo instance, configured via env vars. Authentication is your Odoo API key -- no OAuth, no user management, no admin UI.

# Install
pip install "mcp-server-odoo @ git+https://github.com/pantalytics/odoo-mcp-pro.git"

# Run (stdio mode, for Claude Desktop / Claude Code)
ODOO_URL=https://mycompany.odoo.com ODOO_API_KEY=your_key python -m mcp_server_odoo

# Run (HTTP mode, for remote access from one trusted network)
ODOO_URL=https://mycompany.odoo.com ODOO_API_KEY=your_key \
  python -m mcp_server_odoo --transport streamable-http --host 0.0.0.0 --port 8000

HTTP mode has no built-in authentication -- expose it behind a reverse proxy or restrict at the network level.

Or add to your Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "odoo": {
      "command": "python",
      "args": ["-m", "mcp_server_odoo"],
      "env": {
        "ODOO_URL": "https://mycompany.odoo.com",
        "ODOO_API_KEY": "your_api_key_here"
      }
    }
  }
}

Need multi-tenant, per-user connections, OAuth, or an admin UI? That's SaaS territory. The hosted version is faster to set up, auto-updates, and handles security patches for you -- and costs less than the time you'd spend self-hosting. These features live in a separate commercial package that overlays on top of this open-core server.

How it works

odoo-mcp-pro is an Odoo connector that implements MCP (Model Context Protocol) -- an open standard that lets AI assistants call external tools. It exposes the following 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
list_resource_templates Discover available resource URI templates
create_record / create_records Create one or multiple records
update_record / update_records Update one or multiple records
delete_record / delete_records Delete one or multiple records
import_records Idempotent upsert via external IDs (same as Odoo CSV import)
server_info Server version, connection status

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.

Prefer managed security? The hosted version handles patches, OAuth token rotation, and incident monitoring -- your data still stays in Odoo, we just run the proxy for you.

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:

  1. Regenerate your API key in Odoo (Settings > Users > API Keys) and update it wherever you configured it (hosted: /admin/setup; self-hosted: your ODOO_API_KEY env var)
  2. Make sure your Odoo user has at least read access to the models you want to query
  3. If you're on Odoo.sh, verify your subscription plan supports the JSON/2 API

I get "Authentication required" or "invalid_token" (hosted version) 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. Self-hosted installs don't use OAuth -- they authenticate with your Odoo API key directly.

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.

Should I use hosted or self-hosted? Hosted, unless you have a strong reason not to. Hosted is running in 5 minutes, auto-updates with every Odoo release, and has managed OAuth + encrypted API keys. Self-hosting is single-tenant only (one Odoo instance, API key auth, no admin UI), and you're on the hook for patches and security. Start with hosted at pantalytics.com →

License

Elastic License 2.0. In plain terms:

  • You may use, copy, modify, and distribute this software -- including for your own commercial purposes (running it inside your own company, your own Odoo instance, your own projects).
  • You may not offer it to third parties as a hosted or managed service that provides them with access to a substantial set of its features -- that's what Pantalytics does, and what the license protects.
  • You may not remove license notices or circumvent license key functionality.

Source-available, not OSI-open-source. See the full text in LICENSE.

For Odoo Implementation Partners

Want to offer AI-powered Odoo to your clients? Running your own hosted version of odoo-mcp-pro for clients is not permitted under the Elastic License 2.0. Instead, 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.

Releases

No releases published

Packages

 
 
 

Contributors