From fb0fdb9c8510c7ef3452fbbf81e7edfda0e37640 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Wed, 2 Apr 2025 11:31:33 +0800 Subject: [PATCH] refactor: enhance MCP server configuration tooltips and validation messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1054206 --user=刘瑞斌 【应用】MCP节点不配置Server config,不选择工具,可以发布应用,对话时报错 https://www.tapd.cn/57709429/s/1679457 --- .../lang/en-US/views/application-workflow.ts | 1 + .../lang/zh-CN/views/application-workflow.ts | 3 ++- .../zh-Hant/views/application-workflow.ts | 3 ++- ui/src/workflow/nodes/mcp-node/index.vue | 19 +++++++++++++++---- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/ui/src/locales/lang/en-US/views/application-workflow.ts b/ui/src/locales/lang/en-US/views/application-workflow.ts index b9cb8d0a6..768415301 100644 --- a/ui/src/locales/lang/en-US/views/application-workflow.ts +++ b/ui/src/locales/lang/en-US/views/application-workflow.ts @@ -228,6 +228,7 @@ export default { tool: 'Tool', toolParam: 'Tool Params', mcpServerTip: 'Please enter the JSON format of the MCP server config', + mcpToolTip: 'Please select a tool', configLabel: 'MCP Server Config (Only supports SSE call method)', }, imageGenerateNode: { diff --git a/ui/src/locales/lang/zh-CN/views/application-workflow.ts b/ui/src/locales/lang/zh-CN/views/application-workflow.ts index 838bec013..194fed051 100644 --- a/ui/src/locales/lang/zh-CN/views/application-workflow.ts +++ b/ui/src/locales/lang/zh-CN/views/application-workflow.ts @@ -227,7 +227,8 @@ export default { getTool: '获取工具', tool: '工具', toolParam: '工具参数', - mcpServerTip: '请输入 JSON 格式的 MCP 服务器配置', + mcpServerTip: '请输入JSON格式的MCP服务器配置', + mcpToolTip: '请选择工具', configLabel: 'MCP Server Config (仅支持SSE调用方式)' }, imageGenerateNode: { diff --git a/ui/src/locales/lang/zh-Hant/views/application-workflow.ts b/ui/src/locales/lang/zh-Hant/views/application-workflow.ts index ea3351248..f1c7893ff 100644 --- a/ui/src/locales/lang/zh-Hant/views/application-workflow.ts +++ b/ui/src/locales/lang/zh-Hant/views/application-workflow.ts @@ -227,7 +227,8 @@ export default { getTool: '獲取工具', tool: '工具', toolParam: '工具變數', - mcpServerTip: '請輸入 JSON 格式的 MCP 服務器配置', + mcpServerTip: '請輸入JSON格式的MCP服務器配置', + mcpToolTip: '請選擇工具', configLabel: 'MCP Server Config (僅支持SSE調用方式)', }, imageGenerateNode: { diff --git a/ui/src/workflow/nodes/mcp-node/index.vue b/ui/src/workflow/nodes/mcp-node/index.vue index fb8ba4ccb..a0d272c4c 100644 --- a/ui/src/workflow/nodes/mcp-node/index.vue +++ b/ui/src/workflow/nodes/mcp-node/index.vue @@ -343,10 +343,21 @@ const validate = async () => { } } } - let ps = [replyNodeFormRef.value?.validate()] - return Promise.all(ps).catch((err: any) => { - return Promise.reject({ node: props.nodeModel, errMessage: err }) - }) + if (replyNodeFormRef.value) { + const form = cloneDeep(form_data.value) + if (!form.mcp_servers) { + return Promise.reject({ + node: props.nodeModel, + errMessage: t('views.applicationWorkflow.nodes.mcpNode.mcpServerTip') + }) + } + if (!form.mcp_tool) { + return Promise.reject({ + node: props.nodeModel, + errMessage: t('views.applicationWorkflow.nodes.mcpNode.mcpToolTip') + }) + } + } } onMounted(() => {