Skip to content

Commit 58ec79e

Browse files
committed
fix: MCP node execution failed
1 parent 4da75ac commit 58ec79e

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

apps/application/flow/step_node/mcp_node/impl/base_mcp_node.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from typing import List
55

66
from langchain_mcp_adapters.client import MultiServerMCPClient
7+
from langchain_mcp_adapters.sessions import create_session
78

89
from application.flow.i_step_node import NodeResult
910
from application.flow.step_node.mcp_node.i_mcp_node import IMcpNode
@@ -22,12 +23,12 @@ def execute(self, mcp_servers, mcp_server, mcp_tool, tool_params, **kwargs) -> N
2223
params = json.loads(json.dumps(tool_params))
2324
params = self.handle_variables(params)
2425

25-
async def call_tool(s, session, t, a):
26-
async with MultiServerMCPClient(s) as client:
27-
s = await client.sessions[session].call_tool(t, a)
28-
return s
26+
async def call_tool(t, a):
27+
client = MultiServerMCPClient(servers)
28+
async with create_session(client.connections[mcp_server]) as s:
29+
return await s.call_tool(t, a)
2930

30-
res = asyncio.run(call_tool(servers, mcp_server, mcp_tool, params))
31+
res = asyncio.run(call_tool(mcp_tool, params))
3132
return NodeResult(
3233
{'result': [content.text for content in res.content], 'tool_params': params, 'mcp_tool': mcp_tool}, {})
3334

0 commit comments

Comments
 (0)