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 8d576d416..56efa4e54 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 @@ -219,7 +219,7 @@ class BaseChatNode(IChatNode): message_list = self.generate_message_list(system, prompt, history_message) self.context['message_list'] = message_list - if mcp_enable and mcp_servers is not None: + if mcp_enable and mcp_servers is not None and '"stdio"' not in mcp_servers: r = mcp_response_generator(chat_model, message_list, mcp_servers) return NodeResult( {'result': r, 'chat_model': chat_model, 'message_list': message_list, diff --git a/apps/application/serializers/application_serializers.py b/apps/application/serializers/application_serializers.py index 77965fb63..9cd06bf2b 100644 --- a/apps/application/serializers/application_serializers.py +++ b/apps/application/serializers/application_serializers.py @@ -1325,6 +1325,8 @@ class ApplicationSerializer(serializers.Serializer): def get_mcp_servers(self, with_valid=True): if with_valid: self.is_valid(raise_exception=True) + if '"stdio"' in self.data.get('mcp_servers'): + raise AppApiException(500, _('stdio is not supported')) servers = json.loads(self.data.get('mcp_servers')) async def get_mcp_tools(servers):