From 9a58b30886d3e044a2a206de31e287a4d7c962e1 Mon Sep 17 00:00:00 2001 From: Jonathan Lima Date: Mon, 7 Apr 2025 17:38:24 -0300 Subject: [PATCH] fixing /mcp case prefix on langchain --- src/mcp/client/sse.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mcp/client/sse.py b/src/mcp/client/sse.py index f78228524..298361326 100644 --- a/src/mcp/client/sse.py +++ b/src/mcp/client/sse.py @@ -62,20 +62,22 @@ async def sse_reader( logger.debug(f"Received SSE event: {sse.event}") match sse.event: case "endpoint": + url_parsed = urlparse(url) + base_path = re.search( - r"https?://[^/]+/(.+)/sse$", url + r"https?://[^/]+/(.+?)(?:/mcp)?/sse$", url ) base_path = ( base_path.group(1) if base_path else "" ) endpoint_url = urljoin( - url, base_path + sse.data + url_parsed.scheme + "://" + url_parsed.netloc, + base_path + sse.data ) logger.info( f"Received endpoint URL: {endpoint_url}" ) - url_parsed = urlparse(url) endpoint_parsed = urlparse(endpoint_url) if ( url_parsed.netloc != endpoint_parsed.netloc