Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, and the description adds substantial context on top: the 0.02 USDC per-call cost with the x402 payment chains, the 20,000-token truncation cutoff plus how much was read, and that output is grounded strictly in the document. These are the exact behavioral facts an agent cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.