Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and openWorld, so the safety profile is covered, but the description adds nothing beyond them — no error behavior for an unknown ID, no access/permission context, nothing about what an openWorld lookup implies. With the bar lowered by annotations, a 2 reflects a description that contributes no additional behavioral context at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.