Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose a genuine side effect — the QR is 'also printed on stderr' — which is useful because agents may otherwise rely only on the return value. However, it does not reveal other behavioral traits such as whether a new pairing session is initiated, whether QRs expire, or what happens when already authenticated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.