Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint, openWorldHint), and the description adds genuinely non-obvious behavior: this is a pay-per-call endpoint billed in x402 USDC on Base, and a missing payment yields a payment challenge in the response rather than an error. That discloses a multi-step protocol an agent could not infer from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.