Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnlyHint=true and destructiveHint=false, the description adds meaningful behavioral context: it returns stored data, checks toolchain availability, provides an install command when needed, and never meshes, solves, or writes. These details go beyond the annotations and set accurate expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.