← Back to Blog
Engineering by

Connecting AI Agents to Odoo with MCP: A Practical Overview

Connecting AI Agents to Odoo with MCP: A Practical Overview

Several MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… implementations exist for connecting AI assistants to Odoo. The tooling is improving fast. Authentication is the hardest part to get right.

Connecting an AI agentAn AI system that autonomously perceives its environment, reasons about goals, and takes actions to achieve them — often through multiple steps and tool calls. Unlike a simple chatbot, an agent can… to an ERP system like Odoo raises a concrete question: how does the agent access data, and who controls that access? The answer has architectural consequences that compound over time.

The Model Context Protocol (MCP), published by Anthropic in late 2024, addresses part of this problem. It standardizes how AI agents discover and call tools: instead of building a custom integration for each agent and each system, developers define a fixed set of capabilities in one place. The agent connects and immediately knows what it can do.

1. What This Actually Looks Like

Before comparing implementations, it helps to be concrete about who would use this and why.

Accountant

Managing invoices through the ChatGPT web UI. A connector links her ChatGPT session to Odoo via MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a…, so she can query outstanding invoices, flag anomalies, or draft follow-up emails without leaving the chat interface.

Helpdesk manager

Listing tickets in Claude to do analysis and create new knowledge articles for recurring cases. Claude reads the ticket data from Odoo, identifies patterns, and drafts the article directly.

Developer

Using Cursor or Claude Code with direct access to Odoo models, schema, and business data to accelerate module development and debugging without switching context.

In all three cases, the AI assistant needs to read from (and sometimes write to) a live Odoo instance, authenticated as a specific user, with appropriate access controls.

2. Solutions Available Today

Several MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… implementations for Odoo exist today. The table below shows what each one is capable of, followed by a detailed breakdown. All information is based on each module’s official documentation and app store listing at the time of writing.

mcpAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a…-server-odoo muk_mcp rag_odoo_mcp_server LLMA neural network trained on vast amounts of text data to understand and generate human language. LLMs use the Transformer architecture and can perform a wide range of tasks — summarization,… MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… (Apexive)
Capabilities
Create, read, update, delete records
Search and filter records
Discover available data models and fields - -
Group by and summarize data - - -
Read and post chatter messages - - -
Extract data from attached documents - - -
Generate dashboards via natural language - - -
No-code tool builder - - -
Administration
Read-only access mode - - -
Audit trail of agent actions - -

mcp-server-odoo (External bridge)

An open-source Python service that runs outside Odoo and communicates via XML-RPC or JSON-RPC. Supports Odoo 16+.

Tools: Exposes 7 operations: search, read, create, update, delete, count records, and modelA mathematical function trained on data that maps inputs to outputs. In ML, a model is the artifact produced after training — it encapsulates learned patterns and is used to make predictions or… field inspection. Output is formatted for LLMA neural network trained on vast amounts of text data to understand and generate human language. LLMs use the Transformer architecture and can perform a wide range of tasks — summarization,… consumption with smart field selection and pagination support.

Auth: API key or username/password via environment variables. An OAuth implementation is under discussion, with a draft PR already opened.

Trade-offs: Independent of Odoo upgrade cycles and can connect to multiple instances simultaneously. But requires separate infrastructure to deploy and maintain. YOLO mode (any version, no permission controls) bypasses all security controls and should never be used in production.


muk_mcp (Odoo module, free)

A third-party Odoo module by MuK IT that exposes MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… Streamable HTTP directly at a /mcp endpoint. No external service required. Available for Odoo 17+.

Tools: Ships with 15 built-in tools: modelA mathematical function trained on data that maps inputs to outputs. In ML, a model is the artifact produced after training — it encapsulates learned patterns and is used to make predictions or… discovery, schema introspection, search, count, grouped aggregation, chatter retrieval, record creation/update/deletion, message posting, and method execution. Custom tools can be added via the backend UI without code deployment.

Auth: Bearer tokens generated per user from their profile settings. ModelA mathematical function trained on data that maps inputs to outputs. In ML, a model is the artifact produced after training — it encapsulates learned patterns and is used to make predictions or…-level scopes can further restrict what each tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language. is allowed to access: specific models and operations (read, write, create, delete) can be whitelisted independently. Includes rate limiting (60 req/min default) and full audit logging.

The broadest set of built-in tools among the implementations reviewed here. The only one with a no-code tool builder.


rag_odoo_mcp_server (Odoo module, paid)

A third-party Odoo module supporting Odoo 15+ across Online, Odoo.sh, and on-premise deployments. Designed specifically around Claude integration with RAGA technique that enhances LLM responses by retrieving relevant documents from an external knowledge base and including them in the prompt context. RAG reduces hallucinations and enables LLMs to…-trained prompts for Odoo interactions.

Tools: Beyond standard record querying, adds document data extraction from attachments and natural language dashboard generation. Supports multi-company environments and simultaneous connections using different API keys.

Auth: Generates two tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language. types from Settings: read-only user tokens and admin tokens (create/edit). The read-only tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language. is a practical safety net for use cases where the agent should only query data, not modify it.

Trade-offs: TokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language. system is coarse: read-only vs full access, with no modelA mathematical function trained on data that maps inputs to outputs. In ML, a model is the artifact produced after training — it encapsulates learned patterns and is used to make predictions or…-level scoping.


