From e7ebdaefb14363ba4bdb2e55caa9c1d715d000a8 Mon Sep 17 00:00:00 2001 From: dizhaky Date: Fri, 26 Jun 2026 11:16:36 -0400 Subject: [PATCH] fix(memgw): catch ValueError on malformed URL in is_available (Codex PR#31 review) --- plugins/memory/memgw/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/memory/memgw/__init__.py b/plugins/memory/memgw/__init__.py index 90d64069c2fc..311e6ce4fc38 100644 --- a/plugins/memory/memgw/__init__.py +++ b/plugins/memory/memgw/__init__.py @@ -174,7 +174,12 @@ def is_available(self) -> bool: # (Codex PR #30 review). Parse the URL and require an exact loopback host. from urllib.parse import urlparse - host = (urlparse(url).hostname or '').lower() + try: + host = (urlparse(url).hostname or '').lower() + except ValueError: + # Malformed URL (e.g. typoed IPv6 like "http://[::1:8081/mcp") — + # treat as unavailable rather than propagating the exception. + return False return host in ('localhost', '127.0.0.1', '::1') def get_config_schema(self):