Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, and the description adds meaningful behavioral context: it's deterministic (not an LLM call), always instant, and never consumes archive or LLM credit. It also discloses the return behavior (returns which tool to call, what next, and what NOT to start with). This adds value well beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.