diff --git a/codex-rs/app-server/src/codex_message_processor.rs b/codex-rs/app-server/src/codex_message_processor.rs index c62734f24..9f4227b2d 100644 --- a/codex-rs/app-server/src/codex_message_processor.rs +++ b/codex-rs/app-server/src/codex_message_processor.rs @@ -2079,12 +2079,19 @@ impl CodexMessageProcessor { } async fn list_mcp_servers(&self, request_id: RequestId, params: ListMcpServersParams) { - let snapshot = collect_mcp_snapshot(self.config.as_ref()).await; + let config = match self.load_latest_config().await { + Ok(config) => config, + Err(error) => { + self.outgoing.send_error(request_id, error).await; + return; + } + }; + + let snapshot = collect_mcp_snapshot(&config).await; let tools_by_server = group_tools_by_server(&snapshot.tools); - let mut server_names: Vec = self - .config + let mut server_names: Vec = config .mcp_servers .keys() .cloned()