Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since there are no annotations, the description must carry the behavioral disclosure burden. 'List' strongly implies a read-only, non-mutating operation, and the returned data is stated. However, it does not disclose potential permission requirements, whether all or only visible windows are included, or any output formatting assumptions. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.