@@ -104,16 +104,17 @@ def write_context_stream(node_variable: Dict, workflow_variable: Dict, node: INo
104104
105105
106106async def _yield_mcp_response (chat_model , message_list , mcp_servers ):
107- async with MultiServerMCPClient (json .loads (mcp_servers )) as client :
108- agent = create_react_agent (chat_model , client .get_tools ())
109- response = agent .astream ({"messages" : message_list }, stream_mode = 'messages' )
110- async for chunk in response :
111- if isinstance (chunk [0 ], ToolMessage ):
112- content = tool_message_template % (chunk [0 ].name , chunk [0 ].content )
113- chunk [0 ].content = content
114- yield chunk [0 ]
115- if isinstance (chunk [0 ], AIMessageChunk ):
116- yield chunk [0 ]
107+ client = MultiServerMCPClient (json .loads (mcp_servers ))
108+ tools = await client .get_tools ()
109+ agent = create_react_agent (chat_model , tools )
110+ response = agent .astream ({"messages" : message_list }, stream_mode = 'messages' )
111+ async for chunk in response :
112+ if isinstance (chunk [0 ], ToolMessage ):
113+ content = tool_message_template % (chunk [0 ].name , chunk [0 ].content )
114+ chunk [0 ].content = content
115+ yield chunk [0 ]
116+ if isinstance (chunk [0 ], AIMessageChunk ):
117+ yield chunk [0 ]
117118
118119
119120def mcp_response_generator (chat_model , message_list , mcp_servers ):
0 commit comments