Description
Originally posted by @stephentoub in PederHP/mcpdotnet#93.
Most of its APIs are about a 1:1 connection with a client, e.g. ClientCapabilities being for a specific client, SendRequestAsync targeting a specific client, etc. But it also has StartAsync, which suggests it's something that's created for receiving connections from any number of clients and IsInitialized (which shouldn't be necessary when if you always get back an initialized server), and in the pending SSE PR, it takes a transport in a way that suggests it'll be used for multiple connections.
It seems like IMcpServer should represent a 1:1 connection with an IMcpClient, and there should be something else that represents the ability to listen for connections and split off IMcpServer instances when a client connects.