MCP Directory

How to add MCP Server for Odoo to Cursor

Search, create, update and aggregate Odoo ERP records from AI assistants via XML-RPC. Paste the config into ~/.cursor/mcp.json and restart Cursor.

Last updated June 14, 2026 · 324 · stdio · apikey

Cursor config for MCP Server for Odoo

uvx mcp-server-odoo
{
  "mcpServers": {
    "mcp-server-for-odoo": {
      "command": "uvx",
      "args": [
        "mcp-server-odoo"
      ],
      "env": {
        "ODOO_URL": "https://your-odoo-instance.com",
        "ODOO_API_KEY": "your-api-key-here",
        "ODOO_DB": "your-database-name"
      }
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
  2. 2Paste the MCP Server for Odoo config below into the "mcpServers" object.
  3. 3Fill in placeholder secrets, then save.
  4. 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
  5. 5Ask Cursor to use one of MCP Server for Odoo's tools to confirm it's connected.

Before you start

  • Python 3.10 or higher
  • UV installed on the local machine (or use the pip/Docker install methods)
  • Access to an Odoo instance — production: Odoo 16.0+ with the mcp_server module installed; YOLO/testing: any Odoo with XML-RPC enabled
  • An Odoo API key (recommended) or username/password credentials
  • ODOO_DB set if the Odoo server restricts database listing

What MCP Server for Odoo can do in Cursor

search_records

Search for records in any Odoo model using a domain filter, with optional field selection, pagination and a smart-default field set.

get_record

Retrieve a specific record by ID, with smart-default fields and metadata or an explicit field list.

list_models

List all models enabled for MCP access.

list_resource_templates

List the available resource URI templates and their patterns.

create_record

Create a new record in a given model from a values dict, with field validation and permission checks.

update_record

Update an existing record by ID with new field values.

delete_record

Delete a record by ID, respecting model-level permissions.

post_message

Post a message to a record's chatter (mail.thread) as an internal note or a follower-notifying comment; supports HTML body, partner mentions and attachments.

Security

API key auth is recommended; each key is tied to a specific Odoo user and respects Odoo's built-in access rights and record rules. The optional Odoo mcp_server module adds per-model MCP access controls. The streamable-http transport has NO built-in client authentication — anyone who can reach the port gets full Odoo access with the server's credentials, so keep the default localhost bind or front it with an authenticating reverse proxy. YOLO mode bypasses all MCP security controls and must never be used in production. The call_model_method tool can invoke any public method (including destructive ones like unlink) and is only registered when ODOO_YOLO=true and ODOO_MCP_ENABLE_METHOD_CALLS=true.

MCP Server for Odoo + Cursor FAQ

Where is the Cursor config file?

Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the MCP Server for Odoo config there under the "mcpServers" key and restart the client.

Is MCP Server for Odoo safe to use with Cursor?

API key auth is recommended; each key is tied to a specific Odoo user and respects Odoo's built-in access rights and record rules. The optional Odoo mcp_server module adds per-model MCP access controls. The streamable-http transport has NO built-in client authentication — anyone who can reach the port gets full Odoo access with the server's credentials, so keep the default localhost bind or front it with an authenticating reverse proxy. YOLO mode bypasses all MCP security controls and must never be used in production. The call_model_method tool can invoke any public method (including destructive ones like unlink) and is only registered when ODOO_YOLO=true and ODOO_MCP_ENABLE_METHOD_CALLS=true.

Do I need to install anything inside Odoo?

For production use, yes — install the Odoo mcp_server module (Odoo 16.0+), enable the models you want to expose, set per-model permissions, and generate an API key. For quick testing/demos you can use YOLO mode against any XML-RPC-enabled Odoo without the module, but YOLO mode bypasses all MCP security and must never be used in production.

How does authentication work?

Set ODOO_API_KEY (recommended) or both ODOO_USER and ODOO_PASSWORD. An API key is linked to a specific Odoo user and the server respects that user's access rights and record rules. Specify ODOO_DB if your server restricts database listing.

Where does the server run?

On your local computer where the MCP client (e.g. Claude Desktop) is installed — not on the Odoo server. It connects out to Odoo over XML-RPC. It can be run via uvx, pip/pipx, or Docker.

View repo Full MCP Server for Odoo page