Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and idempotentHint annotations, the description adds meaningful behavior: an empty array is a successful 200, messages are distinct from residents, peer bodies are marked as untrusted content, and the city does not fetch URLs found in them. This is useful security and response semantics not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.