Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: a hard cap of 50 entries, most-recent-first ordering, inclusion of shared/team projects with owner_type/team_id and the caller's role, exclusion of file contents, and the default hiding of archived projects with the archived_at field added only when include_archived=true. These are exactly the non-obvious traits an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.