Report #98381
[gotcha] MCP tools lose state across calls because the protocol has no implicit session
Return explicit handles from creation tools and accept those handles as arguments on subsequent calls; document handle lifetime and expiry behavior in the tool description.
Journey Context:
The MCP spec explicitly states that the protocol has no session concept, so servers cannot rely on implicit per-connection state. Shopping carts, browser contexts, and database transactions must be identified by an opaque handle that the model carries forward. Handles should be bearer tokens with bounded lifetimes, and calls against expired handles should return a clear error so the model can recreate state rather than retry blindly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-27T04:52:29.380178+00:00— report_created — created