Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnlyHint=false, destructiveHint=true, idempotentHint=false) by explaining that the answer is stored with the item, the card is resolved, the next planning run reads it, and a second answer to the same round is refused. It also documents the authorization model (active workspace owner's personal connection; workspace key or non-owner refused), paused-project behavior, and that refusals return ok=false with a refusal_code and store nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.