Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. 'Update an existing issue' does not reveal whether updates are partial or full, whether required parameters (owner, repo, issue_number) must all be supplied, what side effects occur (e.g., notifications), or whether the operation is idempotent. This leaves significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.