Skip to content

Commit e443f31

Browse files
committed
feat: conditionally validate MCP transport based on tool type
--bug=1062394 --user=刘瑞斌 【工具】启用、禁用工具失败 https://www.tapd.cn/62980211/s/1780683
1 parent 54aa621 commit e443f31

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

apps/tools/serializers/tool.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,8 @@ def insert(self, instance, with_valid=True):
356356
ToolCreateRequest(data=instance).is_valid(raise_exception=True)
357357
# 校验代码是否包括禁止的关键字
358358
ToolExecutor().validate_banned_keywords(instance.get('code', ''))
359-
ToolExecutor().validate_mcp_transport(instance.get('code', ''))
359+
if instance.get('tool_type') == ToolType.MCP:
360+
ToolExecutor().validate_mcp_transport(instance.get('code', ''))
360361

361362
tool_id = uuid.uuid7()
362363
Tool(
@@ -487,7 +488,8 @@ def edit(self, instance, with_valid=True):
487488
ToolEditRequest(data=instance).is_valid(raise_exception=True)
488489
# 校验代码是否包括禁止的关键字
489490
ToolExecutor().validate_banned_keywords(instance.get('code', ''))
490-
ToolExecutor().validate_mcp_transport(instance.get('code', ''))
491+
if instance.get('tool_type') == ToolType.MCP:
492+
ToolExecutor().validate_mcp_transport(instance.get('code', ''))
491493

492494
if not QuerySet(Tool).filter(id=self.data.get('id')).exists():
493495
raise serializers.ValidationError(_('Tool not found'))

0 commit comments

Comments
 (0)