What is Model Context Protocol?
Model Context Protocol is an open protocol that lets AI applications connect to external data, tools and workflows in a consistent way.
An MCP server publishes capabilities and context in a standardised format. An MCP client in an AI application can discover those capabilities and use them within the configured permissions.
Without a standard such as MCP, every combination of AI model and business system becomes a separate integration. The interface from model A to system X then differs from model B to the same system, while switching to another AI platform requires new development work. MCP aims to reduce this integration problem by standardising the connection between AI applications and external systems.
MCP does not replace the underlying system. Odoo remains responsible for data, users, access rights and business logic. The MCP server forms a controlled translation layer between the AI client and the functions made available to that client.
Why does MCP exist?
A language model has no live access to an Odoo database by itself. It does not automatically know the current stock, outstanding invoices or a user's permissions. To work with up-to-date business information, the AI application needs a controlled connection to external systems.
Traditionally, such a connection is developed per application. A team defines endpoints, tool descriptions, authentication, error handling and mappings for every model or agent platform. That works, but quickly leads to multiple variants of the same integration.
MCP introduces a common layer. As a result, an MCP-compatible client can work with multiple servers and a single server can make its capabilities available to multiple compatible clients. The exact support and functionality still depend on the chosen client and implementation.
What MCP does and does not solve
| Topic | MCP helps with | MCP does not automatically solve |
|---|---|---|
| Interoperability | A standardised interface between clients and servers. | Functional differences between AI models and clients. |
| Discoverability | Publishing available tools, resources and prompts. | Determining which functions are desirable from a business perspective. |
| Security | A framework for authorisation and controlled connections. | A secure configuration without additional policy and management. |
| Business logic | Access to a system's existing functions. | Correct Odoo processes, data and user permissions. |
How does the MCP architecture work?
MCP uses a host, client and server model. The user works in an AI application; the client maintains the protocol connection; the server exposes controlled functions and context.
The host is the application in which the user works with the AI model. The host can contain one or more MCP clients. Each client maintains a connection with an MCP server. The server describes which capabilities are available and processes requests that fall within the permitted policy.
Tools, resources and prompts
Executable functions, for example retrieving a quotation or creating a record.
Context or data a client can read, such as documentation or structured records.
Reusable templates or guided interactions a server can make available.
Not every implementation needs to use all primitives. For an enterprise Odoo integration, the emphasis is usually on controlled tools and structured results. Which functions are published should be an explicit design decision.
How does MCP work with Odoo?
In the DAADit architecture, the MCP server sits outside the Odoo user interface. The server receives standardised MCP requests, checks the identity and the configured policy, and translates a permitted action into an Odoo operation.
Example of a tool definition
// One of the tools your AI client receives after tools/list. { "name": "odoo_search_read", "description": "Search and read records in a single call — the most-used tool for questions about your data.", "inputSchema": { "type": "object", "properties": { "model": { "type": "string" }, "domain": { "type": "array" }, "fields": { "type": "array" }, "limit": { "type": "integer" } }, "required": ["model"] } }
The full toolset of the hosted server consists of odoo_list_instances, odoo_list_models, odoo_fields_get, odoo_search, odoo_search_read, odoo_read, odoo_create, odoo_write and odoo_execute_kw. Which of these a client actually sees is determined per environment and per user with capability gating; by default only the read-only tools are enabled.
The server does not determine on its own what the user means. The AI client selects a tool based on the description and the interaction. That is why tool names, schemas, error messages and authorisation must be carefully designed and tested.
MCP versus a traditional REST API
MCP and REST are not direct alternatives. An MCP server often uses existing APIs or system methods to communicate with the source system. The difference lies mainly in the interface towards the AI application.
| Attribute | REST API | MCP |
|---|---|---|
| Primary audience | Software applications and developers. | AI hosts, agents and MCP clients. |
| Discoverability | Via external API documentation or schemas. | Server can publish capabilities during the session. |
| Semantic description | Not necessarily aimed at model selection. | Tools include descriptions and input schemas for AI use. |
| Gebruik in Odoo | Direct integration between applications. | A standardised AI layer on top of controlled Odoo actions. |
| Management | Per integration and application. | Potentially centralised per MCP server or gateway. |
An important architectural principle is that MCP must not bypass existing authorisation. The MCP layer should respect the permissions in Odoo and can additionally apply stricter scopes.
Security, privacy and governance
An MCP implementation is not secure simply because the protocol is used. Security comes from identity, least privilege, explicit boundaries, controlled tools, logging and operational management.
The server must be able to establish which user, tenant and client is making a request. Shared credentials reduce traceability.
Permissions are restricted based on user, role, Odoo model, action and environment. Read-only is a sensible default for a first production trial.
Tools are given a limited purpose, validatable input and predictable results. Generic execution functions require additional safeguards.
High-risk actions can require explicit human confirmation before the server executes the change.
Calls, errors, actor, tool, timing and result status are recorded for monitoring, investigation and improvement.
Model gating and capability gating
Model gating determines which AI clients or models may access a tenant or functional area. Capability gating restricts which categories of actions are available, for example reading, searching, creating, modifying or executing specific methods.
DAADit applies these concepts as product policy on top of the existing Odoo permissions. A user can never be allowed more than the linked Odoo identity, while the MCP layer can restrict access further.
Logging and audit trail
For management and governance, it must at minimum be visible which user or service identity started a call, which tool was chosen, which tenant and environment were involved, whether the action was permitted and whether it succeeded. Sensitive prompt content and results require a separate retention policy.
Logging is not a substitute for preventive security. It forms the basis for incident investigation, usage analysis, troubleshooting and improving tool definitions.
Implementation of DAADit Hosted MCP
The implementation does not start with an AI model, but with the desired business processes and the risk class of the associated actions. An information request about stock requires a different level of control than creating or confirming financial entries.
Recommended implementation phases
| Phase | Activities | Result |
|---|---|---|
| 1. Use case and scope | Describe persona, moment, data, actions and acceptance criteria. | A clearly scoped first use case. |
| 2. Technical design | Determine Odoo identities, tools, authentication, environment and logging. | Architecture and security policy. |
| 3. Configuration | Set up tenant, connection, gating, users and toolset. | Working development or staging environment. |
| 4. Testing | Run positive, negative and abuse scenarios. | Insight into quality and residual risk. |
| 5. Production and administration | Phased access, monitoring, evaluation and support. | A managed operational service. |
Dashboard and support
The customer gets a compact dashboard for connections, users, models, capabilities and activity. The complex server configuration remains under DAADit's management. When a user reports a problem, the helpdesk can investigate the relevant environment, logging and configuration. A support question can be forwarded to DAADit from the same AI assistant.
Examples of Odoo MCP applications
The examples below illustrate different levels of reading, analysing and executing. The final toolset is designed per customer and persona.
Prepare quotation
Retrieve customer, product and pricing information and prepare a draft quotation for human review.
Current briefing
Summarise revenue, margin, open quotations and exceptions from live Odoo data.
Closing checklist
Identify open items and missing entries and rank them by impact.
Available stock
Combine free stock, reservations and expected receipts into a delivery answer.
Order status
Bring sales, delivery and purchasing together in one explainable customer update.
Complete work order
Record hours, parts and follow-up maintenance after confirmation by the technician.
More extensive business stories can be included in the section Put Odoo to work. This product page deliberately stays focused on the technical workings and administration.
Frequently asked questions about MCP and Odoo
What is Model Context Protocol?
MCP is an open protocol for standardised connections between AI applications and external data sources, tools and workflows.
Is MCP open source?
The specification and official SDKs are developed as an open-source project. A separate MCP server or commercial service may have its own licence terms.
Does MCP only work with Claude?
No. As an open standard, MCP is intended for multiple hosts and clients. The precise functions and support differ per AI platform.
Does MCP work with ChatGPT or OpenAI?
That depends on the MCP support in the OpenAI product used or the chosen client. Always check the client's current documentation.
How does MCP work with Odoo?
An MCP server publishes controlled tools and translates permitted requests into Odoo operations. The server then returns a structured result to the client.
Is MCP a replacement for the Odoo API?
No. An MCP server can in fact make use of existing Odoo interfaces. MCP mainly standardises the layer towards the AI client.
Is MCP secure?
MCP can be applied securely when identity, least privilege, tool scopes, human confirmation, logging and protection against prompt injection are carefully set up.
What is capability gating?
Capability gating restricts which categories of functions a client or user may use, for example read-only or also creating records.
What is model gating?
Model gating determines which AI clients, models or applications get access to a tenant, user group or toolset.
Can an environment be set up as read-only?
Yes. A read-only configuration is suitable for reporting, investigation and a controlled first production trial.
Are all actions logged?
The DAADit setup provides logging of calls and relevant metadata. The exact content and retention period are aligned with security and privacy policy.
Do I have to host the server myself?
No. DAADit provides a hosted and managed variant. Self-hosting is technically possible with other implementations, but falls outside this service.
Which Odoo versions are supported?
Odoo 16, 17, 18 and 19 — Odoo Online (odoo.com), Odoo.sh and on-premise alike, as long as the environment is reachable via the external API. You choose the version when creating the connection; the server tests the link immediately and reports any version mismatch.
Can I test on staging first?
Yes. Development or staging is the recommended starting point for tools that modify data.
How do I get started?
A technical user can follow an activation route. Organisations with governance or implementation questions can schedule a technical intake first.
Related documentation and articles
Sources and further reading
- Model Context Protocol — Introduction
- Model Context Protocol — Architecture overview
- Model Context Protocol — Specification
- Model Context Protocol — Security best practices
- Anthropic — Introducing the Model Context Protocol
- Odoo 19 Documentation
A specific Odoo MCP question?
DAADit helps with architecture, security, configuration and a controlled first use case. The product documentation remains the primary reference; getting in touch is a logical next step when the technical situation calls for it.
Start now — live within 1 minute → Discuss the technical situation