Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the null-when-idle contract, which is genuinely useful behavioral context, but it discloses nothing further (no cost, no scope, no freshness). The null case is also arguably part of the return contract covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.