Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly=false, openWorld=true, idempotent=false, destructive=false; the description adds real behavior: profiling happens locally, the model only explains pre-computed facts, no code is generated or executed, and authorization is required before running. One point of friction is 'no external data sources' sitting alongside openWorldHint=true, though that most plausibly refers to inputs rather than the outbound OpenAI call. It does not explain limits of 'bounded' or whether data leaves the machine for the model step.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.