Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the generic profile (readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false). The description adds real operational context: execution is non-retrying, a successful run is metered against the monthly quota, the return is a status code plus response body, and one-time schedules are consumed by the call. These are exactly the facts an agent cannot infer from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.