diff --git a/apps/application/flow/step_node/ai_chat_step_node/impl/base_chat_node.py b/apps/application/flow/step_node/ai_chat_step_node/impl/base_chat_node.py index 9f64a65ad..4897f41b1 100644 --- a/apps/application/flow/step_node/ai_chat_step_node/impl/base_chat_node.py +++ b/apps/application/flow/step_node/ai_chat_step_node/impl/base_chat_node.py @@ -279,7 +279,7 @@ class BaseChatNode(IChatNode): mcp_servers_config = json.loads(mcp_servers) elif mcp_tool_id: mcp_tool = QuerySet(Tool).filter(id=mcp_tool_id).first() - if mcp_tool: + if mcp_tool and mcp_tool.is_active: mcp_servers_config = json.loads(mcp_tool.code) if tool_enable: @@ -288,6 +288,8 @@ class BaseChatNode(IChatNode): self.context['execute_ids'] = [] for tool_id in tool_ids: tool = QuerySet(Tool).filter(id=tool_id).first() + if not tool.is_active: + continue executor = ToolExecutor(CONFIG.get('SANDBOX')) if tool.init_params is not None: params = json.loads(rsa_long_decrypt(tool.init_params))