# MCP Odoo (MCP server)

> MCP Odoo is an MCP server that adds developer tools to AI assistants such as Claude Desktop, Claude Code and Cursor. Odoo MCP: gated writes, multi-instance. Free hosted: ERPipe (mcp.erpipe.com). It has 419 GitHub stars, is released under the MIT license and runs locally with uvx odoo-mcp.

ERPipe is the managed Odoo MCP gateway from the maintainer of erpipe-org/mcp-odoo, formerly tuanle96/mcp-odoo; the Python project remains the self-hosted server.

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/erpipe-org/mcp-odoo |
| GitHub stars | 419 |
| License | MIT |
| Language | Python |
| Transport | stdio |
| Packages | pypi: odoo-mcp |
| Remote URL | none |
| Needs API key | yes |
| Official | no |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code |
| Category | Developer tools |
| Latest release | v1.3.2 (Aug 19, 2026) |
| Last commit | Aug 25, 2026 |
| MCP registry name | io.github.erpipe-org/mcp-odoo |

## Install

### Claude Desktop (claude_desktop_config.json)

```json
{
  "mcpServers": {
    "mcp-odoo": {
      "command": "uvx",
      "args": [
        "odoo-mcp"
      ],
      "env": {
        "ODOO_URL": "your-value",
        "ODOO_DB": "your-value",
        "ODOO_USERNAME": "your-value",
        "ODOO_PASSWORD": "your-value"
      }
    }
  }
}
```

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

### Claude Code

```sh
claude mcp add --env ODOO_URL=your-value --env ODOO_DB=your-value --env ODOO_USERNAME=your-value --env ODOO_PASSWORD=your-value --transport stdio mcp-odoo -- uvx odoo-mcp
```

### Cursor (.cursor/mcp.json)

```json
{
  "mcpServers": {
    "mcp-odoo": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "odoo-mcp"
      ],
      "env": {
        "ODOO_URL": "your-value",
        "ODOO_DB": "your-value",
        "ODOO_USERNAME": "your-value",
        "ODOO_PASSWORD": "your-value"
      }
    }
  }
}
```

Project file; use ~/.cursor/mcp.json to enable it in every project.

### VS Code (.vscode/mcp.json)

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "odoo_password",
      "description": "ODOO_PASSWORD",
      "password": true
    }
  ],
  "servers": {
    "mcp-odoo": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "odoo-mcp"
      ],
      "env": {
        "ODOO_URL": "your-value",
        "ODOO_DB": "your-value",
        "ODOO_USERNAME": "your-value",
        "ODOO_PASSWORD": "${input:odoo_password}"
      }
    }
  }
}
```

Config formats checked against the official docs on 2026-10-07.

## Environment variables

- `ODOO_URL` (required): Odoo server URL, e.g. https://mycompany.odoo.com
- `ODOO_DB` (required): Odoo database name
- `ODOO_USERNAME` (required): Odoo login (email)
- `ODOO_PASSWORD` (secret) (required): Odoo password or API key

## Tools

- `list_models`: List Odoo model technical names and labels.
- `get_model_fields`: Read field metadata for one model.
- `search_records`: Run bounded read-only searchread. Smart-field selection when caller omits fields.
- `read_record`: Read one record by model and ID. Smart-field selection when caller omits fields.
- `aggregate_records`: Server-side groupby/aggregation via formattedreadgroup (Odoo 19+) or readgroup (16-18).
- `search_employee`: Search employees by name.
- `search_holidays`: Search leave records by date range.
- `get_odoo_profile`: Read server version, user context, transport, database, and installed module summary.
- `schema_catalog`: Build a bounded model catalog with optional field metadata.
- `build_domain`: Build and validate an Odoo domain from structured conditions.
- `read_attachment`: Read an ir.attachment's metadata and size-capped base64 content (ODOOMCPMAXATTACHMENTBYTES, default 1 MiB).
- `preview_write`: Produce a non-executing approval payload for create, write, or unlink.
- `validate_write`: Validate a write payload against trusted live fieldsget metadata.
- `execute_approved_write`: Execute only a same-session, live-validated, confirmed write when ODOOMCPENABLEWRITES=1.
- `execute_method`: Execute a reviewed model method. Direct create, write, and unlink are blocked.
- `chatter_post`: Post a chatter message on a mail.thread record. Default mode requires the approval-token preview/execute flow.
- `diagnose_odoo_call`: Diagnose a model call without executing it.
- `diagnose_access`: Diagnose ACL and record-rule visibility for the current Odoo credential.
- `inspect_model_relationships`: Group relationship fields, required fields, and create/write hints.
- `generate_json2_payload`: Convert XML-RPC-shaped input into JSON-2 endpoint, headers, and named body.
- `upgrade_risk_report`: Surface transport, method, and migration risks across Odoo versions.
- `lookup_model_history`: Resolve outdated model names (account.invoice → account.move) against a curated per-version rename catalog.
- `scan_addons_source`: Scan local addon source without importing addon code.
- `fit_gap_report`: Classify requirements into standard, configuration, Studio, custom module, avoid, or unknown.
- `business_pack_report`: Report expected modules, models, and discovery calls for sales, CRM, inventory, accounting, or HR.
- `index_knowledge`: Fetch a bounded record slice once and build a local BM25 index (accent-insensitive; data never leaves the machine).
- `search_knowledge`: Relevance-ranked free-text search over indexed records with zero further RPC calls.
- `knowledge_stats`: Report per-model index sizes and the ODOOMCPKNOWLEDGEMAXDOCS budget.
- `receivable_payable_aging`: Aged AR/AP report bucketed by days overdue (not due / 1-30 / 31-60 / 61-90 / 90+), with per-partner totals.
- `accounting_health_summary`: Open receivable/payable item counts plus the draft invoice backlog.
- `submit_async_task`: Run an allowlisted long read operation (scanaddonssource, indexknowledge, receivablepayableaging) on a bounded worker…
- `get_async_task`: Poll a task's status and result.
- `cancel_async_task`: Cancel a pending or running task.
- `list_async_tasks`: List live and recently finished tasks.
- `search_across_instances`: Search every opted-in instance (or a list/tag selection); rows tagged with instance, partial results on per-instance…
- `aggregate_across_instances`: Group/aggregate per instance plus additive grand totals across the fleet.
- `accounting_health_across_instances`: AR/AP aging across every client DB with combined buckets — the partner-network sweep.
- `health_check`: Report non-secret MCP runtime posture, including rate-limit counters and field-ACL status when enabled.
- `list_instances`: List configured Odoo instance names, URLs, databases, transports, and cross-instance tags — never credentials.

## Similar MCP servers

- [Gemini CLI](https://appsgit.com/mcp-servers/gemini-cli): An open-source AI agent that brings the power of Gemini directly into your terminal. (107,240 stars, Apache-2.0)
- [Front-End Checklist](https://appsgit.com/mcp-servers/front-end-checklist): Review frontend code and live pages against 386 quality-gated web development rules. (74,390 stars, MIT)
- [Claude Flow](https://appsgit.com/mcp-servers/claude-flow): AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev. (74,016 stars, MIT, needs API key)
- [Codebase Memory](https://appsgit.com/mcp-servers/codebase-memory): Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens. (45,917 stars, MIT)
- [Bytedance Filesystem](https://appsgit.com/mcp-servers/bytedance-filesystem): MCP server for filesystem access. (39,206 stars, Apache-2.0)
- [GitHub](https://appsgit.com/mcp-servers/github): Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language. (33,414 stars, MIT, official, needs API key)

---

Canonical page: https://appsgit.com/mcp-servers/mcp-odoo
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
