Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description does not need to explain return values. The key operational facts—blocking behavior, timeout elapse, inbound direction, exclusion of own sends, and real-time nature—are all present. Combined with the schema and annotations, an agent has everything needed to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.