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):