I think MCP being stateful is true in the short term. It's currently at the top of their roadmap to add to the protocol https://modelcontextprotocol.io/development/roadmap.
The options being considered to do this are:
1) maintain a session token mapping to the state -- which is still statefulness
2) create a separate stateless MCP protocol and reimplement -- agents.json is already the stateless protocol
3) reimplement every MCP as stateless and abandon the existing stateful MCP initiative
As you can tell, we're not bullish on any of these.