Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It discloses the read-only nature via 'read' and explicitly lists the return shape: { profile, source, confidence, updated_at }. This gives the agent a good sense of behavior, though it does not cover edge cases like missing profile or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.