Customer Relation

Odoo MCP Server

Connect your account, then chat with AI to run tools.

Search partners, orders, leads, invoices, and inventory on your Odoo instance, run aggregations, post chatter notes, and apply workflow actions — with preview-first writes so agents do not mutate ERP data without approval.

Best forOdoo AdministratorsERP OperationsFinance ControllersSales Operations

Try this workflow

Open pipeline snapshot

List the 10 most recently updated CRM leads in my Odoo instance with name, stage, and expected revenue.

Managed
16 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

What you can do with Odoo

Built for

Odoo Administrators, ERP Operations Teams, Finance Controllers, Sales Operations, Implementation Partners

Example workflows

Open pipeline snapshot

Bounded search_read before wide exports.

Try this

List the 10 most recently updated CRM leads in my Odoo instance with name, stage, and expected revenue.

Invoice follow-up

Combines invoice search with preview-gated chatter.

Try this

Find customer invoices in draft for Acme Corp, then post an internal note on the newest draft saying we are waiting on PO confirmation.

Confirm sales order

execute_method preview path for action_confirm.

Try this

Show unconfirmed sale orders from this week and preview confirming the oldest one — wait for my approval before executing.

Context to know first

What Odoo models are covered?

Partners, sales and purchase orders, CRM leads, customer invoices, products, stock quants, generic search/read/aggregate, and whitelisted workflow methods on common documents.

AI Skill
SKILL.md

Domain knowledge for Odoo — workflow patterns, data models, and gotchas for your AI agent.

Odoo

Odoo is a modular ERP. Operators work across contacts, sales and purchase orders, CRM pipeline, customer invoices, products, and stock on hand on a connected instance.

First moves

  1. Model discovery — list installed models when the technical model name is unknown.
  2. Field discovery — describe an unfamiliar model before building filters or write payloads.
  3. Scoped search — partners, sale orders, purchase orders, CRM leads, invoices, products, or inventory with a tight filter and small limit.
  4. Generic search — search-read on any model when a typed search does not fit.
  5. Rollups — aggregate counts or sums by dimension (stage, company flag, date bucket) instead of exporting every row.
  6. Record detail — open specific ids only after a search returns stable ids.

Data model

Business areaModel
Partners / contactsres.partner
Sales orderssale.order
Purchase orderspurchase.order
CRM leadscrm.lead
Customer invoicesaccount.move (customer invoice / credit note types)
Productsproduct.product
On-hand inventorystock.quant
Installed modelsir.model

Documents flow partner → quotation or order → delivery / invoice. CRM leads convert into opportunities and orders. Invoices post from sales or manual billing; stock quants reflect warehouse quantities.

Operational order

  1. Resolve model and field names before wide exports — describe the model when filters fail or columns are unclear.
  2. Use bounded search with explicit domains and modest limits; paginate by increasing offset only when the user needs more rows.
  3. Prefer aggregates for dashboard questions ("how many leads per stage", "invoice totals by month").
  4. For follow-ups, post internal notes on sale orders, purchase orders, leads, invoices, tasks, or tickets rather than editing core fields silently.
  5. Workflow actions — confirm sales orders, validate receipts, cancel documents, reset to draft, or post invoices — preview first, then confirm_write after user approval.
  6. Creates, updates, and deletes on any model default to preview mode until confirm_write is set.

Sales and CRM

Pipeline reviews start with CRM lead search filtered by stage, owner, or date. Sales order triage lists unconfirmed or recent orders; confirming an order is a discrete workflow action, not a field edit. Partner search supports customer and vendor lookups before creating new contacts.

Finance and inventory

Customer invoice searches filter by partner, state (draft, posted), and invoice type. Posting a draft invoice is a workflow action on account.move. Inventory questions use stock quant search for on-hand by product and location; product search resolves sku and name before stock reads.

Gotchas

  • Record rules — access denied means the connected user lacks rights on that model or record set, not a broken connection.
  • Multi-database hosts — when one hostname serves several databases, specify the database name; omit it on single-database instances.
  • Preview-first writes — all mutations show a preview payload until confirm_write=true; never skip approval on deletes or invoice posting.
  • Chatter scope — internal notes attach only on whitelisted document types (orders, leads, invoices, tasks, tickets).
  • Custom modules — third-party apps add models not in the table above; list models and describe before assuming field names.

Tools in this Server (16)

Odoo Aggregate

Grouped aggregation via read_group on any Odoo model. Pass groupby fields and aggregate field expressions for summary counts and sums.

Odoo Create Record

Create one Odoo record on any model via JSON-2 create. Pass model and values object with field names and values. Returns new record id(s). Preview-onl...

Odoo Delete Record

Delete Odoo records by id via JSON-2 unlink. Preview-only until confirm_write=true.

Odoo Describe Model

Return field metadata for an Odoo model via fields_get.

Odoo Execute Method

Call a whitelisted Odoo workflow method on record ids. Safe defaults include action_confirm on sale.order, button_validate on stock.picking, and actio...

Odoo List Models

List available Odoo models (ir.model) with technical names and display labels. Run before generic search_read when the target model is unknown.

Odoo Post Message

Post an internal note on an Odoo record chatter (mail.message). Limited to sale.order, purchase.order, crm.lead, account.move, project.task, and helpd...

Odoo Search CRM Leads

Search CRM leads and opportunities (crm.lead).

Odoo Search Inventory

Search on-hand inventory rows (stock.quant) by product, location, or lot.

Odoo Search Invoices

Search customer invoices and credit notes (account.move). Default domain limits to customer invoices when you omit domain.

Odoo Search Partners

Search partners/contacts (res.partner) with optional domain, fields, and pagination.

Odoo Search Products

Search products (product.product) with optional filters.

Odoo Search Purchase Orders

Search purchase orders (purchase.order) with optional domain filters and field projection.

Odoo Search Read

Generic search_read on any Odoo model. Pass model, optional domain filter, field projection, and pagination.

Odoo Search Sale Orders

Search sales orders (sale.order) with optional domain filters and field projection.

Odoo Update Record

Update Odoo records by id via JSON-2 write. Pass model, record id, and values to patch. Preview-only until confirm_write=true.

Frequently Asked Questions

What Odoo models are covered?

Partners, sales and purchase orders, CRM leads, customer invoices, products, stock quants, generic search/read/aggregate, and whitelisted workflow methods on common documents.

How do I connect Odoo to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/odoo. Authentication is handled automatically.

How many tools does Odoo provide?

Odoo provides 16 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Odoo require?

Odoo uses API Key. Odoo requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Odoo to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/odoo

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Odoo and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Odoo will appear under Not connected — select it and click Connect to complete OAuth.
Name: Odoo
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/odoo
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use Odoo?

Sign in to connect your credentials and start running tools from the chat.

Odoo MCP Server & Skill