
Odoo Mcp
A full-featured MCP bridge to Odoo 18 that exposes 85 tools covering CRUD operations, business workflows, and module-specific actions across sales, CRM, purchasing, accounting, projects, helpdesk, and inventory. You get direct access to Odoo's JSON-RPC API with Pydantic validation, security guardrails like model allowlists and denylisted fields, and helpers for Odoo 18 field semantics like customer_rank and payment_state. Includes convenient composite tools for common patterns like creating sale orders with line items, registering payments against invoices, and posting chatter messages. The server also surfaces five discovery resources for model schemas and record summaries. Reach for this when you need LLM-driven automation or conversational interfaces on top of an existing Odoo instance without building custom integration middleware.
- GitHub stars
- 4
- tools
- 39
- auth
- Secret needed
- transport
- STDIO
- env vars
- 6
- last updated
- Apr 3, 2026
Tools
39 toolsPublic tool metadata for what this MCP can expose to an agent.
odoo_searchSearch records in an allowed model using Odoo domain syntax.
Search records in an allowed model using Odoo domain syntax.
No parameter schema in public metadata yet.
odoo_readRead selected fields from specific record IDs.
Read selected fields from specific record IDs.
No parameter schema in public metadata yet.
odoo_search_readCombined search + read for efficient retrieval.
Combined search + read for efficient retrieval.
No parameter schema in public metadata yet.
odoo_createCreate a new record in an allowed model.
Create a new record in an allowed model.
No parameter schema in public metadata yet.
odoo_writeUpdate existing records in an allowed model.
Update existing records in an allowed model.
No parameter schema in public metadata yet.
odoo_invoke_actionInvoke an Odoo model method such as `action_*` or `button_*`.
Invoke an Odoo model method such as `action_*` or `button_*`.
No parameter schema in public metadata yet.
odoo_get_record_summaryReturn a compact, human-friendly summary for a record.
Return a compact, human-friendly summary for a record.
No parameter schema in public metadata yet.
odoo_find_partnerFind a customer or vendor by name, VAT, or email.
Find a customer or vendor by name, VAT, or email.
No parameter schema in public metadata yet.
odoo_get_partner_summaryGet a partner overview with useful business context.
Get a partner overview with useful business context.
No parameter schema in public metadata yet.
odoo_find_sale_orderSearch sale orders by name, partner, or state.
Search sale orders by name, partner, or state.
No parameter schema in public metadata yet.
odoo_get_sale_order_summaryRetrieve a sale order summary including lines.
Retrieve a sale order summary including lines.
No parameter schema in public metadata yet.
odoo_create_sale_orderCreate a quotation / sale order with product lines.
Create a quotation / sale order with product lines.
No parameter schema in public metadata yet.
odoo_confirm_sale_orderConfirm a quotation into a sale order.
Confirm a quotation into a sale order.
No parameter schema in public metadata yet.
odoo_create_leadCreate a CRM lead / opportunity.
Create a CRM lead / opportunity.
No parameter schema in public metadata yet.
odoo_create_purchase_orderCreate a purchase order from partner and line data.
Create a purchase order from partner and line data.
No parameter schema in public metadata yet.
odoo_create_vendor_invoiceCreate a vendor bill.
Create a vendor bill.
No parameter schema in public metadata yet.
odoo_find_pending_invoicesFind posted invoices or bills pending payment using Odoo 18 semantics.
Find posted invoices or bills pending payment using Odoo 18 semantics.
No parameter schema in public metadata yet.
odoo_get_invoice_summaryGet a detailed summary of an invoice or bill.
Get a detailed summary of an invoice or bill.
No parameter schema in public metadata yet.
odoo_register_paymentRegister a payment for a specific invoice.
Register a payment for a specific invoice.
No parameter schema in public metadata yet.
odoo_find_taskSearch project tasks by name, project, or stage.
Search project tasks by name, project, or stage.
No parameter schema in public metadata yet.
odoo_create_taskCreate a new project task.
Create a new project task.
No parameter schema in public metadata yet.
odoo_update_taskUpdate task stage, assignee, or deadline.
Update task stage, assignee, or deadline.
No parameter schema in public metadata yet.
odoo_create_activitySchedule an activity on a record.
Schedule an activity on a record.
No parameter schema in public metadata yet.
odoo_list_pending_activitiesList pending activities, optionally filtered by model or assignee.
List pending activities, optionally filtered by model or assignee.
No parameter schema in public metadata yet.
odoo_mark_activity_doneMark an activity as completed.
Mark an activity as completed.
No parameter schema in public metadata yet.
odoo_post_chatter_messagePost a chatter message on a record.
Post a chatter message on a record.
No parameter schema in public metadata yet.
odoo_create_activity_summaryCreate a summary-style activity for follow-up.
Create a summary-style activity for follow-up.
No parameter schema in public metadata yet.
odoo_close_activity_with_reasonClose an activity and record the reason.
Close an activity and record the reason.
No parameter schema in public metadata yet.
odoo_log_timesheetLog a timesheet entry for a project or task.
Log a timesheet entry for a project or task.
No parameter schema in public metadata yet.
odoo_get_capabilitiesReport which modules and capabilities are available in the connected instance.
Report which modules and capabilities are available in the connected instance.
No parameter schema in public metadata yet.
odoo_create_helpdesk_ticketCreate a helpdesk ticket directly.
Create a helpdesk ticket directly.
No parameter schema in public metadata yet.
odoo_create_helpdesk_ticket_from_partnerCreate a helpdesk ticket linked to a partner.
Create a helpdesk ticket linked to a partner.
No parameter schema in public metadata yet.
odoo_draft_ticket_emailPrepare a draft support email from a ticket context.
Prepare a draft support email from a ticket context.
No parameter schema in public metadata yet.
odoo_create_contract_lineAdd a line to a contract.
Add a line to a contract.
No parameter schema in public metadata yet.
odoo_replace_contract_lineReplace an existing contract line with a new one.
Replace an existing contract line with a new one.
No parameter schema in public metadata yet.
odoo_close_contract_lineClose a contract line with a reason and close date.
Close a contract line with a reason and close date.
No parameter schema in public metadata yet.
odoo_get_product_stockInspect stock quantities for a product.
Inspect stock quantities for a product.
No parameter schema in public metadata yet.
odoo_create_calendar_eventCreate a meeting or appointment with attendees.
Create a meeting or appointment with attendees.
No parameter schema in public metadata yet.
odoo_get_model_schemaInspect the fields and schema of a model such as `res.partner` or `account.move`.
Inspect the fields and schema of a model such as `res.partner` or `account.move`.
No parameter schema in public metadata yet.
Sponsors
Configuration
ODOO_URL*URL of your Odoo instance (e.g., https://yourcompany.odoo.com)
ODOO_DB*Name of your Odoo database
ODOO_USERNAME*Odoo username for authentication
ODOO_PASSWORD*secretOdoo password for authentication
ODOO_MCP_DEFAULT_LIMITDefault limit for search results (default: 50)
ODOO_MCP_MAX_LIMITMaximum limit for search results (default: 80)
Readme
OdooClaw MCP
Standalone MCP (Model Context Protocol) server for Odoo 18 over stdio.
MCP name: io.github.nicolasramos/odooclaw-mcp
PyPI package: odooclaw-mcp
Official CLI: odooclaw-mcp
Backward-compatible aliases are also installed:
odoo-mcpodoo-mcp-serverodoo-18-mcp-server
Quick Start
1) Install
pip install odooclaw-mcp
From source:
git clone https://github.com/nicolasramos/odooclaw-mcp.git
cd odooclaw-mcp
pip install -e .
2) Configure environment
cp .env.example .env
Required:
ODOO_URL=https://yourcompany.odoo.com
ODOO_DB=your_database
ODOO_USERNAME=your_username
ODOO_PASSWORD=your_password
Optional:
ODOO_MCP_DEFAULT_LIMIT=50
ODOO_MCP_MAX_LIMIT=80
LOG_LEVEL=INFO
3) Validate and run
odooclaw-mcp --check-config
odooclaw-mcp
Alternative:
python -m odoo_mcp
MCP Client Configuration (stdio)
Details
- Repository
- github.com/nicolasramos/odoo-mcp
- Package
odoo-18-mcp-server- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active