Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses real behavioral traits: the tool is free, the budgetUsd amount is held while it runs and released, the result is a verified token safe to paste, and it requires a write OAuth scope. The 'Needs the write scope' note sits in mild tension with readOnlyHint=true, but it describes an auth requirement rather than a state mutation, so it is not a direct contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.