Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, non-destructive and closed-world. The description adds real behavior beyond that: it prefers search_context to skip a second search, falls back to re-fetching the route, makes no bus-details calls, uses Azure OpenAI in-server, and accepts empty summaries when nothing differentiates. That is substantive disclosure, though it omits failure/timeout behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.