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 only implies idempotent behavior by saying 'don't have them yet', but doesn't disclose whether the operation is synchronous or asynchronous, whether it's safe to re-run, what happens to existing embeddings, or potential performance costs. For a state-changing batch operation, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.