From 3505a5ff27e30e8b4b1c6f4397df0776487563d3 Mon Sep 17 00:00:00 2001 From: Afonso Coutinho Date: Tue, 2 Jun 2026 17:35:00 +0100 Subject: [PATCH] fix: list_emails honors unresponded_only without requiring unread_only (#1287) --- mcp_servers/email_server.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mcp_servers/email_server.py b/mcp_servers/email_server.py index ed98ccc..354e592 100644 --- a/mcp_servers/email_server.py +++ b/mcp_servers/email_server.py @@ -417,6 +417,11 @@ def _list_emails(folder="INBOX", max_results=20, unresponded_only=False, status, data = conn.uid("SEARCH", None, "(UNSEEN UNANSWERED)") elif unread_only: status, data = conn.uid("SEARCH", None, "(UNSEEN)") + elif unresponded_only: + # Was missing — unresponded_only=True (without unread_only) fell through + # to "ALL" and returned answered mail too, despite the documented + # "emails without replies" behaviour. + status, data = conn.uid("SEARCH", None, "(UNANSWERED)") else: # Include read too — IMAP search "ALL" returns the entire folder status, data = conn.uid("SEARCH", None, "ALL")