Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description explains the post-join behavior: the returned address should be used as the domain on memory_read, and whether memory_write succeeds depends on membership scope. It even handles the unknown-scope case instead of promising either outcome, which is valuable transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.