diff --git a/src/mcp/client/streamable_http.py b/src/mcp/client/streamable_http.py index 82de50fd05..21a8f0a2cc 100644 --- a/src/mcp/client/streamable_http.py +++ b/src/mcp/client/streamable_http.py @@ -483,7 +483,10 @@ async def _handle_sse_response( # If the SSE event indicates completion, like returning response/error # break the loop if is_complete: - await response.aclose() + try: + await response.aread() + finally: + await response.aclose() return # Normal completion, no reconnect needed except Exception: logger.debug("SSE stream ended", exc_info=True) # pragma: lax no cover