Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description adds behavioral context beyond them: execution is synchronous, task support is forbidden, the returned JSON is internal application state, and output handling rules (do not display raw JSON, mention IDs only when useful). This is substantial additional transparency with no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.