Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description usefully adds that 30 keypairs are produced per call (implying a non-deterministic, regenerating output), but says nothing about whether keys are persisted, what format they take, or whether the call is expensive. With annotations carrying the safety burden, this is an adequate but thin contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.