Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only and idempotent. The description adds behavioral context by specifying the accepted code formats (ISO2, ISO3, aggregates) and the list of metadata fields returned, which are not specified in annotations. This informs the agent about acceptable inputs and expected output content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.