Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only/idempotent/open-world, so the bar is lower, yet the description goes well beyond them: it defines the output states (GO/HOLD/STOP), the matching policy ('only a full-name match is a hit'), alias coverage, and critical invocation constraints (pricing, x-credit-token auth, no API key, no free tier). This is the auth/cost context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.