initializeAllUndiscoveredServers method
Future<void>
initializeAllUndiscoveredServers(
)
Implementation
Future<void> initializeAllUndiscoveredServers() async {
final undiscovered = _mcpManager.clients.where((c) {
final s = _servers.where((srv) => srv.id == c.name).firstOrNull;
if (s == null || !s.enabled) return false;
return !c.isConnected && c.availableTools.isEmpty;
}).toList();
if (undiscovered.isEmpty) return;
await Future.wait(undiscovered.map((c) => _connectClientAndCacheTools(c)));
bool changed = false;
for (final clientDef in undiscovered) {
if (clientDef.isConnected) {
_initializedClientIds.add(clientDef.name);
changed = true;
}
}
if (changed) {
await _storage.saveInitializedClients(_initializedClientIds);
}
await _syncMcpServers();
}