Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the description doesn't need to restate those. The description adds useful behavioral context: it clarifies that the agent never pays, and that the tool returns both copy-and-paste code and QR Code. However, it doesn't disclose side effects like whether the payment is marked as pending, whether repeated calls create multiple PIX charges, or any rate limits. The scope (billing:write) is mentioned in the description, which adds context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.