Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, it discloses the three return classifications, the 4,000-char input cap, the matched-rule categories, and — critically — the per-call cost and payment rails (x402, USDC on five chains). Cost and billing model are behavioral facts annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.