Odoo MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ODOO_DB | Yes | Database name | |
| ODOO_URL | Yes | Your Odoo base URL | |
| ODOO_API_KEY | Yes | API key (or password) | |
| ODOO_USERNAME | Yes | Login (email) | |
| ODOO_TIMEOUT_MS | No | Per-request timeout (ms) | 30000 |
| ODOO_ENABLE_WRITES | No | Set 'true' to allow writes | false |
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| odoo_search_readB | Search and read records from any Odoo model in one call. Returns matching records with the requested fields. |
| odoo_readC | Read specific records by their IDs. |
| odoo_countC | Count records matching a domain. |
| odoo_fieldsA | Introspect a model's fields — names, types, labels, relations. Useful before querying an unfamiliar model. |
| odoo_list_modelsB | List available Odoo models, optionally filtered by a substring of the technical name. |
| odoo_overdue_invoicesB | List unpaid customer invoices past their due date — an instant accounts-receivable / cash-flow view. |
| odoo_sales_summaryA | Total revenue and order count over a date range, from sales orders (default) or POS orders. |
| odoo_low_stockB | List storable products at or below a quantity threshold — restock alerts. |
| odoo_top_customersA | Top customers ranked by invoiced revenue over a date range. |
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 9 tools
Each tool has a distinct purpose: generic data access (search_read, read, count, fields, list_models) and specific business reports (overdue_invoices, sales_summary, low_stock, top_customers). No overlap between tools.
All tools follow the 'odoo_<action>' pattern in snake_case. Verbs are clear and consistent (search_read, read, count, list_models) and report names are descriptive nouns. No deviation.
With 9 tools, the set covers basic CRUD operations and several key business reports, which is reasonable for an Odoo MCP server. It is slightly on the lower side but not inadequate.
Significant gaps exist: no create, update, or delete operations for records. The server is largely read-only, which limits agents from performing many real-world tasks like updating invoices or creating sales orders.