From d1ac8d68eb2d7ed139bdc2608b8b4e2ec4265be5 Mon Sep 17 00:00:00 2001 From: Moustapha Ebnou <155577789+mous222@users.noreply.github.com> Date: Thu, 14 Aug 2025 14:51:59 +0200 Subject: [PATCH] fix: prevent async generator cleanup errors in StreamableHTTP transport (#1271) Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com> --- src/mcp/client/streamable_http.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mcp/client/streamable_http.py b/src/mcp/client/streamable_http.py index b749e210..b1ab2c07 100644 --- a/src/mcp/client/streamable_http.py +++ b/src/mcp/client/streamable_http.py @@ -248,6 +248,7 @@ class StreamableHTTPTransport: 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 @@ class StreamableHTTPTransport: # 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:")