Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, the description goes far beyond by detailing the semantics of the returned fields: 'kind' differentiates bookmarks (deliberate saves, partner-pinnable) from auto-snapshots (restore-only), 'version_number' stability rules (deletes leave gaps, numbers never re-shuffle), and 'cp' meaning (page changes, special values like '*' and absence). It also discloses that the tool returns summaries, not the inner project JSON. This is rich behavioral context that helps the agent interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.