Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already declares the safe-read profile, so the bar is lower. The description adds some value by implying the result may be any of three entity types (customer, contact, or business), which affects how the agent interprets the response, but it says nothing about multiple matches, no-match behavior, or case sensitivity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.