@@ -20,11 +20,13 @@ def __init__(
2020 event_store : EventStore | None = None ,
2121 json_response : bool = True , # Default to JSON for HTTP transport
2222 security_settings : TransportSecuritySettings | None = None ,
23+ stateless : bool = False ,
2324 ):
2425 self .mcp_server = mcp_server
2526 self .event_store = event_store
2627 self .json_response = json_response
2728 self .security_settings = security_settings
29+ self .stateless = stateless
2830 self ._session_manager : StreamableHTTPSessionManager | None = None
2931 self ._manager_task : asyncio .Task | None = None
3032 self ._manager_started = False
@@ -47,13 +49,12 @@ async def _ensure_session_manager_started(self) -> None:
4749 logger .debug ("Starting StreamableHTTP session manager" )
4850
4951 # Create the session manager
50- # Note: We don't use stateless=True because we want to support sessions
51- # but sessions are optional as per the MCP spec
52+ # Use stateless flag to determine whether to support sessions
5253 self ._session_manager = StreamableHTTPSessionManager (
5354 app = self .mcp_server ,
5455 event_store = self .event_store ,
5556 json_response = self .json_response ,
56- stateless = False , # Always support sessions, but they're optional
57+ stateless = self . stateless , # Use the stateless flag
5758 security_settings = self .security_settings ,
5859 )
5960
0 commit comments