Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds real value beyond them: it discloses that per-item names and nutrition are returned, that the shape matches get_today, and that each `recent` item carries an `id` usable with update_log. It does not cover what happens when nothing was logged on that date or how an invalid/future date is handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.