Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses default detail behavior, the semantic difference between detail values, the error result for unknown slugs (not_found with knownSlugs), and locale default behavior. This gives an agent a clear model of how the tool behaves at runtime.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.