async fn connect(&self) -> anyhow::Result<Arc<RmcpClient>> {
        if let Some(client) = self.get_client() {
            Ok(client.clone())
        } else {
            let client = self.create_connection().await?;
            self.set_client(client.clone());
            Ok(client.clone())
        }
    }
Connects to the MCP server. If `force` is true, it will reconnect even
if already connected.
crates/forge_infra/src/mcp_client.rs