Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses async job behavior (returns consultJobId, poll via wait_job), mode-dependent latency (~30s-2min vs minutes), that amend yields an adoptable candidateIndex while advise yields only guidance, and the ifMatch/409 binding rule. This is well beyond the annotations, which only flag non-read-only/non-idempotent. Minor gap: no explicit statement of whether the consult job itself mutates server state, which matters given readOnlyHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.