Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden itself. 'Get' implies a read-only operation, and 'upcoming' plus 'free-tier competition' communicates filtering behavior. However, it does not disclose edge-case behavior such as what happens for unsupported competitions, invalid dates, or whether the date is an exact day or a range starting point.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.