Thirty-one rows, including the ones where Odoo’s server wins. “Not described” means Odoo’s
published 20.0 MCP documentation does not cover it, as of 24 September 2026.
Capability Odoo 20 native MCP Execution Layer for Odoo
Access and identity
Setup Yes: Built into the AI app Yes: One module on your addons path; nothing to pip install
Sign-in Partly: Static API key per user, MCP scope, validity period Yes: OAuth 2.1 with PKCE; 60-minute access tokens, rotating refresh; scoped API keys for jobs
Where credentials live Partly: The key sits in the client’s config, sent as a Bearer header Yes: Tokens stored as SHA-256 hashes; revocation is immediate
Connection Partly: npx mcp-remote bridge, Node.js required Yes: MCP Streamable HTTP, direct
Documented clients Yes: Claude Code, Claude Desktop, Codex, Antigravity Yes: Claude, ChatGPT, Cursor, any MCP client
Per-person off switch Partly: Keys expire or can be deleted; no administrator switch described Yes: No access refuses existing tokens and keys at once, reversibly
Control before the write
Which tools exist Partly: Admin ticks Available in MCP per server action, for the whole database Yes: Role bundles per person; unavailable tools are absent
Read-only Partly: Readonly flag advises the client Yes: Enforced on the server by level and bundle
Human approval No: Not described Yes: Bound to a SHA-256 of the exact payload, decided in Odoo, 24-hour expiry
Business rules No: Not described Yes: Preconditions and required-for-AI fields
Business buttons n/a: No documented tool presses them Yes: Per-method allow-list, risk-classed
Sensitive fields No: Not described Yes: Confidential and personal data hidden by default
Ambiguous targets No: Left to the model Yes: Refused with candidates
Dry run No: Not described Yes: Simulator: allowed, denied, or approval, before anything runs
Proof after the write
Read-back verification No: Not described Yes: Post-commit read, field by field
Receipt No: Not described Yes: Action Receipt with before and after
Retry safety No: Not described Yes: Idempotency keys, replayed receipt
Multi-step atomicity No: Not described Yes: Atomic batches of up to 100 operations
Cut-short reads flagged No: Not described Yes: total_count, truncated, has_more
Evidence
Log of AI calls and refusals No: Not described Yes: Every call, even when refused or rolled back
Before and after values Partly: Chatter tracking on tracked fields, as for any user Yes: Every field the AI wrote
Tamper resistance No: Not described Yes: ORM guard, PostgreSQL trigger, SHA-256 hash chain
Alerts No: Not described Yes: Email, webhook, or Odoo activity
Machine-readable refusals No: Not described Yes: 42 stable codes, each with a reason and where to fix it
Reach and fit
Discuss, chatter, WhatsApp No: No documented tool Yes: Governed, confirm-by-default
Navigate Odoo’s screens Yes: Nine navigation tools No: Not offered
Website and image tools Yes: CSS, page HTML, image generation No: Not offered
Odoo Community No: Not in the Community source Yes: Supported
Odoo Online Yes: Odoo’s example endpoint is an Online URL No: Not possible: custom modules cannot be installed
Odoo 19 on your servers No: Not included in 19.0 Yes: Available now
Odoo 20 Yes: Documented in 20.0 Partly: Support in progress