sequenceDiagram
participant server
participant mcp
participant transport
server ->> transport: get transport layer
server ->> mcp: register transport layer
server ->> mcp: register capabilities
server ->> mcp: start
mcp ->> transport: register default handlers
transport ->> transport: wait initialize request
client ->> transport: initialize
transport ->> transport: check protocol version
transport -->> client: error if not supported
transport ->> mcp: check capabilities
mcp ->> transport: return capabilities
transport ->> client: initialized