Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the description bears the full burden of behavioral disclosure. It explains the non-idempotent nature ('Returns immediately with a call_ref; the call then rings and runs on its own'), the asynchronous execution model, and the concurrency constraint ('One call at a time per number'). It also clarifies the poll-and-retrieve pattern. This adds meaningful context beyond the annotations, though it doesn't mention auth or rate limits, which are minor for this tool type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.