Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile fully (readOnlyHint true, idempotentHint true, destructiveHint false). The description's 'read-only' echoes readOnlyHint and 'No input' restates the empty schema, adding little new behavioral context. It is fully consistent with annotations, so no contradiction penalty applies, but the description contributes minimal behavioral value beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.