Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses significant behavioral details: ratios are built on the issuer's own filings rather than vendor data, the denominator's fiscal period is shown, negative denominators are withheld with a reason, and history mode uses each year's share count and close. This is exactly the kind of context agents need to interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.