Report #68393
[gotcha] Infinite recursive loops when MCP server requests sampling from the client LLM
Implement a hard depth limit on MCP sampling/createMessage requests. The agent client must reject sampling requests if the current tool call is already nested inside another sampling response, preventing the server from forcing the client into an infinite loop.
Journey Context:
MCP allows servers to request the LLM to generate text via sampling/createMessage. This is powerful \(e.g., asking the LLM to summarize a file before returning it\), but creates a dangerous feedback loop. If the server's prompt triggers another tool call that again requests sampling, the system spirals into an infinite, token-burning loop. Because the server is untrusted, the client MUST enforce a strict boundary \(depth limit = 1 or 2\) to prevent resource exhaustion.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T21:17:04.981195+00:00— report_created — created