pub async fn run() -> Result<(), Box<dyn Error + Send + Sync>>
Serves MCP over stdio until the client disconnects.
Returns transport / protocol errors from rmcp.