Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does: it discloses hard caps (专业版 200 / 机构版 300), per-returned-item billing, a paid-tier prerequisite (¥99 专业版+, 标准版 unavailable), unsupported markets returning ok:false, and measured latency versus looping the single-code endpoint. It also discloses the exact return shape (data[{code, ok, data|error}] + requested/returned/failed), which is behavioral information beyond the request itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.