Skip to content

Commit 1fc3799

Browse files
authored
Merge pull request #358 from wgqqqqq/fix/mcp-idle-log-noise
core: reduce idle MCP reconnect log noise
2 parents 442426d + 29dece5 commit 1fc3799

2 files changed

Lines changed: 11 additions & 3 deletions

File tree

src/crates/core/src/service/mcp/server/manager/lifecycle.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ use super::*;
33
impl MCPServerManager {
44
/// Initializes all servers.
55
pub async fn initialize_all(&self) -> BitFunResult<()> {
6-
self.start_reconnect_monitor_if_needed();
76
info!("Initializing all MCP servers");
87

98
let existing_server_ids = self.registry.get_all_server_ids().await;
@@ -19,10 +18,12 @@ impl MCPServerManager {
1918
info!("Loaded {} MCP server configs", configs.len());
2019

2120
if configs.is_empty() {
22-
warn!("No MCP server configurations found");
21+
debug!("No MCP server configurations found, skipping initialization");
2322
return Ok(());
2423
}
2524

25+
self.start_reconnect_monitor_if_needed();
26+
2627
let mut registered_count = 0;
2728
for config in &configs {
2829
if config.enabled {
@@ -81,14 +82,15 @@ impl MCPServerManager {
8182
///
8283
/// This is safe to call multiple times (e.g., from multiple frontend windows).
8384
pub async fn initialize_non_destructive(&self) -> BitFunResult<()> {
84-
self.start_reconnect_monitor_if_needed();
8585
info!("Initializing MCP servers (non-destructive)");
8686

8787
let configs = self.config_service.load_all_configs().await?;
8888
if configs.is_empty() {
8989
return Ok(());
9090
}
9191

92+
self.start_reconnect_monitor_if_needed();
93+
9294
for config in &configs {
9395
if !config.enabled {
9496
continue;

src/crates/core/src/service/mcp/server/manager/reconnect.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ impl MCPServerManager {
2424
}
2525

2626
async fn reconnect_once(&self) -> BitFunResult<()> {
27+
let has_registered_servers = !self.registry.get_all_server_ids().await.is_empty();
28+
let has_pending_reconnects = !self.reconnect_states.read().await.is_empty();
29+
if !has_registered_servers && !has_pending_reconnects {
30+
return Ok(());
31+
}
32+
2733
let configs = self.config_service.load_all_configs().await?;
2834

2935
for config in configs {

0 commit comments

Comments
 (0)