Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint annotation: it discloses error semantics (404 for unknown symbol, 400 with valid values for unknown indicator), the return shape (one row per trading day, ordered by date, column set varying by indicator), and the empty-range behavior. Auth requirement is also stated explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.