MemPalace/mempalace · error · ValueError
{label} file not found: {path!r}
Error message
{label} file not found: {path!r} What it means
Error "{label} file not found: {path!r}" thrown in MemPalace/mempalace.
Source
Thrown at mempalace/mcp_server.py:6827
def _resolve_tls_paths() -> tuple:
"""Resolve the TLS cert/key from --tls-cert/--tls-key or env, or (None, None).
Flags take precedence over ``MEMPALACE_MCP_TLS_CERT`` / ``MEMPALACE_MCP_TLS_KEY``.
Both must be given together; one without the other is a configuration error
(raised here, before any bind, so it fails loudly at startup).
"""
cert = (
getattr(_args, "tls_cert", None) or os.environ.get("MEMPALACE_MCP_TLS_CERT", "")
).strip()
key = (getattr(_args, "tls_key", None) or os.environ.get("MEMPALACE_MCP_TLS_KEY", "")).strip()
if bool(cert) != bool(key):
raise ValueError("TLS requires both --tls-cert and --tls-key (or the matching env vars)")
if not cert:
return None, None
for label, path in (("--tls-cert", cert), ("--tls-key", key)):
if not os.path.isfile(path):
raise ValueError(f"{label} file not found: {path!r}")
return cert, key
def _wrap_tls(sock, cert: str, key: str):
"""Wrap a server socket in a TLS 1.2+ context. Raises on bad cert/key."""
import ssl
ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
ctx.minimum_version = ssl.TLSVersion.TLSv1_2
ctx.load_cert_chain(certfile=cert, keyfile=key)
return ctx.wrap_socket(sock, server_side=True)
def _http_is_loopback(host: str) -> bool:
"""Whether ``host`` binds only to this machine."""
return (host or "").strip().lower() in _HTTP_LOOPBACK_HOSTS
View on GitHub (pinned to 06cb6987f0)
Solutions
- Check the path and that the file exists and is readable
When it happens
Trigger: Thrown at mempalace/mcp_server.py:6827 when the library encounters an invalid state.
Common situations: A configured TLS cert/key file path does not exist.
AI-assisted analysis of MemPalace/mempalace@06cb6987f0 (2026-08-15).
Data as JSON: /api/errors/fdfdead35f4402d4.
Report an issue: GitHub.