Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does substantial work: it discloses the unsupported_nucleus error contract ('results: [], never the proton table'), truncation semantics (bounded at max_results 50 per category, n_results is the untruncated count), and that empty query is valid. It does not address the api_key parameter, auth requirements, or cost, which is the remaining gap for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.