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({