Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the description's burden is lighter. It adds a mild behavioral nuance with 'canonical,' indicating the returned set is curated and authoritative rather than arbitrary, which aligns with the read-only annotation. No contradiction exists, but no additional behavioral detail (e.g., format, ordering) is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.