| Value | Meaning |
|---|---|
| stateless | No per-connection state is stored across calls. On the draft protocol this is "modern stateless" (per-request _meta, MRTR, no blocking server->client requests); on pre-draft protocols this is "legacy stateless" (initialize/notifications/initialized are no-ops, no session id is minted, correlation features error). This is the default. |
| stateful | Opt-in pre-draft session management: initialize mints an Mcp-Session-Id, per-session state is isolated, and the full feature set (elicitation, GET stream, subscriptions, logging/setLevel) is available. The draft is excluded from negotiation in this mode. |
How a server manages per-connection state. The author chooses; stateless is the default. See the README "Statefulness" section for the full feature-gating matrix.