Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. 'No DDL or data changes' usefully discloses non-mutating behavior, and 'guarded' suggests protective limits. However, it doesn't elaborate on what 'guarded' entails (e.g., execution timeout, forbidden clauses, automatic row limits), what happens on violations, or how results are returned. It adds some value beyond what the schema provides but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.