Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and openWorld annotations, the description adds meaningful behavioral details: the URL is fresh for five minutes, the operation is free forever, entitlement failure returns `not_entitled` rather than a 402, and `wallet_signature` is required for proof of ownership. This is exactly the kind of context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.