Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already state readOnlyHint=false, destructiveHint=false and idempotentHint=false, so the agent knows this is a side-effecting but harmless, non-idempotent action. The description adds real behavioral context beyond the annotations: the 300-character limit and the fact that speech is rendered locally with no cloud dependency. It doesn't say whether calls block until speech finishes, what happens if text exceeds 300 characters, or what the tool returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.