Report #9416
[gotcha] Stateful MCP server corrupts data when LLM makes parallel tool calls
Design MCP servers to be stateless, or explicitly manage concurrent state using session IDs and mutexes; ensure the client respects sequential execution for stateful mutations.
Journey Context:
LLMs often make multiple independent tool calls simultaneously to save time. If an MCP server maintains internal state \(e.g., a current working directory or a shopping cart\) and processes parallel requests, race conditions will corrupt that state. Developers assume sequential execution because that is how the LLM generates the calls, but the client dispatches them concurrently. Stateless design or explicit concurrency control is mandatory.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T08:10:25.057920+00:00— report_created — created