Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the closing 'Read only' is redundant. However, the description adds genuinely non-obvious behavior the annotations don't cover: it 'costs one LLM call,' is 'rate limited,' and 'cites the matching articles.' This is real operational context that changes how an agent should batch or throttle calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.