diff --git a/src/mcp/client/sse.py b/src/mcp/client/sse.py index 0c05c6def..d0a8dd8c4 100644 --- a/src/mcp/client/sse.py +++ b/src/mcp/client/sse.py @@ -8,6 +8,7 @@ from anyio.abc import TaskStatus from anyio.streams.memory import MemoryObjectReceiveStream, MemoryObjectSendStream from httpx_sse import aconnect_sse +from httpx_sse._exceptions import SSEError import mcp.types as types from mcp.shared._httpx_utils import McpHttpClientFactory, create_mcp_http_client @@ -105,6 +106,9 @@ async def sse_reader( await read_stream_writer.send(session_message) case _: logger.warning(f"Unknown SSE event: {sse.event}") + except SSEError as sse_exc: + logger.exception("Encountered SSE exception") + raise sse_exc except Exception as exc: logger.error(f"Error in sse_reader: {exc}") await read_stream_writer.send(exc)