Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so 'Read-only' in the description is a restatement rather than added value. It does add the scope of the returned identity (account/workspace API key, workspaces, plans), which is useful context, but it omits any note on auth requirements or throttling. With rich annotations covering the safety profile, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.