File tree Expand file tree Collapse file tree
src/crates/core/src/service/mcp/server/manager Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3,7 +3,6 @@ use super::*;
33impl 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 ;
Original file line number Diff line number Diff 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 {
You can’t perform that action at this time.
0 commit comments