MCP Odoo
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.
- Needs API key
- Developer tools
- MIT
- Actively maintained
Install MCP Odoo
Generated from the server's MCP registry entry. Replace your-value with your own values.
Claude Desktop
{
"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
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-mcpCursor
{
"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
{
"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 Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).
Environment variables
Variables the server reads at startup.
| Name | Required | Description |
|---|---|---|
ODOO_URL | Yes | Odoo server URL, e.g. https://mycompany.odoo.com |
ODOO_DB | Yes | Odoo database name |
ODOO_USERNAME | Yes | Odoo login (email) |
ODOO_PASSWORDsecret | Yes | Odoo password or API key |
Tools (39)
Parsed from the Tools section of the README; check the repository for the current list.
list_modelsList Odoo model technical names and labels.
get_model_fieldsRead field metadata for one model.
search_recordsRun bounded read-only searchread. Smart-field selection when caller omits fields.
read_recordRead one record by model and ID. Smart-field selection when caller omits fields.
aggregate_recordsServer-side groupby/aggregation via formattedreadgroup (Odoo 19+) or readgroup (16-18).
search_employeeSearch employees by name.
search_holidaysSearch leave records by date range.
get_odoo_profileRead server version, user context, transport, database, and installed module summary.
schema_catalogBuild a bounded model catalog with optional field metadata.
build_domainBuild and validate an Odoo domain from structured conditions.
read_attachmentRead an ir.attachment's metadata and size-capped base64 content (ODOOMCPMAXATTACHMENTBYTES, default 1 MiB).
preview_writeProduce a non-executing approval payload for create, write, or unlink.
validate_writeValidate a write payload against trusted live fieldsget metadata.
execute_approved_writeExecute only a same-session, live-validated, confirmed write when ODOOMCPENABLEWRITES=1.
execute_methodExecute a reviewed model method. Direct create, write, and unlink are blocked.
chatter_postPost a chatter message on a mail.thread record. Default mode requires the approval-token preview/execute flow.
diagnose_odoo_callDiagnose a model call without executing it.
diagnose_accessDiagnose ACL and record-rule visibility for the current Odoo credential.
inspect_model_relationshipsGroup relationship fields, required fields, and create/write hints.
generate_json2_payloadConvert XML-RPC-shaped input into JSON-2 endpoint, headers, and named body.
upgrade_risk_reportSurface transport, method, and migration risks across Odoo versions.
lookup_model_historyResolve outdated model names (account.invoice → account.move) against a curated per-version rename catalog.
scan_addons_sourceScan local addon source without importing addon code.
fit_gap_reportClassify requirements into standard, configuration, Studio, custom module, avoid, or unknown.
business_pack_reportReport expected modules, models, and discovery calls for sales, CRM, inventory, accounting, or HR.
index_knowledgeFetch a bounded record slice once and build a local BM25 index (accent-insensitive; data never leaves the machine).
search_knowledgeRelevance-ranked free-text search over indexed records with zero further RPC calls.
knowledge_statsReport per-model index sizes and the ODOOMCPKNOWLEDGEMAXDOCS budget.
receivable_payable_agingAged AR/AP report bucketed by days overdue (not due / 1-30 / 31-60 / 61-90 / 90+), with per-partner totals.
accounting_health_summaryOpen receivable/payable item counts plus the draft invoice backlog.
submit_async_taskRun an allowlisted long read operation (scanaddonssource, indexknowledge, receivablepayableaging) on a bounded worker…
get_async_taskPoll a task's status and result.
cancel_async_taskCancel a pending or running task.
list_async_tasksList live and recently finished tasks.
search_across_instancesSearch every opted-in instance (or a list/tag selection); rows tagged with instance, partial results on per-instance…
aggregate_across_instancesGroup/aggregate per instance plus additive grand totals across the fleet.
accounting_health_across_instancesAR/AP aging across every client DB with combined buckets — the partner-network sweep.
health_checkReport non-secret MCP runtime posture, including rate-limit counters and field-ACL status when enabled.
list_instancesList configured Odoo instance names, URLs, databases, transports, and cross-instance tags — never credentials.
About MCP Odoo
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.
- mcp
- mcp-server
- mcp-servers
- odoo
- odoo-mcp
- agent-skills
- claude-code
- chatgpt
- erpipe
Similar MCP servers
More developer tools MCP servers
Gemini CLI
google-gemini/gemini-cli
An open-source AI agent that brings the power of Gemini directly into your terminal.
Developer toolsTypeScriptFront-End Checklist
thedaviddias/Front-End-Checklist
Review frontend code and live pages against 386 quality-gated web development rules.
Developer toolsMDXClaude Flow
ruvnet/ruflo
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
Developer toolsTypeScriptCodebase Memory
DeusData/codebase-memory-mcp
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Developer toolsCBytedance Filesystem
bytedance/UI-TARS-desktop
MCP server for filesystem access.
Developer toolsTypeScriptGitHub
github/github-mcp-server
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
OfficialDeveloper toolsGo
What is MCP Odoo?
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. The source code is at github.com/erpipe-org/mcp-odoo.
How do I install the MCP Odoo MCP server?
Add the command uvx odoo-mcp to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.
Is MCP Odoo free?
The server is open source under the MIT license, so running it is free. It needs credentials (ODOO_PASSWORD) for the service it connects to, which may require a paid account.
Is MCP Odoo actively maintained?
The most recent commit was on Aug 25, 2026. The latest release is v1.3.2, published Aug 19, 2026. appsgit only lists MCP servers with a commit in the last six months and re-checks every server daily.