
Odoo Mcp Gateway
A security-hardened gateway between Claude and Odoo 17/18/19 that lets you query, create, and update records through 27 tools without writing any Odoo-side code. Every request passes through rate limiting, model/method/field blocklists, and RBAC checks before hitting Odoo's native ACLs. Ships with hardcoded guardrails blocking 32 sensitive models, 29 dangerous methods, and 10 privileged fields that YAML config can't override. Includes brute-force protection, dry-run mode for testing writes, and auto-discovery of custom modules via ir.model. Works over stdio for Claude Desktop or HTTP for web clients. Reach for this when you need LLM access to Odoo data with defense-in-depth security that doesn't trust the config files alone.
- GitHub stars
- 3
- tools
- 15
- transport
- STDIO
- last updated
- Mar 17, 2026
Tools
15 toolsPublic tool metadata for what this MCP can expose to an agent.
loginAuthenticate with Odoo (api_key / password / session)
Authenticate with Odoo (api_key / password / session)
No parameter schema in public metadata yet.
list_modelsList accessible models with metadata and keyword filter
List accessible models with metadata and keyword filter
No parameter schema in public metadata yet.
get_model_fieldsGet field definitions for a model with optional filter
Get field definitions for a model with optional filter
No parameter schema in public metadata yet.
search_readSearch records with domain filters, field selection, ordering
Search records with domain filters, field selection, ordering
No parameter schema in public metadata yet.
get_recordGet a single record by ID
Get a single record by ID
No parameter schema in public metadata yet.
search_countCount matching records
Count matching records
No parameter schema in public metadata yet.
create_recordCreate a new record (supports `dry_run` for validation-only)
Create a new record (supports `dry_run` for validation-only)
No parameter schema in public metadata yet.
update_recordUpdate existing record (supports `dry_run` for validation-only)
Update existing record (supports `dry_run` for validation-only)
No parameter schema in public metadata yet.
delete_recordDelete a single record by ID (supports `dry_run`)
Delete a single record by ID (supports `dry_run`)
No parameter schema in public metadata yet.
read_groupAggregated grouped reads with temporal operators (`date:month`, `date:quarter`, etc.)
Aggregated grouped reads with temporal operators (`date:month`, `date:quarter`, etc.)
No parameter schema in public metadata yet.
get_defaultsPreview Odoo default values before `create_record`
Preview Odoo default values before `create_record`
No parameter schema in public metadata yet.
get_onchangePreview field side effects (with RBAC filtering)
Preview field side effects (with RBAC filtering)
No parameter schema in public metadata yet.
execute_methodCall allowed model methods (supports `dry_run`)
Call allowed model methods (supports `dry_run`)
No parameter schema in public metadata yet.
get_create_requirementsGet required fields and validation rules before creating a record
Get required fields and validation rules before creating a record
No parameter schema in public metadata yet.
get_record_actionsGet available workflow actions for an existing record
Get available workflow actions for an existing record
No parameter schema in public metadata yet.
Sponsors
Readme
odoo-mcp-gateway
Security-first, version-agnostic MCP gateway for Odoo 17/18/19. Works with stock and custom modules via YAML configuration. Zero Odoo-side code required.
30-Second Quick Start
pip install odoo-mcp-gateway
Add to Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["-m", "odoo_mcp_gateway"],
"env": {
"ODOO_URL": "http://localhost:8069",
"ODOO_DB": "your_database"
}
}
}
}
Restart Claude Desktop. In any conversation:
login with method "password", username "admin", credential "your_password"
Details
- Repository
- github.com/parth-unjiya/odoo-mcp-gateway
- Category
- Security & Pentesting
- Package
odoo-mcp-gateway- Transport
- STDIO
- Registry
- MCP registry, active