summaryrefslogtreecommitdiff
path: root/packages/core/src/tools/mcp-client.ts
diff options
context:
space:
mode:
authorGal Zahavi <[email protected]>2025-07-30 17:16:21 -0700
committerGitHub <[email protected]>2025-07-31 00:16:21 +0000
commitd06e17fbd9d08ac5efccf0c2b4d5fd4f703b15c7 (patch)
treea087617c4937491d689625d2ee631f384aad34e4 /packages/core/src/tools/mcp-client.ts
parent0c6f7884060bd30996b212ffa135d95b1c779798 (diff)
Improve error message for discoverTools function (#4157)
Diffstat (limited to 'packages/core/src/tools/mcp-client.ts')
-rw-r--r--packages/core/src/tools/mcp-client.ts36
1 files changed, 22 insertions, 14 deletions
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) {