Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations by disclosing that generation cards are checked against their jobs on every read, that an on-screen board auto-re-reads every 10 seconds during renders and 5 minutes after changes, that the call costs no credits, and the exact OAuth/API-key auth requirement. That is substantial operational context an agent cannot get from 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.