Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered structurally. The description adds genuinely new behavioral context by stating "Requires read scope", telling the agent an auth precondition exists before calling. It stops short of saying what happens when that scope is missing, but with an output schema present no return-value explanation is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.