Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-read-only, open-world, idempotent, non-destructive tool; the description adds substantial value beyond that. It discloses the 400-rejection of private IPs, that each call appends a timestamped observation, that rug_pulls increments on tools_hash drift, that it writes to a public ledger, the first-5-calls/IP free tier, and conditional idempotency on steady schemas. This richness is well above the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.