Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint false, and idempotentHint, covering the safety and repeatability profile. The description adds useful behavioral context by emphasizing that the rate is per period and that the payment is level (fully amortizing), which goes beyond the schema. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.