using ModelContextProtocol.Protocol.Types; namespace ModelContextProtocol.Server; /// /// Represents a server that can communicate with a client using the MCP protocol. /// public interface IMcpServer : IMcpEndpoint { /// /// Gets the capabilities supported by the client. /// ClientCapabilities? ClientCapabilities { get; } /// /// Gets the version and implementation information of the client. /// Implementation? ClientInfo { get; } /// Gets the options used to construct this server. McpServerOptions ServerOptions { get; } /// /// Gets the service provider for the server. /// IServiceProvider? Services { get; } /// /// Runs the server, listening for and handling client requests. /// Task RunAsync(CancellationToken cancellationToken = default); }