[docs]@asynccontextmanagerasyncdefcreate_mcp_server_session(server_params:McpServerParams,)->AsyncGenerator[ClientSession,None]:"""Create an MCP client session for the given server parameters."""ifisinstance(server_params,StdioServerParams):asyncwithstdio_client(server_params)as(read,write):asyncwithClientSession(read_stream=read,write_stream=write,read_timeout_seconds=timedelta(seconds=server_params.read_timeout_seconds),)assession:yieldsessionelifisinstance(server_params,SseServerParams):asyncwithsse_client(**server_params.model_dump(exclude={"type"}))as(read,write):asyncwithClientSession(read_stream=read,write_stream=write)assession:yieldsession