Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the idempotentHint/destructiveHint annotations, the description discloses auth requirements, the mandatory confirmation step, and — most valuably — the snapshot semantics (contact data is frozen at acceptance time and does not follow later profile edits). It also explains idempotency scope ('repeat of your own request') and maps the specific error codes an agent must branch on, which the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.