fix: MCP node execution failed (#3528)

This commit is contained in:
shaohuzhang1 2025-07-09 14:59:55 +08:00 committed by GitHub
parent b9aa36ed1e
commit 693ed6004a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -4,6 +4,7 @@ import json
from typing import List
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain_mcp_adapters.sessions import create_session
from application.flow.i_step_node import NodeResult
from application.flow.step_node.mcp_node.i_mcp_node import IMcpNode
@ -22,12 +23,12 @@ class BaseMcpNode(IMcpNode):
params = json.loads(json.dumps(tool_params))
params = self.handle_variables(params)
async def call_tool(s, session, t, a):
async with MultiServerMCPClient(s) as client:
s = await client.sessions[session].call_tool(t, a)
return s
async def call_tool(t, a):
client = MultiServerMCPClient(servers)
async with create_session(client.connections[mcp_server]) as s:
return await s.call_tool(t, a)
res = asyncio.run(call_tool(servers, mcp_server, mcp_tool, params))
res = asyncio.run(call_tool(mcp_tool, params))
return NodeResult(
{'result': [content.text for content in res.content], 'tool_params': params, 'mcp_tool': mcp_tool}, {})