Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits beyond annotations: it runs asynchronously, returns a generation_id, requires polling get_generation, and costs $0.05 per sound. The annotations only say readOnlyHint=false and openWorldHint=true, so the description carries the burden and does well. It doesn't mention failure modes or rate limits, but the async pattern and pricing are significant transparency wins.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.