Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the mutation/idempotency profile is already known. The description adds genuinely non-obvious behavior: this is a full replacement, not a merge, and an empty list removes all attachments — a real data-loss path an agent must know before calling. The 'owned by this workspace' constraint on tool_ids is also behavior, not schema. Minor tension with destructiveHint=false in that clearing the list removes existing attachments, but the operation is reversible and idempotent, so this is not a contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.