diff --git a/apps/application/flow/step_node/mcp_node/impl/base_mcp_node.py b/apps/application/flow/step_node/mcp_node/impl/base_mcp_node.py index b3c1f2d9b..6042e269d 100644 --- a/apps/application/flow/step_node/mcp_node/impl/base_mcp_node.py +++ b/apps/application/flow/step_node/mcp_node/impl/base_mcp_node.py @@ -35,6 +35,8 @@ class BaseMcpNode(IMcpNode): tool_params[k] = self.workflow_manage.generate_prompt(tool_params[k]) if type(v) == dict: self.handle_variables(v) + if (type(v) == list) and (type(v[0]) == str): + tool_params[k] = self.get_reference_content(v) return tool_params def get_reference_content(self, fields: List[str]): diff --git a/ui/src/workflow/nodes/mcp-node/index.vue b/ui/src/workflow/nodes/mcp-node/index.vue index fb4149c85..607b74666 100644 --- a/ui/src/workflow/nodes/mcp-node/index.vue +++ b/ui/src/workflow/nodes/mcp-node/index.vue @@ -62,28 +62,95 @@ class="border-r-4 p-8-12 mb-8 layout-bg lighter" v-if="form_data.tool_params[form_data.params_nested]" > - - + + + + + +
- - + + + + + +
@@ -94,8 +161,9 @@ import { computed, onMounted, ref } from 'vue' import { isLastNode } from '@/workflow/common/data' import applicationApi from '@/api/application' import { t } from '@/locales' -import DynamicsForm from '@/components/dynamics-form/index.vue' import { MsgError, MsgSuccess } from '@/utils/message' +import TooltipLabel from '@/components/dynamics-form/items/label/TooltipLabel.vue' +import NodeCascader from '@/workflow/common/NodeCascader.vue' const props = defineProps<{ nodeModel: any }>() @@ -168,9 +236,8 @@ function changeTool() { props_info: {} }, input_type: 'TextInput', + source: 'custom', required: args_schema.properties[item].required?.indexOf(item2) !== -1, - default_value: '', - show_default_value: false, props_info: { rules: [ { @@ -193,9 +260,8 @@ function changeTool() { props_info: {} }, input_type: 'TextInput', + source: 'custom', required: args_schema.required?.indexOf(item) !== -1, - default_value: '', - show_default_value: false, props_info: { rules: [ { @@ -211,15 +277,9 @@ function changeTool() { // if (form_data.value.params_nested) { form_data.value.tool_params = { [form_data.value.params_nested]: {} } - dynamicsFormRef.value?.render( - form_data.value.tool_form_field, - form_data.value.tool_params[form_data.value.params_nested] - ) } else { form_data.value.tool_params = {} - dynamicsFormRef.value?.render(form_data.value.tool_form_field, form_data.value.tool_params) } - console.log(form_data.value.tool_params) } const form_data = computed({