Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses freshness (no older than 48 hours), live fallback behavior for unknown profiles, private-profile behavior (public subset returned, not an error), unresolvable-id behavior (error result), and that the response includes raw GetPlayerSummaries data plus SteamID conversions. It also flags this as the cheapest profile tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.