Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint, idempotentHint, and non-destructive, so the bar is lower. The description adds non-obvious behavioral context: no API key is required, the tool exposes the full tool surface rather than just always-on tools, and every listed tool is callable via tools/call by name. This goes meaningfully beyond 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.