Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false. The description adds real operational context beyond that: statelessness, 32 KB payload cap, 60 RPM rate limit, demo/L402 payment of 15 sats, and a 400 on invalid input. That said, it never describes what the response shape or error payloads look like beyond the status code, so it sits at a solid but not maximal level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.