Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which already declare readOnly/idempotent/non-destructive), the description discloses ordering ("oldest first"), normalization ("MRR x12"), error behavior ("Unknown slug -> isError"), and a concrete rate/cost profile ("free, 100 calls/day without a key"). These are non-obvious operational facts an agent needs before deciding whether to call or fan out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.