Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, openWorldHint, destructiveHint), the description discloses deterministic ordering, a bounded result cap of 5000, status fields (result_status/result_cap/total_status) for completeness, a quota of 1 token per row, and a dependency on a prior facets call. This is rich behavioral context that the annotations alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.