Odoo MCP server

Connect Odoo to Claude, ChatGPT, Cursor, Claude Code, Codex, Gemini, GitHub Copilot and any other MCP client, for your whole team. Metorial adds security, governance, and tracing, and gives everyone one Magic MCP URL to connect.

What you can do with the Odoo MCP server

Ask your agent in plain language. Each of these maps to a real tool on the server.

  • Use the execute public method tool in Odoo
  • Use the list models tool in Odoo
  • Use the list model fields tool in Odoo
  • Use the create record tool in Odoo
  • Use the delete records tool in Odoo
  • Use the update records tool in Odoo

Supported Tools

execute_method

Execute Public Method

Expert fallback for calling a public method on any Odoo model. Prefer the dedicated search, create, update, delete, and workflow tools when one covers the operation; use this tool only when a required public workflow method is not otherwise exposed. The called method can modify data, trigger automation, send communications, or cause other business side effects.

list_models

List Models

List Odoo model definitions visible to the connected user. Use this to discover technical model names before searching, reading, or writing records.

list_model_fields

List Model Fields

Retrieve field definitions for any Odoo model. Returns technical field names, types, labels, access metadata, related-model names, and selection values for planning record reads and writes.

create_record

Create Record

Create one record in any Odoo model and return its positive record ID. Use List Model Fields first to confirm writable field names and types.

delete_records

Delete Records

Permanently delete up to 100 records by ID from any Odoo model. This operation cannot be undone.

update_records

Update Records

Update the same fields on up to 100 existing records in any Odoo model. Only the provided fields are changed, and the result identifies records Odoo confirmed as updated.

read_records

Read Records

Read up to 100 records by ID from any Odoo model. Returns the full record data or a selected set of fields. Use this when you already know the record IDs and need their current details.

search_records

Search Records

Search and retrieve records from any Odoo model using domain filters. Supports pagination, focused field selection, context, and stable sorting. Use this to find contacts, leads, orders, invoices, products, or other record types. Common models: **res.partner** (contacts), **crm.lead** (leads/opportunities), **sale.order** (sales orders), **account.move** (invoices/bills), **product.product** (products), **stock.picking** (transfers), **project.task** (tasks), **hr.employee** (employees).

count_records

Count Records

Count records in any Odoo model that match a domain filter, without retrieving record data. This is an independent snapshot request; it is not an atomic companion to search_records or any other read.

post_invoice

Post Invoice

Post one draft Odoo customer invoice, customer credit note, vendor bill, or vendor credit note and return its verified accounting and payment state, partner, date, amounts, and currency.

confirm_purchase_order

Confirm Purchase Order

Confirm one Odoo request for quotation as a purchase order, or submit it for required approval, and return the verified resulting state and order details.

confirm_sale_order

Confirm Sale Order

Confirm one Odoo sales quotation as a sales order and return its verified current state, confirmation date, customer, total, and currency.

mark_opportunity_won

Mark Opportunity Won

Mark one Odoo CRM opportunity as won and return its verified probability, won-stage status, ownership, customer, expected revenue, and closed date.

download_attachment

Download Attachment

Download the binary content of one Odoo attachment by ID. Returns the file separately from structured attachment metadata.

get_current_user

Get Current User

Retrieve the authenticated Odoo user, including identity, locale, default company, and accessible company IDs. Use this to verify the connected account and understand its company context.

complete_activity

Complete Activity

Complete one active Odoo activity, optionally record feedback and attach existing Odoo files, and return verified completion, ownership, related-record, feedback, attachment, and message metadata.

archive_records

Archive or Restore Records

Archive or restore up to 100 records on an Odoo model with an active boolean field. Archiving hides records from normal searches while retaining their data. The tool reads every target before the action and verifies the resulting active state.

get_record_defaults

Get Record Defaults

Inspect the default values Odoo would use for selected fields when creating a record. Defaults can depend on the connected user, company, and context. Use this with list_model_fields before create_record.

Connect Odoo to your AI client

Every client uses the same Magic MCP URL, and so does any other MCP client. Add it once and sign in with SSO.

  1. Enable Odoo in Metorial. In your Metorial portal, enable the Odoo MCP server and sign in with the account that owns the data. Access stays governed by your team policies.
  2. Add a custom connector. Open Customize, then Connectors. Select Add, then Custom, then Web.
  3. Paste your Metorial MCP URL. Name it Metorial, paste your Magic MCP URL (<your-magic-mcp-url>) and continue.
  4. Sign in. Select Add and sign in to load Odoo tools.

