ds-mcp-flowise 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/dist/index.js +269 -16
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +269 -16
package/README.md
CHANGED
|
@@ -216,7 +216,17 @@ Then in your MCP config:
|
|
|
216
216
|
|
|
217
217
|
| Tool | Description |
|
|
218
218
|
|------|-------------|
|
|
219
|
-
| `get_usage_guide` | **CALL THIS FIRST.** Returns instructions on how to properly use the MCP server
|
|
219
|
+
| `get_usage_guide` | **CALL THIS FIRST.** Returns comprehensive instructions for AI assistants on how to properly use the MCP server. |
|
|
220
|
+
|
|
221
|
+
The `get_usage_guide` tool returns:
|
|
222
|
+
- **Warnings** about corrupted chatflows and Flowise UI crashes from malformed data
|
|
223
|
+
- **Workflow** - step-by-step process for building valid chatflows
|
|
224
|
+
- **Critical rules** - what you must and must not do
|
|
225
|
+
- **Node properties** - complete schema of ALL node properties with required/optional status
|
|
226
|
+
- **Edge properties** - complete schema of ALL edge properties with required/optional status
|
|
227
|
+
- **Connection rules** - how nodes connect and compatibility requirements
|
|
228
|
+
- **Common mistakes** - specific errors to avoid
|
|
229
|
+
- **Example workflow** - concrete example of swapping a node type
|
|
220
230
|
|
|
221
231
|
### Node Discovery
|
|
222
232
|
|
package/dist/index.js
CHANGED
|
@@ -927,13 +927,19 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
927
927
|
case 'get_usage_guide':
|
|
928
928
|
result = JSON.stringify({
|
|
929
929
|
title: 'Flowise MCP Server - Usage Guide',
|
|
930
|
-
important: 'READ THIS BEFORE USING OTHER TOOLS',
|
|
930
|
+
important: 'READ THIS COMPLETELY BEFORE USING OTHER TOOLS',
|
|
931
|
+
warnings: [
|
|
932
|
+
'DANGER: Sending malformed node data can create CORRUPTED chatflows that CRASH the Flowise UI',
|
|
933
|
+
'DANGER: Flowise may partially create a chatflow even when the API returns an error, leaving corrupted data',
|
|
934
|
+
'ALWAYS call validate_flow BEFORE flowise_create_chatflow to prevent corruption',
|
|
935
|
+
'If you create a corrupted chatflow, you must delete it via flowise_delete_chatflow',
|
|
936
|
+
],
|
|
931
937
|
workflow: [
|
|
932
938
|
'1. Call get_usage_guide (this tool) - understand how to use the server',
|
|
933
939
|
'2. Call list_templates to find a similar flow as your starting point',
|
|
934
940
|
'3. Call get_template to get the EXACT structure of a working flow',
|
|
935
941
|
'4. Call search_nodes or get_node_schema to find nodes you need to swap in',
|
|
936
|
-
'5. Call validate_flow to verify your flow
|
|
942
|
+
'5. Call validate_flow to verify your flow BEFORE creating',
|
|
937
943
|
'6. Call flowise_create_chatflow to deploy',
|
|
938
944
|
],
|
|
939
945
|
critical_rules: [
|
|
@@ -941,28 +947,275 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
941
947
|
'The skeleton from generate_flow_skeleton or get_template is the EXACT format required',
|
|
942
948
|
'Do NOT simplify, reorganize, or rewrite the node structure',
|
|
943
949
|
'Only change: node name/type, and values in the "inputs" object',
|
|
944
|
-
'Keep ALL properties
|
|
945
|
-
'
|
|
946
|
-
'Edges define connections - copy the format exactly from templates',
|
|
950
|
+
'Keep ALL properties exactly as shown in required_node_structure below',
|
|
951
|
+
'Edges define connections - copy the format EXACTLY from templates',
|
|
947
952
|
],
|
|
953
|
+
node_properties: {
|
|
954
|
+
description: 'Complete list of node properties with required/optional status',
|
|
955
|
+
node_level: {
|
|
956
|
+
id: {
|
|
957
|
+
required: true,
|
|
958
|
+
type: 'string',
|
|
959
|
+
format: '{nodeName}_{index}',
|
|
960
|
+
example: 'chatOpenAI_0',
|
|
961
|
+
description: 'Unique identifier for the node. Must match data.id.',
|
|
962
|
+
},
|
|
963
|
+
position: {
|
|
964
|
+
required: true,
|
|
965
|
+
type: 'object',
|
|
966
|
+
properties: {
|
|
967
|
+
x: { required: true, type: 'number', description: 'Horizontal position in pixels' },
|
|
968
|
+
y: { required: true, type: 'number', description: 'Vertical position in pixels' },
|
|
969
|
+
},
|
|
970
|
+
description: 'Canvas position. Affects layout in Flowise UI.',
|
|
971
|
+
},
|
|
972
|
+
type: {
|
|
973
|
+
required: true,
|
|
974
|
+
type: 'string',
|
|
975
|
+
value: 'customNode',
|
|
976
|
+
description: 'Always "customNode" for Flowise nodes.',
|
|
977
|
+
},
|
|
978
|
+
width: {
|
|
979
|
+
required: true,
|
|
980
|
+
type: 'number',
|
|
981
|
+
default: 300,
|
|
982
|
+
description: 'Node width in pixels. Standard is 300.',
|
|
983
|
+
},
|
|
984
|
+
height: {
|
|
985
|
+
required: true,
|
|
986
|
+
type: 'number',
|
|
987
|
+
description: 'Node height in pixels. Varies by node type (typically 300-800).',
|
|
988
|
+
},
|
|
989
|
+
data: {
|
|
990
|
+
required: true,
|
|
991
|
+
type: 'object',
|
|
992
|
+
description: 'Contains all node configuration. See data_level properties.',
|
|
993
|
+
},
|
|
994
|
+
positionAbsolute: {
|
|
995
|
+
required: false,
|
|
996
|
+
type: 'object',
|
|
997
|
+
description: 'Absolute position. Usually same as position. Flowise may add this.',
|
|
998
|
+
},
|
|
999
|
+
selected: {
|
|
1000
|
+
required: false,
|
|
1001
|
+
type: 'boolean',
|
|
1002
|
+
description: 'Whether node is selected in UI. Can omit.',
|
|
1003
|
+
},
|
|
1004
|
+
dragging: {
|
|
1005
|
+
required: false,
|
|
1006
|
+
type: 'boolean',
|
|
1007
|
+
description: 'Whether node is being dragged. Can omit.',
|
|
1008
|
+
},
|
|
1009
|
+
},
|
|
1010
|
+
data_level: {
|
|
1011
|
+
id: {
|
|
1012
|
+
required: true,
|
|
1013
|
+
type: 'string',
|
|
1014
|
+
description: 'MUST match the node-level id exactly.',
|
|
1015
|
+
},
|
|
1016
|
+
label: {
|
|
1017
|
+
required: true,
|
|
1018
|
+
type: 'string',
|
|
1019
|
+
example: 'ChatOpenAI',
|
|
1020
|
+
description: 'Display name shown in Flowise UI.',
|
|
1021
|
+
},
|
|
1022
|
+
name: {
|
|
1023
|
+
required: true,
|
|
1024
|
+
type: 'string',
|
|
1025
|
+
example: 'chatOpenAI',
|
|
1026
|
+
description: 'Internal node type name. Use get_node_schema to find valid names.',
|
|
1027
|
+
},
|
|
1028
|
+
type: {
|
|
1029
|
+
required: true,
|
|
1030
|
+
type: 'string',
|
|
1031
|
+
example: 'ChatOpenAI',
|
|
1032
|
+
description: 'Node type. Usually matches label.',
|
|
1033
|
+
},
|
|
1034
|
+
version: {
|
|
1035
|
+
required: true,
|
|
1036
|
+
type: 'number',
|
|
1037
|
+
description: 'Node version. Get from get_node_schema. Mismatched versions may cause errors.',
|
|
1038
|
+
},
|
|
1039
|
+
category: {
|
|
1040
|
+
required: true,
|
|
1041
|
+
type: 'string',
|
|
1042
|
+
example: 'Chat Models',
|
|
1043
|
+
description: 'Category for UI organization. Get from list_categories.',
|
|
1044
|
+
},
|
|
1045
|
+
baseClasses: {
|
|
1046
|
+
required: true,
|
|
1047
|
+
type: 'array of strings',
|
|
1048
|
+
example: ['ChatOpenAI', 'BaseChatModel', 'BaseLLM'],
|
|
1049
|
+
description: 'Inheritance chain. CRITICAL for edge connections. Get from get_node_schema.',
|
|
1050
|
+
},
|
|
1051
|
+
inputParams: {
|
|
1052
|
+
required: true,
|
|
1053
|
+
type: 'array',
|
|
1054
|
+
description: 'Configuration parameters shown in node UI. Get from get_node_schema.',
|
|
1055
|
+
item_properties: {
|
|
1056
|
+
label: { required: true, description: 'Display label' },
|
|
1057
|
+
name: { required: true, description: 'Parameter key used in inputs' },
|
|
1058
|
+
type: { required: true, description: 'Input type: string, number, boolean, password, options, etc.' },
|
|
1059
|
+
default: { required: false, description: 'Default value if not set in inputs' },
|
|
1060
|
+
optional: { required: false, description: 'If true, parameter is not required' },
|
|
1061
|
+
description: { required: false, description: 'Help text shown in UI' },
|
|
1062
|
+
rows: { required: false, description: 'For text areas, number of rows' },
|
|
1063
|
+
placeholder: { required: false, description: 'Placeholder text' },
|
|
1064
|
+
options: { required: false, description: 'For type=options, array of {label, name} choices' },
|
|
1065
|
+
additionalParams: { required: false, description: 'If true, shown in "Additional Parameters" section' },
|
|
1066
|
+
},
|
|
1067
|
+
},
|
|
1068
|
+
inputAnchors: {
|
|
1069
|
+
required: true,
|
|
1070
|
+
type: 'array',
|
|
1071
|
+
description: 'Connection points for inputs FROM other nodes. Get from get_node_schema.',
|
|
1072
|
+
item_properties: {
|
|
1073
|
+
label: { required: true, description: 'Display label for the anchor' },
|
|
1074
|
+
name: { required: true, description: 'Anchor name used in connections' },
|
|
1075
|
+
type: { required: true, description: 'Accepted node type(s). Determines what can connect.' },
|
|
1076
|
+
optional: { required: false, description: 'If true, connection is not required' },
|
|
1077
|
+
list: { required: false, description: 'If true, accepts multiple connections' },
|
|
1078
|
+
id: { required: false, description: 'Anchor ID. Flowise may auto-generate.' },
|
|
1079
|
+
},
|
|
1080
|
+
},
|
|
1081
|
+
outputAnchors: {
|
|
1082
|
+
required: true,
|
|
1083
|
+
type: 'array',
|
|
1084
|
+
description: 'Connection points for outputs TO other nodes. Get from get_node_schema.',
|
|
1085
|
+
item_properties: {
|
|
1086
|
+
id: { required: true, format: '{nodeId}-output-{name}-{types joined by |}', description: 'Unique output anchor ID' },
|
|
1087
|
+
name: { required: true, description: 'Output name' },
|
|
1088
|
+
label: { required: true, description: 'Display label' },
|
|
1089
|
+
type: { required: true, description: 'Output type(s). Determines what can receive this output.' },
|
|
1090
|
+
},
|
|
1091
|
+
},
|
|
1092
|
+
inputs: {
|
|
1093
|
+
required: true,
|
|
1094
|
+
type: 'object',
|
|
1095
|
+
description: 'Actual values for inputParams. Keys match inputParams[].name.',
|
|
1096
|
+
example: { modelName: 'gpt-4', temperature: 0.7 },
|
|
1097
|
+
},
|
|
1098
|
+
outputs: {
|
|
1099
|
+
required: false,
|
|
1100
|
+
type: 'object',
|
|
1101
|
+
description: 'Output configuration. Usually auto-generated by Flowise.',
|
|
1102
|
+
},
|
|
1103
|
+
credential: {
|
|
1104
|
+
required: false,
|
|
1105
|
+
type: 'string',
|
|
1106
|
+
description: 'Credential ID for nodes requiring authentication. Set in Flowise UI after import.',
|
|
1107
|
+
},
|
|
1108
|
+
},
|
|
1109
|
+
},
|
|
1110
|
+
edge_properties: {
|
|
1111
|
+
description: 'Complete list of edge properties with required/optional status',
|
|
1112
|
+
properties: {
|
|
1113
|
+
source: {
|
|
1114
|
+
required: true,
|
|
1115
|
+
type: 'string',
|
|
1116
|
+
description: 'ID of the source node (where the connection starts).',
|
|
1117
|
+
example: 'chatOpenAI_0',
|
|
1118
|
+
},
|
|
1119
|
+
sourceHandle: {
|
|
1120
|
+
required: true,
|
|
1121
|
+
type: 'string',
|
|
1122
|
+
format: '{nodeId}-output-{outputName}-{outputTypes joined by |}',
|
|
1123
|
+
example: 'chatOpenAI_0-output-chatOpenAI-ChatOpenAI|BaseChatModel|BaseLLM',
|
|
1124
|
+
description: 'References the outputAnchor.id from the source node. MUST match exactly.',
|
|
1125
|
+
},
|
|
1126
|
+
target: {
|
|
1127
|
+
required: true,
|
|
1128
|
+
type: 'string',
|
|
1129
|
+
description: 'ID of the target node (where the connection ends).',
|
|
1130
|
+
example: 'conversationChain_0',
|
|
1131
|
+
},
|
|
1132
|
+
targetHandle: {
|
|
1133
|
+
required: true,
|
|
1134
|
+
type: 'string',
|
|
1135
|
+
format: '{nodeId}-input-{inputAnchorName}-{inputAnchorType}',
|
|
1136
|
+
example: 'conversationChain_0-input-model-BaseChatModel',
|
|
1137
|
+
description: 'References the inputAnchor on the target node. Format is predictable from inputAnchors array.',
|
|
1138
|
+
},
|
|
1139
|
+
type: {
|
|
1140
|
+
required: true,
|
|
1141
|
+
type: 'string',
|
|
1142
|
+
value: 'buttonedge',
|
|
1143
|
+
description: 'Always "buttonedge" for Flowise connections.',
|
|
1144
|
+
},
|
|
1145
|
+
id: {
|
|
1146
|
+
required: true,
|
|
1147
|
+
type: 'string',
|
|
1148
|
+
format: '{source}-{sourceHandle}-{target}-{targetHandle}',
|
|
1149
|
+
example: 'chatOpenAI_0-chatOpenAI_0-output-chatOpenAI-ChatOpenAI|BaseChatModel|BaseLLM-conversationChain_0-conversationChain_0-input-model-BaseChatModel',
|
|
1150
|
+
description: 'Unique edge identifier. Concatenation of source, sourceHandle, target, targetHandle.',
|
|
1151
|
+
},
|
|
1152
|
+
data: {
|
|
1153
|
+
required: false,
|
|
1154
|
+
type: 'object',
|
|
1155
|
+
description: 'Optional edge metadata. Usually empty {}. Flowise may add label here.',
|
|
1156
|
+
},
|
|
1157
|
+
style: {
|
|
1158
|
+
required: false,
|
|
1159
|
+
type: 'object',
|
|
1160
|
+
description: 'Optional edge styling (stroke color, etc.). Can omit.',
|
|
1161
|
+
},
|
|
1162
|
+
animated: {
|
|
1163
|
+
required: false,
|
|
1164
|
+
type: 'boolean',
|
|
1165
|
+
description: 'If true, edge shows animation. Can omit.',
|
|
1166
|
+
},
|
|
1167
|
+
},
|
|
1168
|
+
connection_rules: {
|
|
1169
|
+
description: 'Rules for valid connections',
|
|
1170
|
+
rules: [
|
|
1171
|
+
'Source node outputAnchor.type must be compatible with target node inputAnchor.type',
|
|
1172
|
+
'baseClasses determine compatibility - if outputType is in inputAnchor accepted types, connection is valid',
|
|
1173
|
+
'Use find_compatible_nodes tool to discover what can connect to what',
|
|
1174
|
+
'One output can connect to multiple inputs (if inputs allow)',
|
|
1175
|
+
'One input can only receive one connection (unless inputAnchor.list is true)',
|
|
1176
|
+
],
|
|
1177
|
+
},
|
|
1178
|
+
},
|
|
948
1179
|
common_mistakes: [
|
|
949
|
-
'Creating nodes from scratch instead of
|
|
950
|
-
'Removing
|
|
951
|
-
'
|
|
952
|
-
'
|
|
953
|
-
'
|
|
1180
|
+
'Creating nodes from scratch instead of copying from templates',
|
|
1181
|
+
'Removing or omitting inputAnchors or outputAnchors arrays',
|
|
1182
|
+
'Removing or omitting inputParams array',
|
|
1183
|
+
'Missing position, width, or height properties',
|
|
1184
|
+
'Missing the data.version property',
|
|
1185
|
+
'Missing data.baseClasses array',
|
|
1186
|
+
'Inventing edge IDs instead of following the exact format',
|
|
1187
|
+
'Not including data.id (must match the node id)',
|
|
1188
|
+
'Simplifying or flattening the nested data structure',
|
|
954
1189
|
],
|
|
955
1190
|
example_workflow: {
|
|
956
1191
|
task: 'Build a RAG chatbot with Postgres instead of Pinecone',
|
|
957
1192
|
steps: [
|
|
958
|
-
'1.
|
|
959
|
-
'2.
|
|
960
|
-
'3.
|
|
961
|
-
'4.
|
|
962
|
-
'5.
|
|
963
|
-
'6.
|
|
1193
|
+
'1. list_templates({ type: "chatflow" }) - find RAG-related templates',
|
|
1194
|
+
'2. get_template("Conversational Retrieval QA Chain") - get a working RAG flow with full structure',
|
|
1195
|
+
'3. get_node_schema("postgres") - understand the Postgres node inputs and structure',
|
|
1196
|
+
'4. Copy the ENTIRE template structure',
|
|
1197
|
+
'5. Find the vector store node in the template',
|
|
1198
|
+
'6. Replace ONLY: data.name, data.label, data.type with postgres equivalents',
|
|
1199
|
+
'7. Update data.inputs with Postgres-specific values (host, database, etc.)',
|
|
1200
|
+
'8. Update the edges: change sourceHandle/targetHandle to match new node types',
|
|
1201
|
+
'9. validate_flow({ nodes: [...], edges: [...] }) - MUST pass before creating',
|
|
1202
|
+
'10. flowise_create_chatflow({ name: "...", nodes: [...], edges: [...] }) - deploy',
|
|
964
1203
|
],
|
|
965
1204
|
},
|
|
1205
|
+
what_you_can_safely_change: [
|
|
1206
|
+
'data.inputs values (the actual configuration)',
|
|
1207
|
+
'data.name, data.label, data.type (when swapping node types)',
|
|
1208
|
+
'data.baseClasses (must match the new node type)',
|
|
1209
|
+
'node id (but must update all references in edges)',
|
|
1210
|
+
'position x/y coordinates',
|
|
1211
|
+
],
|
|
1212
|
+
what_you_must_NOT_change: [
|
|
1213
|
+
'The overall node structure (all properties must exist)',
|
|
1214
|
+
'The data object structure (inputParams, inputAnchors, outputAnchors, inputs must all exist)',
|
|
1215
|
+
'The edge format (sourceHandle, targetHandle patterns)',
|
|
1216
|
+
'The type: "customNode" on nodes',
|
|
1217
|
+
'The type: "buttonedge" on edges',
|
|
1218
|
+
],
|
|
966
1219
|
}, null, 2);
|
|
967
1220
|
break;
|
|
968
1221
|
// Node discovery tools
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ds-mcp-flowise",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "MCP server for building and managing Flowise chatflows and agentflows. Provides AI assistants with comprehensive knowledge of Flowise nodes, tools for workflow creation, and direct API integration to deploy chatflows.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
package/src/index.ts
CHANGED
|
@@ -1076,13 +1076,19 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1076
1076
|
case 'get_usage_guide':
|
|
1077
1077
|
result = JSON.stringify({
|
|
1078
1078
|
title: 'Flowise MCP Server - Usage Guide',
|
|
1079
|
-
important: 'READ THIS BEFORE USING OTHER TOOLS',
|
|
1079
|
+
important: 'READ THIS COMPLETELY BEFORE USING OTHER TOOLS',
|
|
1080
|
+
warnings: [
|
|
1081
|
+
'DANGER: Sending malformed node data can create CORRUPTED chatflows that CRASH the Flowise UI',
|
|
1082
|
+
'DANGER: Flowise may partially create a chatflow even when the API returns an error, leaving corrupted data',
|
|
1083
|
+
'ALWAYS call validate_flow BEFORE flowise_create_chatflow to prevent corruption',
|
|
1084
|
+
'If you create a corrupted chatflow, you must delete it via flowise_delete_chatflow',
|
|
1085
|
+
],
|
|
1080
1086
|
workflow: [
|
|
1081
1087
|
'1. Call get_usage_guide (this tool) - understand how to use the server',
|
|
1082
1088
|
'2. Call list_templates to find a similar flow as your starting point',
|
|
1083
1089
|
'3. Call get_template to get the EXACT structure of a working flow',
|
|
1084
1090
|
'4. Call search_nodes or get_node_schema to find nodes you need to swap in',
|
|
1085
|
-
'5. Call validate_flow to verify your flow
|
|
1091
|
+
'5. Call validate_flow to verify your flow BEFORE creating',
|
|
1086
1092
|
'6. Call flowise_create_chatflow to deploy',
|
|
1087
1093
|
],
|
|
1088
1094
|
critical_rules: [
|
|
@@ -1090,28 +1096,275 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1090
1096
|
'The skeleton from generate_flow_skeleton or get_template is the EXACT format required',
|
|
1091
1097
|
'Do NOT simplify, reorganize, or rewrite the node structure',
|
|
1092
1098
|
'Only change: node name/type, and values in the "inputs" object',
|
|
1093
|
-
'Keep ALL properties
|
|
1094
|
-
'
|
|
1095
|
-
'Edges define connections - copy the format exactly from templates',
|
|
1099
|
+
'Keep ALL properties exactly as shown in required_node_structure below',
|
|
1100
|
+
'Edges define connections - copy the format EXACTLY from templates',
|
|
1096
1101
|
],
|
|
1102
|
+
node_properties: {
|
|
1103
|
+
description: 'Complete list of node properties with required/optional status',
|
|
1104
|
+
node_level: {
|
|
1105
|
+
id: {
|
|
1106
|
+
required: true,
|
|
1107
|
+
type: 'string',
|
|
1108
|
+
format: '{nodeName}_{index}',
|
|
1109
|
+
example: 'chatOpenAI_0',
|
|
1110
|
+
description: 'Unique identifier for the node. Must match data.id.',
|
|
1111
|
+
},
|
|
1112
|
+
position: {
|
|
1113
|
+
required: true,
|
|
1114
|
+
type: 'object',
|
|
1115
|
+
properties: {
|
|
1116
|
+
x: { required: true, type: 'number', description: 'Horizontal position in pixels' },
|
|
1117
|
+
y: { required: true, type: 'number', description: 'Vertical position in pixels' },
|
|
1118
|
+
},
|
|
1119
|
+
description: 'Canvas position. Affects layout in Flowise UI.',
|
|
1120
|
+
},
|
|
1121
|
+
type: {
|
|
1122
|
+
required: true,
|
|
1123
|
+
type: 'string',
|
|
1124
|
+
value: 'customNode',
|
|
1125
|
+
description: 'Always "customNode" for Flowise nodes.',
|
|
1126
|
+
},
|
|
1127
|
+
width: {
|
|
1128
|
+
required: true,
|
|
1129
|
+
type: 'number',
|
|
1130
|
+
default: 300,
|
|
1131
|
+
description: 'Node width in pixels. Standard is 300.',
|
|
1132
|
+
},
|
|
1133
|
+
height: {
|
|
1134
|
+
required: true,
|
|
1135
|
+
type: 'number',
|
|
1136
|
+
description: 'Node height in pixels. Varies by node type (typically 300-800).',
|
|
1137
|
+
},
|
|
1138
|
+
data: {
|
|
1139
|
+
required: true,
|
|
1140
|
+
type: 'object',
|
|
1141
|
+
description: 'Contains all node configuration. See data_level properties.',
|
|
1142
|
+
},
|
|
1143
|
+
positionAbsolute: {
|
|
1144
|
+
required: false,
|
|
1145
|
+
type: 'object',
|
|
1146
|
+
description: 'Absolute position. Usually same as position. Flowise may add this.',
|
|
1147
|
+
},
|
|
1148
|
+
selected: {
|
|
1149
|
+
required: false,
|
|
1150
|
+
type: 'boolean',
|
|
1151
|
+
description: 'Whether node is selected in UI. Can omit.',
|
|
1152
|
+
},
|
|
1153
|
+
dragging: {
|
|
1154
|
+
required: false,
|
|
1155
|
+
type: 'boolean',
|
|
1156
|
+
description: 'Whether node is being dragged. Can omit.',
|
|
1157
|
+
},
|
|
1158
|
+
},
|
|
1159
|
+
data_level: {
|
|
1160
|
+
id: {
|
|
1161
|
+
required: true,
|
|
1162
|
+
type: 'string',
|
|
1163
|
+
description: 'MUST match the node-level id exactly.',
|
|
1164
|
+
},
|
|
1165
|
+
label: {
|
|
1166
|
+
required: true,
|
|
1167
|
+
type: 'string',
|
|
1168
|
+
example: 'ChatOpenAI',
|
|
1169
|
+
description: 'Display name shown in Flowise UI.',
|
|
1170
|
+
},
|
|
1171
|
+
name: {
|
|
1172
|
+
required: true,
|
|
1173
|
+
type: 'string',
|
|
1174
|
+
example: 'chatOpenAI',
|
|
1175
|
+
description: 'Internal node type name. Use get_node_schema to find valid names.',
|
|
1176
|
+
},
|
|
1177
|
+
type: {
|
|
1178
|
+
required: true,
|
|
1179
|
+
type: 'string',
|
|
1180
|
+
example: 'ChatOpenAI',
|
|
1181
|
+
description: 'Node type. Usually matches label.',
|
|
1182
|
+
},
|
|
1183
|
+
version: {
|
|
1184
|
+
required: true,
|
|
1185
|
+
type: 'number',
|
|
1186
|
+
description: 'Node version. Get from get_node_schema. Mismatched versions may cause errors.',
|
|
1187
|
+
},
|
|
1188
|
+
category: {
|
|
1189
|
+
required: true,
|
|
1190
|
+
type: 'string',
|
|
1191
|
+
example: 'Chat Models',
|
|
1192
|
+
description: 'Category for UI organization. Get from list_categories.',
|
|
1193
|
+
},
|
|
1194
|
+
baseClasses: {
|
|
1195
|
+
required: true,
|
|
1196
|
+
type: 'array of strings',
|
|
1197
|
+
example: ['ChatOpenAI', 'BaseChatModel', 'BaseLLM'],
|
|
1198
|
+
description: 'Inheritance chain. CRITICAL for edge connections. Get from get_node_schema.',
|
|
1199
|
+
},
|
|
1200
|
+
inputParams: {
|
|
1201
|
+
required: true,
|
|
1202
|
+
type: 'array',
|
|
1203
|
+
description: 'Configuration parameters shown in node UI. Get from get_node_schema.',
|
|
1204
|
+
item_properties: {
|
|
1205
|
+
label: { required: true, description: 'Display label' },
|
|
1206
|
+
name: { required: true, description: 'Parameter key used in inputs' },
|
|
1207
|
+
type: { required: true, description: 'Input type: string, number, boolean, password, options, etc.' },
|
|
1208
|
+
default: { required: false, description: 'Default value if not set in inputs' },
|
|
1209
|
+
optional: { required: false, description: 'If true, parameter is not required' },
|
|
1210
|
+
description: { required: false, description: 'Help text shown in UI' },
|
|
1211
|
+
rows: { required: false, description: 'For text areas, number of rows' },
|
|
1212
|
+
placeholder: { required: false, description: 'Placeholder text' },
|
|
1213
|
+
options: { required: false, description: 'For type=options, array of {label, name} choices' },
|
|
1214
|
+
additionalParams: { required: false, description: 'If true, shown in "Additional Parameters" section' },
|
|
1215
|
+
},
|
|
1216
|
+
},
|
|
1217
|
+
inputAnchors: {
|
|
1218
|
+
required: true,
|
|
1219
|
+
type: 'array',
|
|
1220
|
+
description: 'Connection points for inputs FROM other nodes. Get from get_node_schema.',
|
|
1221
|
+
item_properties: {
|
|
1222
|
+
label: { required: true, description: 'Display label for the anchor' },
|
|
1223
|
+
name: { required: true, description: 'Anchor name used in connections' },
|
|
1224
|
+
type: { required: true, description: 'Accepted node type(s). Determines what can connect.' },
|
|
1225
|
+
optional: { required: false, description: 'If true, connection is not required' },
|
|
1226
|
+
list: { required: false, description: 'If true, accepts multiple connections' },
|
|
1227
|
+
id: { required: false, description: 'Anchor ID. Flowise may auto-generate.' },
|
|
1228
|
+
},
|
|
1229
|
+
},
|
|
1230
|
+
outputAnchors: {
|
|
1231
|
+
required: true,
|
|
1232
|
+
type: 'array',
|
|
1233
|
+
description: 'Connection points for outputs TO other nodes. Get from get_node_schema.',
|
|
1234
|
+
item_properties: {
|
|
1235
|
+
id: { required: true, format: '{nodeId}-output-{name}-{types joined by |}', description: 'Unique output anchor ID' },
|
|
1236
|
+
name: { required: true, description: 'Output name' },
|
|
1237
|
+
label: { required: true, description: 'Display label' },
|
|
1238
|
+
type: { required: true, description: 'Output type(s). Determines what can receive this output.' },
|
|
1239
|
+
},
|
|
1240
|
+
},
|
|
1241
|
+
inputs: {
|
|
1242
|
+
required: true,
|
|
1243
|
+
type: 'object',
|
|
1244
|
+
description: 'Actual values for inputParams. Keys match inputParams[].name.',
|
|
1245
|
+
example: { modelName: 'gpt-4', temperature: 0.7 },
|
|
1246
|
+
},
|
|
1247
|
+
outputs: {
|
|
1248
|
+
required: false,
|
|
1249
|
+
type: 'object',
|
|
1250
|
+
description: 'Output configuration. Usually auto-generated by Flowise.',
|
|
1251
|
+
},
|
|
1252
|
+
credential: {
|
|
1253
|
+
required: false,
|
|
1254
|
+
type: 'string',
|
|
1255
|
+
description: 'Credential ID for nodes requiring authentication. Set in Flowise UI after import.',
|
|
1256
|
+
},
|
|
1257
|
+
},
|
|
1258
|
+
},
|
|
1259
|
+
edge_properties: {
|
|
1260
|
+
description: 'Complete list of edge properties with required/optional status',
|
|
1261
|
+
properties: {
|
|
1262
|
+
source: {
|
|
1263
|
+
required: true,
|
|
1264
|
+
type: 'string',
|
|
1265
|
+
description: 'ID of the source node (where the connection starts).',
|
|
1266
|
+
example: 'chatOpenAI_0',
|
|
1267
|
+
},
|
|
1268
|
+
sourceHandle: {
|
|
1269
|
+
required: true,
|
|
1270
|
+
type: 'string',
|
|
1271
|
+
format: '{nodeId}-output-{outputName}-{outputTypes joined by |}',
|
|
1272
|
+
example: 'chatOpenAI_0-output-chatOpenAI-ChatOpenAI|BaseChatModel|BaseLLM',
|
|
1273
|
+
description: 'References the outputAnchor.id from the source node. MUST match exactly.',
|
|
1274
|
+
},
|
|
1275
|
+
target: {
|
|
1276
|
+
required: true,
|
|
1277
|
+
type: 'string',
|
|
1278
|
+
description: 'ID of the target node (where the connection ends).',
|
|
1279
|
+
example: 'conversationChain_0',
|
|
1280
|
+
},
|
|
1281
|
+
targetHandle: {
|
|
1282
|
+
required: true,
|
|
1283
|
+
type: 'string',
|
|
1284
|
+
format: '{nodeId}-input-{inputAnchorName}-{inputAnchorType}',
|
|
1285
|
+
example: 'conversationChain_0-input-model-BaseChatModel',
|
|
1286
|
+
description: 'References the inputAnchor on the target node. Format is predictable from inputAnchors array.',
|
|
1287
|
+
},
|
|
1288
|
+
type: {
|
|
1289
|
+
required: true,
|
|
1290
|
+
type: 'string',
|
|
1291
|
+
value: 'buttonedge',
|
|
1292
|
+
description: 'Always "buttonedge" for Flowise connections.',
|
|
1293
|
+
},
|
|
1294
|
+
id: {
|
|
1295
|
+
required: true,
|
|
1296
|
+
type: 'string',
|
|
1297
|
+
format: '{source}-{sourceHandle}-{target}-{targetHandle}',
|
|
1298
|
+
example: 'chatOpenAI_0-chatOpenAI_0-output-chatOpenAI-ChatOpenAI|BaseChatModel|BaseLLM-conversationChain_0-conversationChain_0-input-model-BaseChatModel',
|
|
1299
|
+
description: 'Unique edge identifier. Concatenation of source, sourceHandle, target, targetHandle.',
|
|
1300
|
+
},
|
|
1301
|
+
data: {
|
|
1302
|
+
required: false,
|
|
1303
|
+
type: 'object',
|
|
1304
|
+
description: 'Optional edge metadata. Usually empty {}. Flowise may add label here.',
|
|
1305
|
+
},
|
|
1306
|
+
style: {
|
|
1307
|
+
required: false,
|
|
1308
|
+
type: 'object',
|
|
1309
|
+
description: 'Optional edge styling (stroke color, etc.). Can omit.',
|
|
1310
|
+
},
|
|
1311
|
+
animated: {
|
|
1312
|
+
required: false,
|
|
1313
|
+
type: 'boolean',
|
|
1314
|
+
description: 'If true, edge shows animation. Can omit.',
|
|
1315
|
+
},
|
|
1316
|
+
},
|
|
1317
|
+
connection_rules: {
|
|
1318
|
+
description: 'Rules for valid connections',
|
|
1319
|
+
rules: [
|
|
1320
|
+
'Source node outputAnchor.type must be compatible with target node inputAnchor.type',
|
|
1321
|
+
'baseClasses determine compatibility - if outputType is in inputAnchor accepted types, connection is valid',
|
|
1322
|
+
'Use find_compatible_nodes tool to discover what can connect to what',
|
|
1323
|
+
'One output can connect to multiple inputs (if inputs allow)',
|
|
1324
|
+
'One input can only receive one connection (unless inputAnchor.list is true)',
|
|
1325
|
+
],
|
|
1326
|
+
},
|
|
1327
|
+
},
|
|
1097
1328
|
common_mistakes: [
|
|
1098
|
-
'Creating nodes from scratch instead of
|
|
1099
|
-
'Removing
|
|
1100
|
-
'
|
|
1101
|
-
'
|
|
1102
|
-
'
|
|
1329
|
+
'Creating nodes from scratch instead of copying from templates',
|
|
1330
|
+
'Removing or omitting inputAnchors or outputAnchors arrays',
|
|
1331
|
+
'Removing or omitting inputParams array',
|
|
1332
|
+
'Missing position, width, or height properties',
|
|
1333
|
+
'Missing the data.version property',
|
|
1334
|
+
'Missing data.baseClasses array',
|
|
1335
|
+
'Inventing edge IDs instead of following the exact format',
|
|
1336
|
+
'Not including data.id (must match the node id)',
|
|
1337
|
+
'Simplifying or flattening the nested data structure',
|
|
1103
1338
|
],
|
|
1104
1339
|
example_workflow: {
|
|
1105
1340
|
task: 'Build a RAG chatbot with Postgres instead of Pinecone',
|
|
1106
1341
|
steps: [
|
|
1107
|
-
'1.
|
|
1108
|
-
'2.
|
|
1109
|
-
'3.
|
|
1110
|
-
'4.
|
|
1111
|
-
'5.
|
|
1112
|
-
'6.
|
|
1342
|
+
'1. list_templates({ type: "chatflow" }) - find RAG-related templates',
|
|
1343
|
+
'2. get_template("Conversational Retrieval QA Chain") - get a working RAG flow with full structure',
|
|
1344
|
+
'3. get_node_schema("postgres") - understand the Postgres node inputs and structure',
|
|
1345
|
+
'4. Copy the ENTIRE template structure',
|
|
1346
|
+
'5. Find the vector store node in the template',
|
|
1347
|
+
'6. Replace ONLY: data.name, data.label, data.type with postgres equivalents',
|
|
1348
|
+
'7. Update data.inputs with Postgres-specific values (host, database, etc.)',
|
|
1349
|
+
'8. Update the edges: change sourceHandle/targetHandle to match new node types',
|
|
1350
|
+
'9. validate_flow({ nodes: [...], edges: [...] }) - MUST pass before creating',
|
|
1351
|
+
'10. flowise_create_chatflow({ name: "...", nodes: [...], edges: [...] }) - deploy',
|
|
1113
1352
|
],
|
|
1114
1353
|
},
|
|
1354
|
+
what_you_can_safely_change: [
|
|
1355
|
+
'data.inputs values (the actual configuration)',
|
|
1356
|
+
'data.name, data.label, data.type (when swapping node types)',
|
|
1357
|
+
'data.baseClasses (must match the new node type)',
|
|
1358
|
+
'node id (but must update all references in edges)',
|
|
1359
|
+
'position x/y coordinates',
|
|
1360
|
+
],
|
|
1361
|
+
what_you_must_NOT_change: [
|
|
1362
|
+
'The overall node structure (all properties must exist)',
|
|
1363
|
+
'The data object structure (inputParams, inputAnchors, outputAnchors, inputs must all exist)',
|
|
1364
|
+
'The edge format (sourceHandle, targetHandle patterns)',
|
|
1365
|
+
'The type: "customNode" on nodes',
|
|
1366
|
+
'The type: "buttonedge" on edges',
|
|
1367
|
+
],
|
|
1115
1368
|
}, null, 2);
|
|
1116
1369
|
break;
|
|
1117
1370
|
|