Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate no read-only, no idempotency, not destructive; description adds key behavioral details: uses an internal API (createMessage), and the idempotency_key parameter (though in schema) is described to clarify retry semantics. Does not mention rate limits or error behavior, but the description covers the mutation nature implicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.