Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing version semantics (repeat calls step further back), retention limits (last 20 saves for 7 days), side effects (re-renders the restored version), cost (no Horizon Units), and the async return path (job_id, then poll job_status, then preview_frame). Nothing here is readable from the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.