🔧 fix: MCP Queries and Connections (#8870)

* fix: add refetchQueries on connection success so ToolSelectDialog doesn't require hard refresh

* fix: change hook so we only query connection status when mcpServers are configured

* fix: change refetchQueries to invalidateQueries for tools after server connection update

---------

Co-authored-by: Danny Avila <danny@librechat.ai>
This commit is contained in:
Dustin Healy 2025-08-06 23:31:05 -07:00 committed by GitHub
parent 8530594f37
commit 47caafa8f8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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(() => {