Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (destructiveHint=true, idempotentHint=true, readOnlyHint=false), the description adds substantial behavioral context: execution is synchronous, task support is forbidden, mutation modes are validate_only/preview_only/execute, and partial failures are not rolled back. It also explains idempotencyKey fallback behavior, the seatId/seatName requirement for multi-seat mutations, and how the returned JSON should be presented to users. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.