Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only and open-world, but the description adds important runtime context: a hard 20 calls/hour rate limit, the free tier limitation, and the upstream data sources where the free constraint may matter. It doesn't explain fallback behavior if a pair isn't found on the first exchange, which would push it to a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.