Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description focuses on domain behavior instead: it enumerates the returned fields and, crucially, explains that canOpen=false means the template lacks implementation and must not be recommended. That missingHandlers/canOpen semantics is exactly the kind of business rule annotations cannot express. It stops short of a perfect 5 only because it says nothing about auth or result size ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.