Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), yet the description adds substantive traits beyond them: calculations are deterministic, inputs must be explicit and non-identifying, no values are sourced from chats/files/accounts/documents/web, and the output excludes any decision or recommendation. These are exactly the behavioral boundaries an agent needs for routing and for deciding whether a request is in-scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.