Report #99682
[tooling] Agent calls MCP tools at the wrong time or misuses them
Write the tool \`description\` as a behavioral contract: say exactly when to call it, what it returns, what it does NOT do, and how to handle the result. Models follow this field more faithfully than general system instructions.
Journey Context:
Many developers treat \`description\` like a docstring summary, but the model sees it as the primary signal for tool selection. A vague description causes the model to either skip the tool or call it speculatively. The fix is to front-load intent: 'Call this only when the user asks for X', 'Returns raw JSON; do not summarize it', 'Does not perform writes'. This is more reliable than adding similar instructions to the system prompt because the description is physically adjacent to the schema the model uses to call.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-30T04:52:56.623320+00:00— report_created — created