MCP server for Odoo ERP systems, with tools for reading records, discovering models and fields, aggregating data, diagnosing access, scanning addons, planning migrations, and running gated safe-write workflows.
Odoo MCP Server can read ERP records, model fields, access rules, relationships, server profiles, addons, and aggregated business data from the connected Odoo database., Direct `create`, `write`, and `unlink` are blocked by default, but `execute_approved_write`, `execute_method`, and `chatter_post` can still modify ERP state when gates and approvals are enabled., Safe writes require preview, live metadata validation, a same-session approval token, explicit confirmation, and `ODOO_MCP_ENABLE_WRITES=1`., Side-effect model methods should be allowlisted exactly with `ODOO_MCP_ALLOWED_SIDE_EFFECT_METHODS`; broad unknown-method mode should be limited to trusted deployments., Streamable HTTP binds locally by default; non-local binds need external authentication, TLS, and network policy because the server does not provide built-in HTTP authentication.
Privacy notes
Odoo URLs, database names, usernames, passwords, API keys, user context, company context, model names, record IDs, record fields, chatter messages, access diagnostics, addon paths, logs, and smoke-test output can be exposed to the MCP client., ERP records can include customer, employee, sales, inventory, accounting, HR, leave, product, warehouse, invoice, and custom-module data., Addon scanning can expose local source paths, model definitions, custom business logic, upgrade risks, and module names., Logs may include sanitized Odoo errors, method names, domains, model names, request metadata, and operational posture., Keep Odoo credentials in local MCP configuration only, and use least-privilege Odoo users, record rules, and company scopes for agent workflows.
Author
Le Anh Tuan
Submitted by
oktofeesh1
Claim status
unclaimed
Last verified
2026-06-06
Decision playbook
Review trust signals before you adopt
Signals are present but mixed. Use the checklist below to confirm the source and operational safety for your environment.
Compare context
Selected
0
Current score
63
Baseline
—
Delta
No baseline selected
No major trust-signal divergence detected in the current selection.
Source and provenance checks
Needs review
Confirm ownership and provenance before trusting install instructions.
Source link availableRequired
Open the canonical repository and verify ownership.
Done
Source provenance statusRequired
Marked as source-backed.
Done
Metadata reviewed
No reviewed flag detected in metadata.
Pending
Safety and privacy checks
Complete
Validate risk disclosures before installation or API wiring.
Safety notes presentRequired
Review the listed safety guidance before running commands.
Done
Privacy notes presentRequired
Review data handling notes before connecting accounts or secrets.
Done
Trust level risk gateRequired
Trust level does not block evaluation.
Done
Package and install checks
Needs review
Check package metadata and artifact integrity signals.
Install payload available
Install or copy payload is available for review.
Done
Package verification flag
No package verification flag provided.
Pending
Checksum metadata
No checksum provided for downloaded artifact.
Pending
Compare-driven decision checks
Needs review
Use compare context to validate trade-offs before adoption.
Compare tray has multiple entries
Add at least one more entry to compare trust differences.
5 safety and 5 privacy notes across 5 risk areas. Review closely: credentials & tokens, network access.
5 areas
SafetyLocal filesOdoo MCP Server can read ERP records, model fields, access rules, relationships, server profiles, addons, and aggregated business data from the connected Odoo database.
SafetyExecution & processesDirect `create`, `write`, and `unlink` are blocked by default, but `execute_approved_write`, `execute_method`, and `chatter_post` can still modify ERP state when gates and approvals are enabled.
SafetyCredentials & tokensSafe writes require preview, live metadata validation, a same-session approval token, explicit confirmation, and `ODOO_MCP_ENABLE_WRITES=1`.
SafetyGeneralSide-effect model methods should be allowlisted exactly with `ODOO_MCP_ALLOWED_SIDE_EFFECT_METHODS`; broad unknown-method mode should be limited to trusted deployments.
SafetyNetwork accessStreamable HTTP binds locally by default; non-local binds need external authentication, TLS, and network policy because the server does not provide built-in HTTP authentication.
PrivacyCredentials & tokensOdoo URLs, database names, usernames, passwords, API keys, user context, company context, model names, record IDs, record fields, chatter messages, access diagnostics, addon paths, logs, and smoke-test output can be exposed to the MCP client.
PrivacyGeneralERP records can include customer, employee, sales, inventory, accounting, HR, leave, product, warehouse, invoice, and custom-module data.
PrivacyLocal filesAddon scanning can expose local source paths, model definitions, custom business logic, upgrade risks, and module names.
PrivacyNetwork accessLogs may include sanitized Odoo errors, method names, domains, model names, request metadata, and operational posture.
PrivacyCredentials & tokensKeep Odoo credentials in local MCP configuration only, and use least-privilege Odoo users, record rules, and company scopes for agent workflows.
Disclosure: Community-maintained MIT MCP server for Odoo. Odoo is a separate ERP platform; users must follow Odoo hosting, account, module, database, and company access policies.
Safety notes
Odoo MCP Server can read ERP records, model fields, access rules, relationships, server profiles, addons, and aggregated business data from the connected Odoo database.
Direct `create`, `write`, and `unlink` are blocked by default, but `execute_approved_write`, `execute_method`, and `chatter_post` can still modify ERP state when gates and approvals are enabled.
Safe writes require preview, live metadata validation, a same-session approval token, explicit confirmation, and `ODOO_MCP_ENABLE_WRITES=1`.
Side-effect model methods should be allowlisted exactly with `ODOO_MCP_ALLOWED_SIDE_EFFECT_METHODS`; broad unknown-method mode should be limited to trusted deployments.
Streamable HTTP binds locally by default; non-local binds need external authentication, TLS, and network policy because the server does not provide built-in HTTP authentication.
Privacy notes
Odoo URLs, database names, usernames, passwords, API keys, user context, company context, model names, record IDs, record fields, chatter messages, access diagnostics, addon paths, logs, and smoke-test output can be exposed to the MCP client.
ERP records can include customer, employee, sales, inventory, accounting, HR, leave, product, warehouse, invoice, and custom-module data.
Addon scanning can expose local source paths, model definitions, custom business logic, upgrade risks, and module names.
Logs may include sanitized Odoo errors, method names, domains, model names, request metadata, and operational posture.
Keep Odoo credentials in local MCP configuration only, and use least-privilege Odoo users, record rules, and company scopes for agent workflows.
Prerequisites
Odoo 16 or newer instance reachable from the machine running the MCP server.
Odoo database name, username, and password or API key for XML-RPC, or Odoo 19 JSON-2 credentials.
Python 3.10 or newer with `uvx`, `pipx`, `pip`, or a container runtime.
Review of the Odoo user's groups, record rules, companies, databases, modules, and model access before connecting Claude.
Optional write gates such as `ODOO_MCP_ENABLE_WRITES`, `ODOO_MCP_ALLOWED_SIDE_EFFECT_METHODS`, and local HTTP host/origin allowlists when needed.
Schema details
Install type
cli
Troubleshooting
No
Source repository stats
Scope
Source repo
Collection metadata
Estimated setup
20 minutes
Difficulty
advanced
Tool listing metadata
Disclosure
Community-maintained MIT MCP server for Odoo. Odoo is a separate ERP platform; users must follow Odoo hosting, account, module, database, and company access policies.
Odoo MCP Server connects Claude and other MCP clients to Odoo ERP systems using
existing Odoo credentials. It supports read-only record access, model and field
discovery, server-side aggregation, diagnostics, schema catalogs, addon scans,
fit/gap reports, migration helpers, and approval-gated write workflows.
Use it when Claude needs supervised Odoo context for ERP analysis, operations,
support, upgrade planning, addon audits, or carefully reviewed record changes.
These sources were reviewed on 2026-06-06. Prefer the live repository,
README, PyPI project, license, Python package metadata, security notes, client
configuration guide, server implementation, agent-tool helpers, and diagnostics
implementation for current setup and behavior details.
Features
List Odoo models, inspect fields, read records, search records, and aggregate
data server-side.
Diagnose Odoo calls, access rules, record-rule visibility, model
relationships, and runtime posture.
Build validated Odoo domains and generate XML-RPC to JSON-2 migration
payloads.
Scan local addon source without importing addon code.
Generate fit/gap, business-pack, module-audit, and upgrade-risk reports.
Use approval-gated write flows for create, update, delete, chatter, and
reviewed side-effect methods.
Run over stdio or local streamable HTTP with host and origin protections.
Installation
Configure Odoo connection values, then run the package health check:
uvx odoo-mcp --health
A typical stdio MCP configuration uses uvx and local environment variables:
Use ODOO_TRANSPORT=json2 and the documented JSON-2 environment variables for
Odoo 19 deployments that should use External JSON-2.
Use Cases
Ask Claude to find customers, products, orders, invoices, employees, or
inventory records that match an Odoo domain.
Inspect model fields and relationships before building reports or
integrations.
Diagnose access-rule failures or record-rule visibility for an Odoo user.
Scan local custom addons for upgrade and migration risks.
Plan XML-RPC to JSON-2 migration steps.
Preview and validate a proposed ERP write before enabling approval-gated
execution.
Safety and Privacy
Odoo MCP Server touches ERP systems that may hold critical business data. Start
with read-only analysis, use least-privilege Odoo credentials, keep HTTP
transports local unless externally protected, and require explicit approval for
any write, side-effect method, or chatter operation.
Treat Odoo credentials, database names, model names, record IDs, domains, ERP
records, employee data, customer data, accounting data, inventory data, addon
source paths, logs, diagnostics, and migration reports as sensitive operational
data. Avoid sharing MCP transcripts or screenshots that include private Odoo
records.
Show that Odoo MCP Server is listed on HeyClaude. Paste this Markdown into your README — it renders the badge and links back to this page.
[](https://heyclau.de/entry/mcp/odoo-mcp-server)
How it compares
Odoo MCP Server side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.
1 trust signal differ across this comparison (Submitter).
MCP server for Odoo ERP systems, with tools for reading records, discovering models and fields, aggregating data, diagnosing access, scanning addons, planning migrations, and running gated safe-write workflows.
Real-time product search and price comparison across 11M+ products from Singapore, Southeast Asia, and US marketplaces via a remote streamable-HTTP MCP endpoint with API key auth.
Official LINE MCP server that connects Claude and other AI agents to the LINE Messaging API for push messages, broadcasts, profile lookup, quotas, follower IDs, and rich-menu management.
Telethon-powered MCP server for connecting Claude to Telegram accounts, chats, messages, contacts, media, folders, groups, channels, profile settings, and read-only or full account workflows.
✓Odoo MCP Server can read ERP records, model fields, access rules, relationships, server profiles, addons, and aggregated business data from the connected Odoo database.
Direct `create`, `write`, and `unlink` are blocked by default, but `execute_approved_write`, `execute_method`, and `chatter_post` can still modify ERP state when gates and approvals are enabled.
Safe writes require preview, live metadata validation, a same-session approval token, explicit confirmation, and `ODOO_MCP_ENABLE_WRITES=1`.
Side-effect model methods should be allowlisted exactly with `ODOO_MCP_ALLOWED_SIDE_EFFECT_METHODS`; broad unknown-method mode should be limited to trusted deployments.
Streamable HTTP binds locally by default; non-local binds need external authentication, TLS, and network policy because the server does not provide built-in HTTP authentication.
✓Read-only product catalog access by default; no write or delete operations exposed.
API key should be stored in the MCP client config or environment, never committed.
✓LINE Bot MCP Server can push text and flex messages to users, broadcast messages to all followers, retrieve follower IDs, inspect profiles, check message quotas, create rich menus, set default rich menus, cancel defaults, and delete rich menus.
Broadcast and rich-menu tools can affect every user following the connected LINE Official Account, so require human approval before running them in production.
Push-message tools can contact individual users directly; confirm the target `userId`, message body, and account context before sending.
Rich-menu tools can upload generated menu images and change user-facing navigation for the account.
Use least-privilege channel tokens where possible, keep test and production LINE accounts separate, and monitor quota consumption.
The upstream README marks the project as a preview version for experimental use with potentially incomplete functionality or support.
✓Telegram MCP Server can read chats and messages, send, schedule, edit, delete, forward, and pin messages, mark chats read, create polls, press inline buttons, manage contacts, manage groups and channels, upload or download media, and update profile settings when write tools are exposed.
A Telegram session string has the normal authority of the Telegram account inside the server process; read-only mode limits the MCP tool surface but does not reduce the underlying session authority.
The upstream README warns that the PyPI `telegram-mcp` name is owned by a different project, so do not pass Telegram API credentials or session strings to that package.
File-path tools are disabled until allowed roots are configured; keep upload and download roots narrow when enabling media or file operations.
Require human approval before sending, editing, deleting, forwarding, pinning, reacting, inviting, banning, changing permissions, or updating profile and privacy settings.
Use separate Telegram accounts for testing, monitor Telegram rate limits and platform rules, and keep proxies or multi-account routing explicit.
Privacy notes
✓Odoo URLs, database names, usernames, passwords, API keys, user context, company context, model names, record IDs, record fields, chatter messages, access diagnostics, addon paths, logs, and smoke-test output can be exposed to the MCP client.
ERP records can include customer, employee, sales, inventory, accounting, HR, leave, product, warehouse, invoice, and custom-module data.
Addon scanning can expose local source paths, model definitions, custom business logic, upgrade risks, and module names.
Logs may include sanitized Odoo errors, method names, domains, model names, request metadata, and operational posture.
Keep Odoo credentials in local MCP configuration only, and use least-privilege Odoo users, record rules, and company scopes for agent workflows.
✓BuyWhere API key is sent as a Bearer token in the Authorization header on every request.
Search queries are sent to BuyWhere's API to retrieve product data; no third-party analytics or telemetry is included in MCP responses.
BuyWhere may log API request metadata (endpoint, timestamp, status) for abuse prevention and billing.
✓Channel access tokens, destination user IDs, follower IDs, profile display names, profile picture URLs, status messages, language, message contents, flex-message JSON, and rich-menu IDs can be exposed to the MCP client.
Broadcast prompts, generated messages, user IDs, and profile results may be retained in MCP client logs, terminal history, model context, or chat transcripts.
Treat LINE Official Account credentials and recipient identifiers as secrets, and avoid pasting real tokens or user IDs into shared logs.
Review LINE platform policies and internal consent requirements before retrieving follower IDs or using AI-generated outbound messages.
✓Telegram API IDs, API hashes, session strings, account labels, chat titles, usernames, phone-adjacent identifiers, messages, media, contacts, group membership, profile photos, user status, read receipts, drafts, and folder metadata can be exposed to the MCP client.
Chat history and media can contain private conversations, personal data, business records, access links, invite links, documents, photos, voice notes, stickers, GIFs, and user-controlled prompt-injection text.
The project includes output sanitization for user-controlled content, but sanitized Telegram content should still be treated as untrusted model input.
Store session strings like passwords, keep them out of shell history and shared logs, and revoke sessions if they are exposed.
Review MCP transcripts, downloaded media folders, Telegram session files, and proxy logs before sharing or retaining them.
Prerequisites
Odoo 16 or newer instance reachable from the machine running the MCP server.
Odoo database name, username, and password or API key for XML-RPC, or Odoo 19 JSON-2 credentials.
Python 3.10 or newer with `uvx`, `pipx`, `pip`, or a container runtime.
Review of the Odoo user's groups, record rules, companies, databases, modules, and model access before connecting Claude.
A BuyWhere API key (free at https://buywhere.ai/api-keys).
An MCP client such as Claude Code, Claude Desktop, Cursor, Windsurf, or any MCP-compatible host.
Network access to https://api.buywhere.ai.
Node.js 22 or newer for the published npm package.
A LINE Official Account with the Messaging API enabled.
A LINE channel access token with the permissions needed for the intended tools.
A destination user ID when using the default recipient flow for push-message tools.
Python 3.10 or newer with `uv` available.
A trusted checkout of `https://github.com/chigwell/telegram-mcp`; do not use the unrelated PyPI package with the same distribution name.
Telegram API credentials from `my.telegram.org/apps`.
A Telegram session string or file-based session generated from the trusted checkout.