Advanced MCP Server Features

The Advanced MCP Server module turns your Odoo database into a secure, controllable backend for AI assistants such as Claude Desktop, Claude.ai, ChatGPT, Cursor, Claude Code CLI, Gemini CLI, Continue.dev, and any other tool that supports the Model Context Protocol (MCP) standard.

Instead of asking your team to copy and paste data between Odoo and an AI chat window, the MCP Server lets the AI read records, run reports, update data, and trigger Odoo workflows directly — under your control, under your users’ permissions, and with a full audit trail of every action.

What this module does

  • Exposes a single, branded MCP endpoint (/odoo/mcp) that any MCP-compliant AI client can connect to.

  • Provides a ready-to-use catalog of tools the AI can call — reading records, creating records, running reports, sending emails, building dashboards, generating charts, searching attached documents, and more.

  • Authenticates AI clients with either an API Key (Bearer) or OAuth 2.1 (browser-login or server-to-server), so every action is tied back to a specific Odoo user.

  • Adds an enterprise governance layer on top: rate limits, IP allowlists, per-connection tool restrictions, human-in-the-loop approvals for risky actions, and a complete audit log of every request and response.

  • Optionally indexes every file attached anywhere in Odoo into a searchable Knowledge Layer so the AI can answer questions from your contracts, policies, manuals, and uploads.

  • Optionally translates business words (Customer, Order, Invoice…) into the right Odoo models per company through the Ontology Layer, so the same AI prompt works across different industries and customisations.

Who is this for?

The module ships with two dedicated Odoo user groups — MCP Administrator and MCP User — plus a designated Approver role that lives on each connection. Each persona engages with a distinct slice of the product.

MCP Administrators

Odoo admins or IT staff who set the module up and keep it healthy. They are the only ones who can:

  • Enable or disable the MCP endpoint from MCP Server ‣ Configuration ‣ Server Settings.

  • Issue API keys and OAuth clients to colleagues via the Connect a New Tool wizard on MCP Server ‣ Configuration ‣ Connections.

  • Curate the tool catalog under MCP Server ‣ Configuration ‣ Tools (activate / deactivate, set risk levels).

  • Configure the Ontology Layer, the Knowledge Layer, and admin-only Event Subscriptions (webhooks).

  • Inspect every request system-wide via MCP Server ‣ Audit Logs.

  • Tighten security per connection — allowed tools, allowed models, IP allowlists, rate limits, required approvals.

MCP Users

End users who actually talk to an AI assistant on their laptop and want it to act on Odoo data on their behalf — typically sales, finance, support, operations, or owner-operators. Through their AI client they can ask the module to:

  • Read, search, and aggregate Odoo records (“which draft invoices are over 30 days old?”).

  • Create, update, and (with care) delete records.

  • Trigger Odoo workflow transitions (confirm a quote, post an invoice).

  • Post chatter notes and schedule activities on a record.

  • Draft email templates, preview them, send a test to their own inbox, or stage a mass mailing in draft for manual send.

  • Build one-off Charts, Dashboards, and operational Pulse Reports from their data, and save any of them as a Shared Page with a public URL.

  • Search the Knowledge Layer across every uploaded file in Odoo (contracts, policies, manuals, attachments).

  • Subscribe to record changes (“ping our Slack when a task moves to Blocked”).

In the backend they only see their own connections, sessions, audit logs, and approval requests — record rules keep each user scoped to their own activity.

Approvers

Any Odoo user designated on a connection’s Approver field — usually a manager, finance lead, or team supervisor. Approvers are not a separate Odoo group; they are simply the human picked per connection to sign off on risky actions.

When the AI calls a tool the connection has gated for approval (e.g. delete_record, batch_delete, execute_method, send_test_email_template, stage_mass_mailing_from_template, transition_state), the request lands in MCP Server ‣ Approval Requests. The approver opens the request, reads a plain-English summary of what the AI is trying to do, and clicks Approve or Reject. Approved actions auto-execute server-side under the original requester’s permissions — the approver’s ACL is never used for execution.

Note

Every action the AI takes runs as a specific Odoo user (the user attached to the connection). The AI cannot do anything that user cannot do — Odoo’s standard record rules, ACLs, and multi-company restrictions all apply. The MCP Server adds further restrictions on top, never fewer.

Common business contexts

The module is a good fit for organisations that:

  • Want a single, Odoo-aware AI assistant instead of juggling chat windows and the backend by hand.

  • Need a governance layer (approvals, audit log, rate limits, IP allowlists) before they let AI touch real data.

  • Run multi-company or vertical-specific Odoo deployments and want the same prompts to work across companies via the Ontology Layer.

  • Want their AI to answer from uploaded documents (vendor agreements, employee handbooks, support attachments) without exporting them anywhere.

