Odoo MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ODOO_DB | Yes | The name of the Odoo database (e.g., deeprunner) | |
| ODOO_URL | Yes | The URL of the Odoo server (e.g., https://odoo.deeprunner.ai) | |
| ODOO_PASSWORD | Yes | The password used to log into Odoo | |
| ODOO_USERNAME | Yes | The username or email used to log into Odoo |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| odoo_searchA | Search for records in any Odoo model using domain filters. Returns matching record IDs. |
| odoo_readC | Read specific fields from records by their IDs |
| odoo_search_readB | Search and read records in one call. Most efficient way to get data. |
| odoo_createC | Create a new record in any Odoo model |
| odoo_updateC | Update existing records in any Odoo model |
| odoo_deleteC | Delete records from any Odoo model |
| odoo_get_fieldsB | Get field definitions for an Odoo model. Useful to understand available fields. |
| odoo_executeB | Execute any method on an Odoo model. For advanced operations like workflow actions. |
| inventory_list_productsC | List products in inventory with stock quantities |
| inventory_get_stockB | Get current stock levels for products across warehouses |
| inventory_list_warehousesB | List all warehouses and their stock locations |
| inventory_list_operationsB | List pending inventory operations (receipts, deliveries, transfers) |
| inventory_create_transferC | Create an internal stock transfer between locations |
| crm_list_leadsC | List CRM leads/opportunities |
| crm_create_leadC | Create a new CRM lead/opportunity |
| sales_list_ordersC | List sales orders |
| sales_create_orderC | Create a new sales order (quotation) |
| sales_confirm_orderC | Confirm a quotation to convert it to a sales order |
| contacts_listC | List contacts/partners (customers, vendors, etc.) |
| contacts_createC | Create a new contact/partner |
| manufacturing_list_ordersC | List manufacturing orders |
| manufacturing_create_orderC | Create a new manufacturing order |
| manufacturing_list_bomsC | List Bills of Materials |
| purchase_list_ordersC | List purchase orders |
| purchase_create_orderC | Create a new purchase order |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Most tools are clearly distinct by domain and action, but there is some overlap between odoo_search and odoo_search_read, and between inventory_list_products and inventory_get_stock, which could cause minor confusion. However, descriptions help clarify differences.
All tool names follow a consistent snake_case pattern with a clear domain_action structure (e.g., contacts_create, inventory_list_products). This predictability makes it easy for agents to understand and navigate the toolset.
With 25 tools, the count is borderline high for a single server, potentially overwhelming for agents. While it covers multiple Odoo modules, it might benefit from consolidation or modularization to improve usability.
The toolset provides comprehensive coverage of Odoo's core domains (CRM, sales, inventory, manufacturing, purchase, contacts) with full CRUD operations via both specific and generic tools. No obvious gaps exist for typical agent workflows.