Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations the description carries the full burden, and it does disclose real behavior: per-file nucleus/frequency extraction, per-row field_mhz and field_source reporting, explicit precedence (a file's stated frequency always wins over the field_mhz argument), and the no_data_found error status. It omits authentication requirements for api_key, any limits on archive size or concurrency, and whether partial failures still return results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.