Tools Reference
Complete reference for all 11 MCP tools provided by the Odoo MCP Server.
Query tools
odoo_search_read
Search and read records from any Odoo model.
| Parameter | Type | Default | Description |
|---|---|---|---|
model |
string | required | Model technical name (e.g. res.partner) |
domain |
list | null |
Search filter as list of tuples |
fields |
list | null |
Fields to return. null returns all |
limit |
int | 20 |
Max records |
offset |
int | 0 |
Skip records (pagination) |
order |
string | null |
Sort string (e.g. create_date desc) |
Returns: { model, count, records }
odoo_search_count
Count records matching a filter without fetching data.
| Parameter | Type | Default | Description |
|---|---|---|---|
model |
string | required | Model technical name |
domain |
list | null |
Search filter. null counts all |
Returns: { model, count }
odoo_export
Bulk export up to 2000 records per call. Designed for spreadsheet-style exports with pagination.
| Parameter | Type | Default | Description |
|---|---|---|---|
model |
string | required | Model technical name |
domain |
list | null |
Search filter |
fields |
list | null |
Fields to export |
limit |
int | 500 |
Max records (up to 2000) |
offset |
int | 0 |
Skip records |
order |
string | null |
Sort string |
Returns: { model, count, offset, next_offset, records }
Use next_offset to paginate — it's null when there are no more pages.
Write tools
Disabled when ODOO_READONLY=true.
odoo_create
Create a new record.
| Parameter | Type | Description |
|---|---|---|
model |
string | Model technical name |
values |
dict | Field values for the new record |
Returns: { model, operation: "create", id }
odoo_update
Update existing records.
| Parameter | Type | Description |
|---|---|---|
model |
string | Model technical name |
ids |
list[int] | Record IDs to update |
values |
dict | Field values to write |
Returns: { model, operation: "update", ids, success }
odoo_delete
Delete records.
| Parameter | Type | Description |
|---|---|---|
model |
string | Model technical name |
ids |
list[int] | Record IDs to delete |
Returns: { model, operation: "delete", ids, success }
odoo_execute
Execute any model method on records. Use this for workflows — confirming orders, posting invoices, validating stock moves, etc.
| Parameter | Type | Default | Description |
|---|---|---|---|
model |
string | required | Model technical name |
method |
string | required | Method name (e.g. action_confirm) |
ids |
list[int] | null |
Record IDs. null for methods without IDs |
Returns: { model, method, ids, result }
Discovery tools
odoo_list_models
List available Odoo models, filtered by keyword.
| Parameter | Type | Default | Description |
|---|---|---|---|
keyword |
string | "" |
Filter by technical name (e.g. sale, account) |
Returns: { count, models: [{ model, name }] }
odoo_get_fields
Get field definitions for a model.
| Parameter | Type | Default | Description |
|---|---|---|---|
model |
string | required | Model technical name |
attributes |
list | ["string", "type", "required", "readonly", "help"] |
Field metadata to return |
Returns: { model, fields: { field_name: { string, type, ... } } }
Diagnostic tools
odoo_doctor
Run health diagnostics. Checks server version, installed modules, active users, cron jobs, and recent error logs.
Parameters: None
Returns: { instance, database, version, summary, checks }
odoo_connection_info
Show current connection details.
Parameters: None
Returns: { url, database, username, version, uid }