Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/openWorld annotations: it discloses the 90-day lookback, the Base-USDC-only scope, the crucial interpretive caveat that absence reads as 'thin' and never as bad, and the commercial mechanics ($0.03 per call over x402, prepaid x-credit-token header for unlimited calls, 1 free call/day, no API key). Those are material facts an agent cannot infer 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.