Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses read-only, anonymous, no-tenant-data behavior, the 4 KB truncation cap, and the failure mode ('an unknown anchor is anchor_not_found with the nearest anchors in did_you_mean'). It omits one notable side effect documented only in the schema: omitting tenant_key on an unauthenticated connection implicitly signs up a new tenant, which sits awkwardly beside 'anonymous, no tenant data'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.