Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), so the description's job is lighter. It adds real behavioral detail beyond the annotations by describing the return contract: first match per selector, text vs {text, href} for links, absolute href resolution, and null when a selector is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.