Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations: discloses duplicate removal, result ordering (first-input order), that missing ids are reported back, the batching behavior (max two upstream requests of 500 ids), the 8 MiB response cap failure mode, and the credit pricing formula with min/max. That is exactly the operational context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.