Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which already declare readOnly/idempotent/openWorld/non-destructive), it discloses that the call is stateless, capped at 32 KB, rate-limited to 60 RPM, has a 150 s timeout, and supports demo/L402 payment modes. It also states the failure behavior (HTTP 400 on invalid input), which is exactly the kind of operational context the description should carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.