diff --git a/src/mcp/client/streamable_http.py b/src/mcp/client/streamable_http.py index b749e210a..b1ab2c079 100644 --- a/src/mcp/client/streamable_http.py +++ b/src/mcp/client/streamable_http.py @@ -248,6 +248,7 @@ async def _handle_resumption_request(self, ctx: RequestContext) -> None: ctx.metadata.on_resumption_token_update if ctx.metadata else None, ) if is_complete: + await event_source.response.aclose() break async def _handle_post_request(self, ctx: RequestContext) -> None: @@ -330,6 +331,7 @@ async def _handle_sse_response( # If the SSE event indicates completion, like returning respose/error # break the loop if is_complete: + await response.aclose() break except Exception as e: logger.exception("Error reading SSE stream:")