Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It does disclose the key trait that the code is actually executed (a real side effect, not a static check) and pins the runtime per language, which an agent needs. It says nothing about sandboxing, timeouts, permissions, or what happens on compile failure versus mismatch, which are significant gaps for arbitrary code execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.