Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly=false, destructive=false, openWorld=false), and the description adds real context beyond them: upsert-in-place semantics, tenant scoping with no project arg, and the downstream binding consequence. The only friction is that 're-POSTing the same kitId updates it in place' reads as idempotent behavior while idempotentHint=false suggests repeated calls may have side effects; it is a mild tension rather than a hard contradiction, and no permission/auth requirements are stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.