Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering safety and idempotency. The description adds minimal value by specifying 'GET', which aligns with read-only behavior, but doesn't disclose additional traits like rate limits, authentication needs, or what 'compose.one' entails (e.g., retrieving a single compose resource). No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.