Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds real behavioral context: it reads the store first to avoid the ~1,000-filing submissions-index ceiling, and it explains that records include the insider name, transaction code legend (P/S/A/M/F), shares, and dollar value, and that it returns 'insider_trade' envelopes. This tells an agent exactly what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.