Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds value by disclosing scope restrictions (only Coimbatore/Chennai), the supported=false response for out-of-scope cities, and the need to surface scopeMessage. This goes beyond what annotations provide, though it doesn't detail the full output structure (covered by output schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.