use crateSdkResult;
use crateServerRuntime;
use async_trait;
use SessionId;
use Arc;
/// Common interface for running MCP servers over HTTP transports.
///
/// Implemented by framework-specific runtimes (e.g. `AxumRuntime` in `rust-mcp-axum`,
/// `ActixRuntime` in `rust-mcp-actix`) to provide a uniform API for:
///
/// - Graceful shutdown
/// - Session enumeration
/// - Per-session runtime access
///
/// Users coding against `dyn McpHttpServer` can swap HTTP frameworks without
/// changing their runtime interaction code.