Run Odoo through the Metorial gateway

One governed layer for every app your agents reach, not a separate connector per tool.

  • Give Odoo and every other app to your whole team through one MCP gateway, behind your SSO.
  • Scope which teams and agents can use Odoo tools with role-based access control, and trace every call.
  • Prefer to run it yourself? Metorial is open source and self-hostable.

More integrations teams use with Odoo

Salesforce

Manage CRM data including Accounts, Contacts, Leads, Opportunities, Cases, and custom objects. Create, read, update, and delete records. Query data using SOQL and search across objects using SOSL. Perform bulk data operations for large-scale imports, exports, and migrations. Execute composite requests to batch multiple operations in a single API call. Access analytics, reports, and dashboards. Manage files and attachments associated with records. Interact with Chatter feeds, posts, and groups for social collaboration. Manage org metadata including custom objects, fields, layouts, and workflows. Query data using GraphQL for precise data retrieval across related objects.

Apolloio

Search and prospect B2B contacts and companies from a database of over 275 million people and 70 million organizations. Enrich people and company data with emails, phone numbers, and firmographic details. Create and manage contacts, accounts, deals, and tasks. Add contacts to email sequences and manage sequence statuses. Log and search call records. Perform bulk operations for contact creation, account creation, task creation, and data enrichment.

Hubspot

Create, read, update, and delete CRM objects including contacts, companies, deals, tickets, and custom objects. Manage associations between CRM records. Track engagements such as calls, emails, meetings, notes, and tasks. Send transactional and marketing emails, manage campaigns, and handle subscription preferences. Build and manage marketing workflows, sequences, and automation actions. Manage CMS content including blog posts, landing pages, and HubDB tables. Handle commerce data including products, orders, invoices, quotes, and payments. Create and manage contact lists for segmentation. Configure deal, ticket, and order pipelines with custom stages. Search and filter CRM records. Bulk import and export CRM data. Manage users, teams, and account settings.

Linkedin

Authenticate LinkedIn members with OpenID Connect, fetch the authenticated member profile, and create self-serve LinkedIn shares with text, article links, and uploaded images. Organization and Community Management workflows should move to a separate slate because LinkedIn restricts combining those products in one app.

Calendly

List, retrieve, and cancel scheduled events. Book meetings programmatically on behalf of invitees using available time slots. Retrieve event types and their configurations. Query user availability, available time slots, busy times, and availability schedules. Create single-use scheduling links with optional overrides. List and manage invitees, mark no-shows, and access custom question responses and UTM tracking data. Manage organization memberships, invite or remove users. Retrieve routing form configurations and submissions. Subscribe to webhooks for new bookings, cancellations, and routing form submissions.

Mailchimp

Manage email marketing audiences, campaigns, and automations. Create, send, schedule, and track email campaigns with detailed reporting on opens, clicks, and bounces. Add, update, and organize audience contacts with tags, segments, and interest groups. Set up and manage automation workflows triggered by subscriber activity or events. Connect e-commerce stores to manage customers, products, orders, and carts. Create and manage reusable email templates and landing pages. Upload and organize files for use in campaigns. Send transactional emails via the Mandrill API. Post custom events to trigger targeted automations. Configure webhooks to track subscribe, unsubscribe, profile updates, and email delivery events.

Technical notes for Odoo

Connect to Odoo business data and workflows across installed modules. Discover models and fields, verify the connected user, search and count records with Odoo domains, perform record CRUD, download binary attachments, and run validated Sales, Accounting, Purchase, CRM, and Activity workflows. Supports Odoo 19+ JSON-2 and legacy JSON-RPC.

Frequently asked questions

Common questions about connecting Odoo to AI agents with Metorial.

  1. How many tools does the Odoo MCP server have?
    The Odoo MCP server exposes 18 tools, including Execute Public Method, List Models, List Model Fields. Each one is governed and traced through Metorial.
  2. Odoo exposes tools your agents call on demand; it does not publish event triggers yet. Everything still runs through one governed MCP URL.
  3. Any MCP client, including VS Code, Windsurf, Zed, OpenCode and Grok. Each one reaches the Odoo MCP server through the same Metorial URL.
  4. Use role-based access control to decide which teams, users, and agents can use Odoo and which of its tools they can call.
  5. Yes. Metorial is open source, so you can run the Odoo MCP server yourself or use the hosted gateway.

Connect Odoo to production AI agents

See how Metorial gives your team governed access to Odoo, with tracing and security controls built in.