Skip to content

Commit da603f7

Browse files
Skip empty SSE data to avoid parsing errors
1 parent 8824135 commit da603f7

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

examples/clients/simple-task-client/mcp_simple_task_client/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ async def run(url: str) -> None:
3333
ClientRequest(
3434
CallToolRequest(
3535
params=CallToolRequestParams(
36-
name="long_running_task",
37-
arguments={},
36+
name="delay",
37+
arguments={"duration": 3000},
3838
task=TaskMetadata(ttl=60000),
3939
)
4040
)

src/mcp/client/streamable_http.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,9 @@ async def _handle_sse_event(
160160
) -> bool:
161161
"""Handle an SSE event, returning True if the response is complete."""
162162
if sse.event == "message":
163+
# Skip empty data (keep-alive pings)
164+
if not sse.data:
165+
return False
163166
try:
164167
message = JSONRPCMessage.model_validate_json(sse.data)
165168
logger.debug(f"SSE message: {message}")

0 commit comments

Comments
 (0)