diff --git a/api/server/controllers/PluginController.js b/api/server/controllers/PluginController.js index 938df25de9..1dbc7633ac 100644 --- a/api/server/controllers/PluginController.js +++ b/api/server/controllers/PluginController.js @@ -146,11 +146,7 @@ const getAvailableTools = async (req, res) => { const userPlugins = convertMCPToolsToPlugins(cachedUserTools, customConfig); if (cachedToolsArray && userPlugins) { - const dedupedTools = [ - ...new Map( - [...userPlugins, ...cachedToolsArray].map((tool) => [tool.pluginKey, tool]), - ).values(), - ]; + const dedupedTools = filterUniquePlugins([...userPlugins, ...cachedToolsArray]); res.status(200).json(dedupedTools); return; } @@ -230,9 +226,7 @@ const getAvailableTools = async (req, res) => { const finalTools = filterUniquePlugins(toolsOutput); await cache.set(CacheKeys.TOOLS, finalTools); - const dedupedTools = [ - ...new Map([...userPlugins, ...finalTools].map((tool) => [tool.pluginKey, tool])).values(), - ]; + const dedupedTools = filterUniquePlugins([...userPlugins, ...finalTools]); res.status(200).json(dedupedTools); } catch (error) { @@ -295,8 +289,4 @@ function convertMCPToolsToPlugins(functionTools, customConfig) { module.exports = { getAvailableTools, getAvailablePluginsController, - filterUniquePlugins, - checkPluginAuth, - createServerToolsCallback, - createGetServerTools, }; diff --git a/api/server/services/initializeMCPs.js b/api/server/services/initializeMCPs.js index 1330560213..18edb2449d 100644 --- a/api/server/services/initializeMCPs.js +++ b/api/server/services/initializeMCPs.js @@ -59,6 +59,10 @@ async function initializeMCPs(app) { await mcpManager.mapAvailableTools(toolsCopy, flowManager); await setCachedTools(toolsCopy, { isGlobal: true }); + const cache = getLogStores(CacheKeys.CONFIG_STORE); + await cache.delete(CacheKeys.TOOLS); + logger.debug('Cleared tools array cache after MCP initialization'); + logger.info('MCP servers initialized successfully'); } catch (error) { logger.error('Failed to initialize MCP servers:', error);