Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations: discloses atomicity ('every row lands or none does'), reuse/matching of existing holders, that rounds are recorded as closed history, and server-side rule and total-mismatch refusal. The one gap is `replace`, which can overwrite existing cap table data and is never mentioned, which is notable given destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.