Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description reveals conditional behavior: it includes the connect URL when the publisher provides one, otherwise it falls back to inline connection or pull details. This adds genuine behavioral context beyond readOnlyHint and idempotentHint, and there is no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.