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 425 GitHub stars, is released under the MIT license and runs locally with uvx odoo-mcp.
github.com/erpipe-org/mcp-odoo (opens in a new tab)
Data as of from the GitHub API and the official MCP registry; description from the project's repository. Report an error
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
Code Context Engine
elara-labs/code-context-engine
Save 94% on AI coding tokens. Index your codebase, agents search instead of reading files.
Active · last commit Aug 23, 2026
Developer toolsPythonAgent Bridge
raysonmeng/agent-bridge
A local bridge for bidirectional collaboration between Claude Code and Codex.
Active · last commit Sep 12, 2026
Developer toolsTypeScriptTomyud1 MCP Server
tomyud1/godot-mcp
MCP server for Godot game engine integration — control the Godot editor with AI.
Active · last commit Oct 17, 2026
Developer toolsGDScriptClaude Skills MCP
K-Dense-AI/claude-skills-mcp
MCP server for searching and retrieving Scientific Agent Skills using vector search.
Maintained · last commit Jul 20, 2026
Developer toolsPythonAI Agent Team
peterfei/ai-agent-team
AI Agent Team-拥有24/7专业AI开发团队:产品经理、前端开发、后端开发、测试工程师、DevOps工程师、技术负责人。一键安装,支持中英文命令,大幅提升开发效率!.
Maintained · last commit Jun 29, 2026
Developer toolsJavaScriptGhost in the Droid
ghost-in-the-droid/android-agent
Give any LLM agent a real Android or iPhone as its body.
Active · last commit Aug 13, 2026
Developer toolsPython
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.