Supported features

  • AI client compatibility

    • Works with any MCP-compliant client — Claude Desktop, Claude.ai, ChatGPT, Cursor, Claude Code CLI, Gemini CLI, Continue.dev, custom scripts, and more.

    • Built-in setup snippets for the most popular clients, with the URL and the key already filled in.

  • Connection management

    • Three guided ways to connect an AI tool: Browser login (OAuth), API key (Bearer), and Custom OAuth client for server-to-server integrations.

    • A unified Connections list showing connection type, live status (Connected / Awaiting / Idle / Revoked), and request counts.

    • One-click key rotation and revocation, with a clear confirmation dialog explaining what happens.

  • Tool catalog

    • 45+ ready-to-use tools grouped by category (Read, Write, Workflow, Chatter, Email, Reporting, Knowledge, Visualisation, Events).

    • Each tool is tagged with a risk level (Low / Medium / High) and can be enabled or disabled globally or per connection.

  • Human-in-the-loop approvals

    • Choose which tools require explicit approval before the AI can execute them.

    • Assigned approvers receive an Odoo activity and can review the AI’s request in plain English before approving or rejecting it.

    • Approved actions auto-execute under the original requester’s permissions.

  • Audit & observability

    • Every request, response, error, and duration is captured in Audit Logs with filters by user, tool, connection, and date range.

    • Optional payload logging for compliance and troubleshooting.

    • Configurable retention period.

  • Rate limits & IP restrictions

    • Global and per-connection limits on requests per minute and requests per day.

    • Per-connection IP allowlist and blocklist to restrict where a connection can be used from.

  • Ontology Layer

    • Define business words (Customer, Order, Transaction, Asset, Case…) and map them to the right Odoo model and domain per company.

    • The same AI prompt now works whether you’re in Retail, Healthcare, Manufacturing, or any custom vertical.

  • Knowledge Layer

    • Automatically indexes every ir.attachment in Odoo (contracts, vendor docs, HR files, support attachments…).

    • Choose between Basic Search (keyword + fuzzy match, works out of the box) or Smart Search (semantic vector search, requires an embedding provider like OpenAI).

    • Respects standard Odoo permissions — users only see chunks from files they’re allowed to read.

  • Visualisation Studio

    • Let the AI build reusable Charts, polished Dashboards, and operational Pulse Reports straight from your Odoo data.

    • Save anything as a Shared Page with a token-gated public URL for sharing with colleagues outside Odoo.

  • Event subscriptions & webhooks

    • Let the AI subscribe to record changes (create / write / unlink) on any model.

    • Deliver events to a webhook URL, a chat tool, or back into the AI session in real time.

  • Email template lifecycle

    • Let the AI draft, preview, send a test of, and stage mass mailings from polished, email-safe mail.template records.

    • Safety rail: test emails default to the requesting user’s inbox, never a real customer.

  • OAuth 2.1 with dynamic registration

    • Modern OAuth 2.1 flow with PKCE — the same standard used by claude.ai and ChatGPT.

    • Dynamic registration (RFC 7591) lets AI clients self-register without an admin pre-creating each connection.

Real-time behaviour

Audit log cleanup

Cron, daily

Session cleanup

Cron, daily

Approval request expiry

Cron, 30 min

Knowledge Layer indexing

Cron, 15 min

Benefits

  • Talk to your ERP, do less manual work.

    • Ask the AI “Which draft invoices are over 30 days old?”, “Send a follow-up to the customer of quote S00037”, or “Build me a dashboard of last month’s sales” — and have it done end-to-end inside Odoo.

  • No data leaves your control.

    • The MCP Server runs inside your Odoo instance. Authentication, permissions, audit logs, and approvals are all under your administration.

  • Same prompts, every company.

    • The Ontology Layer abstracts vertical-specific Odoo models, so a prompt that worked for Retail also works for Healthcare with no rewrite.

  • Safe by default, powerful when you trust it.

    • Risky tools require explicit approval. Rate limits and IP allowlists prevent abuse. Test emails default to the requester’s inbox. Dry-run mode previews write operations before committing.

  • Built for the modern AI stack.

    • OAuth 2.1 with PKCE, dynamic registration, and streaming-friendly HTTP transport — the standard the major AI vendors have already adopted.

Conclusion

The Advanced MCP Server module bridges the gap between your Odoo data and the AI tools your team is already using. Instead of switching context between an AI chat window and Odoo, your team gets a single, conversational interface to read, write, and analyse business data — with the security, audit, and approval guarantees an ERP needs.