Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so 'Read-only. No files modified' largely repeats structured data (twice, in the lead line and the Side effects line). The description does add one piece of behavior beyond annotations: the sequencing constraint that this must run before replace_pattern. No mention of cost, scope limits, or confidence of suggestions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.