From d06e17fbd9d08ac5efccf0c2b4d5fd4f703b15c7 Mon Sep 17 00:00:00 2001 From: Gal Zahavi <38544478+galz10@users.noreply.github.com> Date: Wed, 30 Jul 2025 17:16:21 -0700 Subject: Improve error message for discoverTools function (#4157) --- packages/core/src/tools/mcp-client.ts | 36 +++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'packages/core/src/tools/mcp-client.ts') diff --git a/packages/core/src/tools/mcp-client.ts b/packages/core/src/tools/mcp-client.ts index b87b2124..f9ccc380 100644 --- a/packages/core/src/tools/mcp-client.ts +++ b/packages/core/src/tools/mcp-client.ts @@ -428,21 +428,29 @@ export async function discoverTools( const discoveredTools: DiscoveredMCPTool[] = []; for (const funcDecl of tool.functionDeclarations) { - if (!isEnabled(funcDecl, mcpServerName, mcpServerConfig)) { - continue; - } + try { + if (!isEnabled(funcDecl, mcpServerName, mcpServerConfig)) { + continue; + } - discoveredTools.push( - new DiscoveredMCPTool( - mcpCallableTool, - mcpServerName, - funcDecl.name!, - funcDecl.description ?? '', - funcDecl.parametersJsonSchema ?? { type: 'object', properties: {} }, - mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC, - mcpServerConfig.trust, - ), - ); + discoveredTools.push( + new DiscoveredMCPTool( + mcpCallableTool, + mcpServerName, + funcDecl.name!, + funcDecl.description ?? '', + funcDecl.parametersJsonSchema ?? { type: 'object', properties: {} }, + mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC, + mcpServerConfig.trust, + ), + ); + } catch (error) { + console.error( + `Error discovering tool: '${ + funcDecl.name + }' from MCP server '${mcpServerName}': ${(error as Error).message}`, + ); + } } return discoveredTools; } catch (error) { -- cgit v1.2.3