From 37701d3e9b78c717085e3099678311e7a8329818 Mon Sep 17 00:00:00 2001 From: Dustin Healy Date: Mon, 28 Jul 2025 22:34:52 -0700 Subject: [PATCH] fix: correct improper handling of failure state in reinitialize endpoint --- api/server/routes/mcp.js | 16 ++++++++++++---- client/src/hooks/MCP/useMCPServerManager.ts | 6 ++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/api/server/routes/mcp.js b/api/server/routes/mcp.js index 35bba77ae6..f66d671a87 100644 --- a/api/server/routes/mcp.js +++ b/api/server/routes/mcp.js @@ -452,11 +452,19 @@ router.post('/:serverName/reinitialize', requireJwtAuth, async (req, res) => { `[MCP Reinitialize] Sending response for ${serverName} - oauthRequired: ${oauthRequired}, oauthUrl: ${oauthUrl ? 'present' : 'null'}`, ); + const getResponseMessage = () => { + if (oauthRequired) { + return `MCP server '${serverName}' ready for OAuth authentication`; + } + if (userConnection) { + return `MCP server '${serverName}' reinitialized successfully`; + } + return `Failed to reinitialize MCP server '${serverName}'`; + }; + res.json({ - success: true, - message: oauthRequired - ? `MCP server '${serverName}' ready for OAuth authentication` - : `MCP server '${serverName}' reinitialized successfully`, + success: userConnection && !oauthRequired, + message: getResponseMessage(), serverName, oauthRequired, oauthUrl, diff --git a/client/src/hooks/MCP/useMCPServerManager.ts b/client/src/hooks/MCP/useMCPServerManager.ts index b68feade3e..71ffa471b4 100644 --- a/client/src/hooks/MCP/useMCPServerManager.ts +++ b/client/src/hooks/MCP/useMCPServerManager.ts @@ -234,6 +234,12 @@ export function useMCPServerManager() { cleanupServerState(serverName); } + } else { + showToast({ + message: localize('com_ui_mcp_init_failed', { 0: serverName }), + status: 'error', + }); + cleanupServerState(serverName); } } catch (error) { console.error(`[MCP Manager] Failed to initialize ${serverName}:`, error);