Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: compilation uses the same engine as the API, tests run against in-memory data, it returns diagnostics with JSON pointers, reads/writes analysis, and failure reasons, and it incurs no cost and sees no data. This is rich but does not cover auth requirements or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.