Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations by disclosing refusal rules (LinkedIn, private-network URLs, redirects), a size/MB ceiling, the asynchronous background-parse lifecycle with status 'parsing' and a ~1 minute wait, the merge behavior ('preserves existing stated profile fields', pasted text never replaces an uploaded PDF), and a prompt-injection warning that resume text is untrusted data. None of that is recoverable from readOnlyHint/destructiveHint/openWorldHint alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.