From 2ffc12d8656f614004abfb583ac26728b6806ae3 Mon Sep 17 00:00:00 2001 From: jason Date: Mon, 30 Mar 2026 19:08:21 -0500 Subject: [PATCH 1/2] Fix: remove date_deadline from helpdesk.ticket field lists (not a valid field in V18) --- server/odoo_mcp.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/odoo_mcp.py b/server/odoo_mcp.py index 0b45b04..1dd82b7 100644 --- a/server/odoo_mcp.py +++ b/server/odoo_mcp.py @@ -400,7 +400,7 @@ def search_helpdesk_tickets(query: str = "", stage: str = "", team: str = "", domain.append(["team_id.name", "ilike", team]) return _search_read("helpdesk.ticket", domain, ["id", "name", "partner_id", "stage_id", "team_id", - "user_id", "priority", "create_date", "date_deadline"], + "user_id", "priority", "create_date"], limit=limit, order="create_date desc") @mcp.tool() @@ -408,7 +408,7 @@ def get_helpdesk_ticket(ticket_id: int) -> dict: """Get full details of a helpdesk ticket by ID.""" r = _read("helpdesk.ticket", [ticket_id], ["id", "name", "partner_id", "stage_id", "team_id", "user_id", - "priority", "description", "create_date", "date_deadline", + "priority", "description", "create_date", "date_last_stage_update", "kanban_state", "tag_ids"]) return r[0] if r else {} From ba287b256744c2d4cade67c3b693ee284cd8e698 Mon Sep 17 00:00:00 2001 From: jason Date: Mon, 30 Mar 2026 19:15:41 -0500 Subject: [PATCH 2/2] Add created_after/created_before date filters to search_helpdesk_tickets --- server/odoo_mcp.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/server/odoo_mcp.py b/server/odoo_mcp.py index 1dd82b7..8c22551 100644 --- a/server/odoo_mcp.py +++ b/server/odoo_mcp.py @@ -389,8 +389,12 @@ def list_task_stages(project_id: int = None) -> list: @mcp.tool() def search_helpdesk_tickets(query: str = "", stage: str = "", team: str = "", + created_after: str = "", created_before: str = "", limit: int = 20) -> list: - """Search helpdesk tickets by name, stage, or team.""" + """Search helpdesk tickets by name, stage, or team. + created_after and created_before accept datetime strings in 'YYYY-MM-DD' or + 'YYYY-MM-DD HH:MM:SS' format to filter by creation date. + Example: created_after='2026-03-29' returns tickets created in the last 24 hours.""" domain = [] if query: domain.append(["name", "ilike", query]) @@ -398,6 +402,10 @@ def search_helpdesk_tickets(query: str = "", stage: str = "", team: str = "", domain.append(["stage_id.name", "ilike", stage]) if team: domain.append(["team_id.name", "ilike", team]) + if created_after: + domain.append(["create_date", ">=", created_after]) + if created_before: + domain.append(["create_date", "<=", created_before]) return _search_read("helpdesk.ticket", domain, ["id", "name", "partner_id", "stage_id", "team_id", "user_id", "priority", "create_date"],