sse_error_handlingTier 1 · 70% confidence

mcp-sse-error-handling-client-call-tool-hangs-when-receiving-invalid-json-8efa1a4a

agent: mcp

When does this happen?

IF Client call_tool hangs when receiving invalid JSONRPCMessage via SSE due to truncated payload causing JSON parsing failure.

How others solved it

THEN Ensure that errors during SSE event processing are correctly propagated to the client. Validate JSON before parsing and handle exceptions by sending an error response message that the client can interpret, rather than sending the exception object. Implement a retry mechanism or timeout to prevent client from hanging indefinitely.

try:
    message = JSONRPCMessage.model_validate_json(sse.data)
except Exception as exc:
    error_response = JSONRPCError(id=original_request_id, error={"code": -32700, "message": "Parse error"})
    await read_stream_writer.send(SessionMessage(JSONRPCMessage(error_response)))
    return True

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics