Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'create or get existing', hinting at idempotent behavior, but fails to detail critical aspects like permissions required, rate limits, whether it returns a channel ID or object, or if it's a read-only or mutative operation. This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.