diff --git a/client/src/App.tsx b/client/src/App.tsx index e07ccd3..7564544 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -50,6 +50,7 @@ import { getMCPServerRequestTimeout, } from "./utils/configUtils"; import { useToast } from "@/hooks/use-toast"; + const params = new URLSearchParams(window.location.search); const CONFIG_LOCAL_STORAGE_KEY = "inspectorConfig_v1"; @@ -204,8 +205,13 @@ const App = () => { localStorage.setItem(CONFIG_LOCAL_STORAGE_KEY, JSON.stringify(config)); }, [config]); + const hasProcessedRef = useRef(false); // Auto-connect if serverUrl is provided in URL params (e.g. after OAuth callback) useEffect(() => { + if (hasProcessedRef.current) { + // Only try to connect once + return; + } const serverUrl = params.get("serverUrl"); if (serverUrl) { setSseUrl(serverUrl); @@ -219,6 +225,7 @@ const App = () => { title: "Success", description: "Successfully authenticated with OAuth", }); + hasProcessedRef.current = true; // Connect to the server connectMcpServer(); }