Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing append-only semantics, the exact trigger conditions for a new entry (import_portfolio only when holdings/assets actually change, plus each restore), the dedup rule for identical resubmissions, and precisely what is and is not captured. These are behavioral facts the readOnly/idempotent hints 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.