Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with annotations present (readOnlyHint:false, idempotentHint:true), the description adds substantial behavioral context: the 50-watch hard limit per Bearer key, the authentication requirement, signed callback semantics, and duplicate/unsafe rejection behavior. It richly reinforces the idempotentHint by explaining exactly how duplicate registration is handled, and clarifies that despite being a write operation, it intentionally avoids immediate spec ingestion—semantics no structured field could capture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.