Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/no-key, yet the description still adds real behavior: what a metric record carries (value, unit, as_of, freshness, verify_url), that incident/stale exclusion reasons come back separately without values and are not counted as metrics, and that each value is independently verifiable. It omits return shape detail, though an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.