Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint supplied, the description carries the burden and delivers: a login requirement, a hard 200-item cap with no cursor, the truncation contract (only counts/broughtInTotal stay complete when truncated), contact-info masking to existence plus last 4 digits, and a shared 24h quota for INTRODUCED backfill and group creation. These are exactly the auth, rate-limit and data-shape disclosures an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.