diff --git a/client/src/hooks/MCP/useMCPServerManager.ts b/client/src/hooks/MCP/useMCPServerManager.ts index 74e9dd7c77..b6b782cdc4 100644 --- a/client/src/hooks/MCP/useMCPServerManager.ts +++ b/client/src/hooks/MCP/useMCPServerManager.ts @@ -81,7 +81,9 @@ export function useMCPServerManager() { return initialStates; }); - const { data: connectionStatusData } = useMCPConnectionStatusQuery(); + const { data: connectionStatusData } = useMCPConnectionStatusQuery({ + enabled: !!startupConfig?.mcpServers && Object.keys(startupConfig.mcpServers).length > 0, + }); const connectionStatus = useMemo( () => connectionStatusData?.connectionStatus || {}, [connectionStatusData?.connectionStatus], @@ -158,6 +160,8 @@ export function useMCPServerManager() { setMCPValues([...currentValues, serverName]); } + await queryClient.invalidateQueries([QueryKeys.tools]); + // This delay is to ensure UI has updated with new connection status before cleanup // Otherwise servers will show as disconnected for a second after OAuth flow completes setTimeout(() => {