From b5f79b2385bc37de9932a10a7e40cca5928d5f44 Mon Sep 17 00:00:00 2001 From: PR-Contributor Date: Sun, 22 Mar 2026 21:06:46 +0000 Subject: [PATCH] fix: improve log clarity for stateless mode session termination In stateless HTTP mode, every request logs 'INFO: Terminating session: None'. This is correct behavior but confusing to users who assume their connection is failing. Changes: - Downgrade stateless cleanup to DEBUG (routine, not noteworthy) - Use clearer wording: 'Stateless request completed, cleaning up transport' - Keep existing INFO-level log for actual session terminations Fixes #2329 --- src/mcp/server/streamable_http.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mcp/server/streamable_http.py b/src/mcp/server/streamable_http.py index aa99e7c88..ada9c6121 100644 --- a/src/mcp/server/streamable_http.py +++ b/src/mcp/server/streamable_http.py @@ -767,7 +767,10 @@ async def terminate(self) -> None: """ self._terminated = True - logger.info(f"Terminating session: {self.mcp_session_id}") + if self.mcp_session_id: + logger.info(f"Terminating session: {self.mcp_session_id}") + else: + logger.debug("Stateless request completed, cleaning up transport") # We need a copy of the keys to avoid modification during iteration request_stream_keys = list(self._request_streams.keys())