Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent/non-destructive, and the description adds substantial context they cannot carry: 16K char cap, max 10 fields, list-mode array semantics, $0.05 per call over x402, prepaid x-credit-token header for unlimited calls, and no free tier. Payment and quota behavior is exactly the kind of trait an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.