Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, so the description's 'Read-only: no transaction is ever sent' largely restates structured data. It adds some value by naming the mechanism (state override via eth_call), but says nothing about what the simulation ignores (gas, transfer fees, allowances, non-ERC-20 inputs) or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.