Pattern: MCP's Stateless Turn Moves Agent State Out of Transport and Into Model-Visible Arguments
Model Context Protocol Blog·high signal
The spec's replacement for protocol sessions is the "explicit-handle pattern" — servers return an identifier like `basket_id` and the model threads it through subsequent calls as an ordinary tool argument. This is a real design shift for agent builders: state that used to hide in transport metadata is now visible to the model, auditable in the transcript, and replayable. Server-to-client requests are also constrained — a server may only initiate a request while actively processing a client request, using `InputRequiredResult` with `requestState` so any instance can pick up the retry.