Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds critical behaviors: it never returns the secret, is free, requires read-scoped API key, and lists specific errors (unauthorized, not_found, rate_limited). This rich context helps the agent anticipate side effects and failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.