Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses that the trader name is null, that an HMRC outage surfaces as 503 and is never reported as 'invalid', that EU numbers get a 400, and the exact pricing/charge model (x402, failed calls not charged). This is exactly the operational context an agent needs for an external paid check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.