Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations: free, no key, no quota, and no call consumed. It also discloses concrete behavioral outcomes — reports engineEnabled, warns on parts whose bounding box fits no stock sheet, and for engine "max" returns 400/503 or an async warning matching the optimize path exactly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.