Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false, so there is no safety burden here. The description still adds real behavioral value by disclosing that bases are automatically matched to the city's 2026 social insurance/housing fund floor and ceiling and truncated, and that tax uses cumulative withholding, which explains why the month parameter matters. It does not cover rate-limit, data freshness for policy years, or error behavior for unsupported cities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.