nicolasramos avatar

Odoo Mcp

nicolasramos/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 tools

Public 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*secret

Odoo password for authentication

ODOO_MCP_DEFAULT_LIMIT

Default limit for search results (default: 50)

ODOO_MCP_MAX_LIMIT

Maximum 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-mcp
  • odoo-mcp-server
  • odoo-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)


View the full README on GitHub

Details

Repository
github.com/nicolasramos/odoo-mcp
Package
odoo-18-mcp-server
Transport
STDIO
Auth
Required
Registry
MCP registry, active