Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the description only needs to add behavior beyond that. It does: it discloses the return shape (time buckets, per-signal split) and the intended pipeline into generate_chart, which helps an agent plan a multi-step call. It doesn't discuss default date range behavior when since/until are null, a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.