odoo_query_model
ActiveTool of Odoo
declared in 0.1.0
Power-user generic query: run search_read on ANY Odoo model. Provide model (e.g. "product.template"), domain (Odoo list-of-triples, e.g. [["list_price",">",100]]), fields, and limit. Use when no specific tool above fits.
Parameters schema
{
"type": "object",
"required": [
"url",
"db",
"username",
"_apiKey",
"model"
],
"properties": {
"db": {
"type": "string",
"description": "Odoo database name."
},
"url": {
"type": "string",
"description": "Odoo instance base URL, e.g. https://mycompany.odoo.com (trailing slash optional). Works for Odoo Online and self-hosted."
},
"limit": {
"type": "number",
"description": "Max records (default 20)."
},
"model": {
"type": "string",
"description": "Odoo model name, e.g. \"product.template\", \"stock.picking\", \"hr.employee\"."
},
"order": {
"type": "string",
"description": "Sort spec, e.g. \"create_date desc\"."
},
"domain": {
"type": "array",
"items": {},
"description": "Odoo search domain — a list of triples [field, operator, value], e.g. [[\"active\",\"=\",true],[\"name\",\"ilike\",\"acme\"]]. Empty array [] matches all."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Field names to return, e.g. [\"name\",\"create_date\"]. Omit to let Odoo return its default field set."
},
"offset": {
"type": "number",
"description": "Number of records to skip (pagination)."
},
"_apiKey": {
"type": "string",
"description": "Odoo API key (Settings → Account Security → API Keys) or account password."
},
"username": {
"type": "string",
"description": "Odoo login email."
}
}
}No endpoints wrapped at confidence ≥ 0.50.
Parent server
Odoo
https://github.com/pipeworx-io/mcp-odoo
1/7 registries