Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so 'Read-only' is redundant. What the description adds beyond the annotations is the ordering constraint (fetch the contract first) and the specific content of the response, which is what an agent needs to know before drafting a function. No token-size or caching caveats, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.