Skip to content

Commit 8c0c485

Browse files
author
fuhaiwen1
committed
fix sse endpoint bug
1 parent 95b44fb commit 8c0c485

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/mcp/client/sse.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,15 @@ async def sse_reader(
7373
logger.debug(f"Received SSE event: {sse.event}")
7474
match sse.event:
7575
case "endpoint":
76-
endpoint_url = urljoin(url, sse.data)
76+
# endpoint_url = urljoin(url, sse.data)
77+
78+
parsed_url = urlparse(url)
79+
if parsed_url.path.endswith('/'):
80+
base_url = url
81+
else:
82+
base_path = '/'.join(parsed_url.path.split('/')[:-1]) + '/'
83+
base_url = f"{parsed_url.scheme}://{parsed_url.netloc}{base_path}"
84+
endpoint_url = urljoin(base_url, sse.data.lstrip('/'))
7785
logger.debug(f"Received endpoint URL: {endpoint_url}")
7886

7987
url_parsed = urlparse(url)

0 commit comments

Comments
 (0)