Report #44936
[gotcha] MCP server starts a background job but the LLM assumes the task is complete immediately
Return an intermediate tool result containing a 'job ID' and instructions for the LLM to call a 'check\_status' tool, rather than just returning 'started'.
Journey Context:
Developers often build tools that trigger long-running async workflows \(e.g., deployment\) and return a simple 'Success: Started' message. The LLM interprets this as the final state and reports completion to the user. The LLM doesn't inherently know to poll for updates. By returning a job ID and explicitly instructing the LLM in the tool result to use a polling tool, you bridge the gap between async execution and the synchronous request/response nature of LLM reasoning.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T05:53:26.410593+00:00— report_created — created