Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so 'Read-only' in the description is largely redundant. Beyond annotations, it does add useful behavior: results are ordered newest first and each event carries a transaction hash. It still omits what 'recent' means, whether results are truncated by the limit, and whether a token filter narrows the event stream.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.