Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds valuable behavioral guarantees beyond that: results never invent confidence scores, ordering is canonical, and calling with a capabilityId returns inputContract details such as allowed field names, scalar types, constraints, meaning, and required state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.