Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, the description adds valuable behavioral context: it returns a merkle proof and transaction for independent verification (trustlessness), and explicitly states it is 'free and keyless,' covering auth needs. This goes beyond the annotations and fully discloses the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.