Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses the return format ('Returns exact / not_found per name, with the canonical spelling and id for the ones that exist'), performance characteristics ('Cheap, batched'), and safety ('safe'). It also explains the input modes (names array or text decklist). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.