LLM MCP by Apexive - ODOO-LLM(Odoo module, free)

A third-party Odoo module, part of Apexive’s LLMA neural network trained on vast amounts of text data to understand and generate human language. LLMs use the Transformer architecture and can perform a wide range of tasks — summarization,… toolkit. Available for Odoo 16 and 18. Works with Claude Desktop, Claude Code, Cursor, and Codex CLI out of the box.

Tools: Automatically exposes all active LLMA neural network trained on vast amounts of text data to understand and generate human language. LLMs use the Transformer architecture and can perform a wide range of tasks — summarization,… tools registered in the system, no manual tool configuration needed. Custom tools can be added via Python decorators. Includes audit trail logging.

Auth: Per-user API keys generated from profile settings, sent as Bearer tokens. Each request executes with that user’s exact Odoo permissions, including record rules and field-level access. Tokens are revocable and support configurable expiration.

The only implementation reviewed here that explicitly documents full Odoo ACL and record rule enforcement as a design guarantee.


For a quick reference on deployment options, versions, and pricing:

Solution Type Odoo version Auth Price
mcpAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a…-server-odoo External 16+ Static API key or username/password Free
muk_mcp Odoo module 17+ Per-user Bearer tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language. + optional modelA mathematical function trained on data that maps inputs to outputs. In ML, a model is the artifact produced after training — it encapsulates learned patterns and is used to make predictions or…-level scopes Free
rag_odoo_mcp_server Odoo module 15+ Coarse tokens (read-only or full access) Paid
LLMA neural network trained on vast amounts of text data to understand and generate human language. LLMs use the Transformer architecture and can perform a wide range of tasks — summarization,… MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… (Apexive) Odoo module 16, 18 Per-user Bearer tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language., enforces Odoo ACL and record rules Free

3. The Auth Problem

Authentication is the most consequential decision when deploying MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… for Odoo. MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… clients (Claude Desktop, Claude Code, Cursor, ChatGPT) typically run on the user’s local machine. The MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… server runs on or near the Odoo instance. How you bridge those two contexts determines what access controls are actually enforced.

The simplest approach is to configure the MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… server with a shared API key or service account credentials. The agent connects and can do whatever that account is permitted to do. This is only safe if every person with access to the MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… server is fully trusted. The credentials are a permanent attack surface: if leaked, an attacker has full, persistent access with no expiry and no way to distinguish agent actions from human ones in the audit log.

The implementations reviewed here take different approaches to improving on that baseline:

  • Static API key (mcpAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a…-server-odoo): shared credential tied to one account, long-lived and hard to rotate.
  • Per-user tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language. + optional modelA mathematical function trained on data that maps inputs to outputs. In ML, a model is the artifact produced after training — it encapsulates learned patterns and is used to make predictions or… scopes (muk_mcp): each user generates their own tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language., with the option to further restrict it to specific models and operations. Scopes operate at the modelA mathematical function trained on data that maps inputs to outputs. In ML, a model is the artifact produced after training — it encapsulates learned patterns and is used to make predictions or… level, not the record level.
  • Coarse read/write tokens (rag_odoo_mcp_server): two tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language. types (read-only or full access), simple to reason about but too blunt for multi-user environments.
  • Per-user tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language. with full ACL enforcement (Apexive): each user generates their own tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language., and every request runs with that user’s exact Odoo permissions including record rules, company visibility, and field-level access. Tokens are revocable with configurable expiry.

Both muk_mcp and Apexive use per-user tokens, which means Odoo’s ACL and record rules apply to every request. The difference is that muk_mcp adds optional modelA mathematical function trained on data that maps inputs to outputs. In ML, a model is the artifact produced after training — it encapsulates learned patterns and is used to make predictions or…-level scopes on top, while Apexive explicitly documents full ACL enforcement as a design guarantee and supports tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language. expiry. Either approach is a reasonable choice for multi-user deployments. The remaining gap is infrastructure: there is no OAuth or delegated auth flow that would let a user grant an MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… client access without manually generating and sharing a tokenThe basic unit of text processed by an LLM. A token is roughly 4 characters or 0.75 words in English. LLMs process and generate text as sequences of tokens. Tokenization varies by model and language..

4. Where This Leaves Us

Of the implementations reviewed, muk_mcp stands out as the most practical starting point. It has the broadest tool coverage, a no-code way to add custom tools, per-user tokens with modelA mathematical function trained on data that maps inputs to outputs. In ML, a model is the artifact produced after training — it encapsulates learned patterns and is used to make predictions or…-level scoping, rate limiting, and audit logging. It is free and works on Odoo 17+. For teams looking to run a real pilot, this is the one worth testing first.

The remaining gap across all implementations is OAuth or delegated auth: a standard flow so users can authorize MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… client access without manually managing tokens. As that infrastructure develops, MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… will become a viable path not just for developers, but for the business users the use cases in Section 1 describe.

For a broader look at how AI integration fits into Odoo’s architecture at the platform level, see AI in Odoo: Two Architectures, Two Different Bets.

Ready to put AI to work?

Let's explore how Trobz AI can automate your processes, enhance your ERP, and help your team make better decisions — faster.