Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds valuable behavioral context: default SLIM response with 240-char truncation, the include='full' parameter to override, rate limits ('Free: 30/hr, Pro: 500/hr'), and the exact return shape including next_calls. This goes well beyond what annotations convey and does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.