Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does a solid job: it discloses pricing (€0.001/request), the ×3 surcharge for llm mode, the 20,000-character ceiling, the auth mechanism (Bearer API key), and that returned positions are recomputed against the source text. It omits failure behavior (e.g. what happens if both text and url are supplied, or if url fetch fails), so it is not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.