From 0d8deea643e77b85f77bd0d86cbdd10b87476a6f Mon Sep 17 00:00:00 2001 From: ycjcl868 Date: Thu, 20 Mar 2025 15:51:13 +0800 Subject: [PATCH] fix(mcp): client add default description avoid err --- packages/agent-infra/mcp-client/src/index.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/agent-infra/mcp-client/src/index.ts b/packages/agent-infra/mcp-client/src/index.ts index 689cec78b..f68354280 100644 --- a/packages/agent-infra/mcp-client/src/index.ts +++ b/packages/agent-infra/mcp-client/src/index.ts @@ -9,7 +9,10 @@ import { EventEmitter } from 'node:events'; import { v4 as uuidv4 } from 'uuid'; import { type Client } from '@modelcontextprotocol/sdk/client/index.js'; -import { type StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'; +import { + StdioServerParameters, + type StdioClientTransport, +} from '@modelcontextprotocol/sdk/client/stdio.js'; import { type Tool, CallToolResultSchema, @@ -187,12 +190,14 @@ export class MCPClient< }, ); - const transport = new this.Transport({ + const transportOpts: StdioServerParameters = { command: cmd, args, stderr: process.platform === 'win32' ? 'pipe' : 'inherit', env: mergedEnv as Record, - }); + }; + console.log('transportOpts', transportOpts); + const transport = new this.Transport(transportOpts); await client.connect(transport); this.clients[name] = client; @@ -362,6 +367,7 @@ export class MCPClient< return tools.map((tool: Tool) => { tool.serverName = serverName; tool.id = 'f' + uuidv4().replace(/-/g, ''); + tool.description = tool.description || `${serverName} - ${tool.name}`; return tool as MCPTool; }); } else { @@ -377,6 +383,8 @@ export class MCPClient< tools.map((tool: Tool) => { tool.serverName = clientName; tool.id = 'f' + uuidv4().replace(/-/g, ''); + tool.description = + tool.description || `${clientName} - ${tool.name}`; return tool as MCPTool; }), );