ds-mcp-flowise 1.1.3 → 1.1.5

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 CHANGED
@@ -1,256 +1,270 @@
1
- # DS-MCP-FLOWISE
2
-
3
- MCP (Model Context Protocol) server that gives AI assistants (Claude, GPT, etc.) deep knowledge of [Flowise](https://flowiseai.com/) nodes so they can help you design, build, and deploy chatflows and agentflows.
4
-
5
- ## What This Does
6
-
7
- When connected to Claude Code (or other MCP clients), this server lets the AI:
8
- - Know all 311 Flowise nodes and their configurations
9
- - Understand how nodes connect together
10
- - Design complete flows based on your requirements
11
- - Output valid JSON you can import into Flowise
12
- - **Deploy flows directly to your Flowise instance** (optional API integration)
13
-
14
- ## Quick Start
15
-
16
- ### 1. Add to Claude Code
17
-
18
- Add this to your Claude Code MCP configuration (`claude_desktop_config.json` or via settings):
19
-
20
- **Windows:**
21
- ```json
22
- {
23
- "mcpServers": {
24
- "flowise": {
25
- "command": "cmd",
26
- "args": ["/c", "npx", "-y", "ds-mcp-flowise"]
27
- }
28
- }
29
- }
30
- ```
31
-
32
- **Mac / Linux:**
33
- ```json
34
- {
35
- "mcpServers": {
36
- "flowise": {
37
- "command": "npx",
38
- "args": ["-y", "ds-mcp-flowise"]
39
- }
40
- }
41
- }
42
- ```
43
-
44
- That's it. No cloning, no building. The `npx` command downloads and runs it automatically.
45
-
46
- ### 2. Start a Conversation
47
-
48
- Open Claude Code and describe what you want to build:
49
-
50
- > "Build me a RAG chatbot that uses Pinecone for vector storage and OpenAI for the LLM"
51
-
52
- ### 3. Get Your Flow
53
-
54
- Claude will use the MCP tools to:
55
- - Find the right nodes (ChatOpenAI, Pinecone, embeddings, etc.)
56
- - Check their schemas and required inputs
57
- - Design the complete flow
58
- - Output the JSON with all nodes and edges
59
-
60
- ### 4. Import into Flowise
61
-
62
- 1. Open Flowise
63
- 2. Create a new Chatflow or Agentflow
64
- 3. Click the menu (⋮) → **Load Chatflow**
65
- 4. Paste the JSON Claude gave you
66
- 5. Configure credentials (API keys) for each node
67
- 6. Save and test
68
-
69
- ## Flowise API Integration (Optional)
70
-
71
- Instead of manually importing JSON, you can connect directly to your Flowise instance to create, update, and manage chatflows via the API.
72
-
73
- ### Setup
74
-
75
- 1. Create a `.env` file in the project root (or in your working directory):
76
-
77
- ```bash
78
- FLOWISE_API_URL=https://your-flowise-instance.com
79
- FLOWISE_API_KEY=your-api-key-here
80
- ```
81
-
82
- 2. Get your API key from Flowise:
83
- - Open your Flowise instance
84
- - Go to **Settings** **API Keys**
85
- - Create a new API key or copy an existing one
86
-
87
- 3. The MCP server will automatically load credentials from `.env` when it starts.
88
-
89
- ### Usage
90
-
91
- Once configured, you can ask Claude:
92
-
93
- - "Test the connection to my Flowise instance"
94
- - "List all my chatflows"
95
- - "Create a new chatflow with this design and deploy it"
96
- - "Update the existing chatflow with these changes"
97
-
98
- > **Note:** The Flowise API currently only supports **chatflows**. Agentflows must be created through the Flowise UI by importing the generated JSON.
99
-
100
- ### Security Notes
101
-
102
- - Never commit your `.env` file to version control
103
- - The `.env` file is already in `.gitignore`
104
- - API keys should be kept private and rotated periodically
105
-
106
- ## Alternative Installation Methods
107
-
108
- ### Global Install (npm)
109
-
110
- ```bash
111
- npm install -g ds-mcp-flowise
112
- ```
113
-
114
- Then in your MCP config:
115
-
116
- **Windows:**
117
- ```json
118
- {
119
- "mcpServers": {
120
- "flowise": {
121
- "command": "cmd",
122
- "args": ["/c", "ds-mcp-flowise"]
123
- }
124
- }
125
- }
126
- ```
127
-
128
- **Mac / Linux:**
129
- ```json
130
- {
131
- "mcpServers": {
132
- "flowise": {
133
- "command": "ds-mcp-flowise"
134
- }
135
- }
136
- }
137
- ```
138
-
139
- ### Build from Source
140
-
141
- ```bash
142
- git clone https://github.com/dtsoden/DS-MCP-FLOWISE.git
143
- cd DS-MCP-FLOWISE
144
- npm install
145
- npm run build
146
- ```
147
-
148
- Then in your MCP config:
149
-
150
- **Windows:**
151
- ```json
152
- {
153
- "mcpServers": {
154
- "flowise": {
155
- "command": "node",
156
- "args": ["C:\\path\\to\\DS-MCP-FLOWISE\\dist\\index.js"]
157
- }
158
- }
159
- }
160
- ```
161
-
162
- **Mac / Linux:**
163
- ```json
164
- {
165
- "mcpServers": {
166
- "flowise": {
167
- "command": "node",
168
- "args": ["/path/to/DS-MCP-FLOWISE/dist/index.js"]
169
- }
170
- }
171
- }
172
- ```
173
-
174
- ## Available Tools
175
-
176
- ### Node Discovery
177
-
178
- | Tool | Description |
179
- |------|-------------|
180
- | `list_categories` | List all 26 node categories with counts |
181
- | `list_nodes` | List nodes, optionally filtered by category |
182
- | `get_node_schema` | Get detailed schema for a node including all inputs |
183
- | `search_nodes` | Search nodes by keyword |
184
- | `find_compatible_nodes` | Find nodes that can connect to a given node |
185
-
186
- ### Template Library
187
-
188
- | Tool | Description |
189
- |------|-------------|
190
- | `list_templates` | List 64 marketplace templates by type |
191
- | `get_template` | Get complete template with nodes and edges |
192
-
193
- ### Flow Building
194
-
195
- | Tool | Description |
196
- |------|-------------|
197
- | `validate_flow` | Validate a flow's nodes and connections |
198
- | `generate_flow_skeleton` | Generate a starting flow for common use cases |
199
-
200
- ### Flowise API (requires .env configuration)
201
-
202
- | Tool | Description |
203
- |------|-------------|
204
- | `flowise_test_connection` | Test connection to your Flowise instance |
205
- | `flowise_list_chatflows` | List all chatflows in your instance |
206
- | `flowise_get_chatflow` | Get details of a specific chatflow |
207
- | `flowise_create_chatflow` | Create and deploy a new chatflow |
208
- | `flowise_update_chatflow` | Update an existing chatflow |
209
- | `flowise_delete_chatflow` | Delete a chatflow |
210
-
211
- > **Note:** The Flowise API currently only supports **chatflows**. Agentflows must be created through the Flowise UI by importing the generated JSON.
212
-
213
- ## Example Prompts
214
-
215
- Once connected, try asking Claude:
216
-
217
- - "What vector stores does Flowise support?"
218
- - "Show me how to build a simple chatbot with memory"
219
- - "Create a RAG flow using Pinecone and Claude"
220
- - "What nodes can connect to a ConversationChain?"
221
- - "Build me an agent that can search the web and query a database"
222
-
223
- ## What's Included
224
-
225
- - **311 Flowise nodes** with full schemas
226
- - **1,915 input parameters** documented
227
- - **26 node categories** (Chat Models, Vector Stores, Tools, etc.)
228
- - **64 marketplace templates** as examples
229
- - **SQLite database** for fast queries
230
-
231
- ## Updating the Node Database
232
-
233
- To update with the latest Flowise nodes:
234
-
235
- ```bash
236
- git clone https://github.com/dtsoden/DS-MCP-FLOWISE.git
237
- cd DS-MCP-FLOWISE
238
- npm install
239
-
240
- # This clones Flowise and extracts all node definitions
241
- npm run extract
242
-
243
- # This rebuilds the SQLite database
244
- npm run prepare-db
245
-
246
- npm run build
247
- ```
248
-
249
- ## Credits
250
-
251
- - [Flowise](https://github.com/FlowiseAI/Flowise) - The no-code LLM orchestration platform
252
- - Inspired by [n8n-mcp](https://github.com/czlonkowski/n8n-mcp) architecture
253
-
254
- ## License
255
-
256
- MIT
1
+ # DS-MCP-FLOWISE
2
+
3
+ MCP (Model Context Protocol) server that gives AI assistants (Claude, GPT, etc.) deep knowledge of [Flowise](https://flowiseai.com/) nodes so they can help you design, build, and deploy chatflows and agentflows.
4
+
5
+ ## What This Does
6
+
7
+ When connected to Claude Code (or other MCP clients), this server lets the AI:
8
+ - Know all 311 Flowise nodes and their configurations
9
+ - Understand how nodes connect together
10
+ - Design complete flows based on your requirements
11
+ - Output valid JSON you can import into Flowise
12
+ - **Deploy flows directly to your Flowise instance** (optional API integration)
13
+
14
+ ## Quick Start
15
+
16
+ ### 1. Add to Claude Code
17
+
18
+ Add this to your Claude Code MCP configuration (`claude_desktop_config.json` or via settings):
19
+
20
+ **Windows:**
21
+ ```json
22
+ {
23
+ "mcpServers": {
24
+ "flowise": {
25
+ "command": "cmd",
26
+ "args": ["/c", "npx", "-y", "ds-mcp-flowise"]
27
+ }
28
+ }
29
+ }
30
+ ```
31
+
32
+ **Mac / Linux:**
33
+ ```json
34
+ {
35
+ "mcpServers": {
36
+ "flowise": {
37
+ "command": "npx",
38
+ "args": ["-y", "ds-mcp-flowise"]
39
+ }
40
+ }
41
+ }
42
+ ```
43
+
44
+ That's it. No cloning, no building. The `npx` command downloads and runs it automatically.
45
+
46
+ ### 2. Start a Conversation
47
+
48
+ Open Claude Code and **explicitly tell it to use the flowise tools**:
49
+
50
+ > "**Use the flowise tools** to build me a RAG chatbot that uses Pinecone for vector storage and OpenAI for the LLM. Give me the JSON to import into Flowise."
51
+
52
+ **Important:** Without mentioning "flowise tools" or "flowise MCP", Claude may try to build a chat app from scratch instead of generating a Flowise chatflow.
53
+
54
+ ### 3. Get Your Flow
55
+
56
+ Claude will use the MCP tools to:
57
+ - Find the right nodes (ChatOpenAI, Pinecone, embeddings, etc.)
58
+ - Check their schemas and required inputs
59
+ - Design the complete flow
60
+ - Output the JSON with all nodes and edges
61
+
62
+ ### 4. Import into Flowise
63
+
64
+ 1. Open Flowise
65
+ 2. Create a new Chatflow or Agentflow
66
+ 3. Click the menu () **Load Chatflow**
67
+ 4. Paste the JSON Claude gave you
68
+ 5. Configure credentials (API keys) for each node
69
+ 6. Save and test
70
+
71
+ ## Flowise API Integration (Optional)
72
+
73
+ Instead of manually importing JSON, you can connect directly to your Flowise instance to create, update, and manage chatflows via the API.
74
+
75
+ ### Setup
76
+
77
+ 1. Create a `.env` file in the project root (or in your working directory):
78
+
79
+ ```bash
80
+ FLOWISE_API_URL=https://your-flowise-instance.com
81
+ FLOWISE_API_KEY=your-api-key-here
82
+ ```
83
+
84
+ 2. Get your API key from Flowise:
85
+ - Open your Flowise instance
86
+ - Go to **Settings** → **API Keys**
87
+ - Create a new API key or copy an existing one
88
+
89
+ 3. The MCP server will automatically load credentials from `.env` when it starts.
90
+
91
+ ### Usage
92
+
93
+ Once configured, you can ask Claude:
94
+
95
+ - "Test the connection to my Flowise instance"
96
+ - "List all my chatflows"
97
+ - "Create a new chatflow with this design and deploy it"
98
+ - "Update the existing chatflow with these changes"
99
+
100
+ > **Note:** The Flowise API currently only supports **chatflows**. Agentflows must be created through the Flowise UI by importing the generated JSON.
101
+
102
+ ### Security Notes
103
+
104
+ - Never commit your `.env` file to version control
105
+ - The `.env` file is already in `.gitignore`
106
+ - API keys should be kept private and rotated periodically
107
+
108
+ ## Alternative Installation Methods
109
+
110
+ ### Global Install (npm)
111
+
112
+ ```bash
113
+ npm install -g ds-mcp-flowise
114
+ ```
115
+
116
+ Then in your MCP config:
117
+
118
+ **Windows:**
119
+ ```json
120
+ {
121
+ "mcpServers": {
122
+ "flowise": {
123
+ "command": "cmd",
124
+ "args": ["/c", "ds-mcp-flowise"]
125
+ }
126
+ }
127
+ }
128
+ ```
129
+
130
+ **Mac / Linux:**
131
+ ```json
132
+ {
133
+ "mcpServers": {
134
+ "flowise": {
135
+ "command": "ds-mcp-flowise"
136
+ }
137
+ }
138
+ }
139
+ ```
140
+
141
+ ### Build from Source
142
+
143
+ ```bash
144
+ git clone https://github.com/dtsoden/DS-MCP-FLOWISE.git
145
+ cd DS-MCP-FLOWISE
146
+ npm install
147
+ npm run build
148
+ ```
149
+
150
+ Then in your MCP config:
151
+
152
+ **Windows:**
153
+ ```json
154
+ {
155
+ "mcpServers": {
156
+ "flowise": {
157
+ "command": "node",
158
+ "args": ["C:\\path\\to\\DS-MCP-FLOWISE\\dist\\index.js"]
159
+ }
160
+ }
161
+ }
162
+ ```
163
+
164
+ **Mac / Linux:**
165
+ ```json
166
+ {
167
+ "mcpServers": {
168
+ "flowise": {
169
+ "command": "node",
170
+ "args": ["/path/to/DS-MCP-FLOWISE/dist/index.js"]
171
+ }
172
+ }
173
+ }
174
+ ```
175
+
176
+ ## Available Tools
177
+
178
+ ### Node Discovery
179
+
180
+ | Tool | Description |
181
+ |------|-------------|
182
+ | `list_categories` | List all 26 node categories with counts |
183
+ | `list_nodes` | List nodes, optionally filtered by category |
184
+ | `get_node_schema` | Get detailed schema for a node including all inputs |
185
+ | `search_nodes` | Search nodes by keyword |
186
+ | `find_compatible_nodes` | Find nodes that can connect to a given node |
187
+
188
+ ### Template Library
189
+
190
+ | Tool | Description |
191
+ |------|-------------|
192
+ | `list_templates` | List 64 marketplace templates by type |
193
+ | `get_template` | Get complete template with nodes and edges |
194
+
195
+ ### Flow Building
196
+
197
+ | Tool | Description |
198
+ |------|-------------|
199
+ | `validate_flow` | Validate a flow's nodes and connections |
200
+ | `generate_flow_skeleton` | Generate a starting flow for common use cases |
201
+
202
+ ### Flowise API (requires .env configuration)
203
+
204
+ | Tool | Description |
205
+ |------|-------------|
206
+ | `flowise_test_connection` | Test connection to your Flowise instance |
207
+ | `flowise_list_chatflows` | List all chatflows in your instance |
208
+ | `flowise_get_chatflow` | Get details of a specific chatflow |
209
+ | `flowise_create_chatflow` | Create and deploy a new chatflow |
210
+ | `flowise_update_chatflow` | Update an existing chatflow |
211
+ | `flowise_delete_chatflow` | Delete a chatflow |
212
+
213
+ > **Note:** The Flowise API currently only supports **chatflows**. Agentflows must be created through the Flowise UI by importing the generated JSON.
214
+
215
+ ## Example Prompts
216
+
217
+ **Important:** You must explicitly tell Claude to use the flowise MCP tools, otherwise it may try to build something from scratch instead of using Flowise nodes.
218
+
219
+ Once connected, try asking Claude:
220
+
221
+ - "**Use the flowise tools** to search for Ollama nodes and build me a chatflow JSON"
222
+ - "**Using the flowise MCP**, what vector stores does Flowise support?"
223
+ - "**Use flowise tools** to build a simple chatbot with memory and give me the JSON to import"
224
+ - "**With the flowise MCP**, create a RAG flow using Pinecone and OpenAI embeddings"
225
+ - "**Use the flowise search** to find nodes that can connect to a ConversationChain"
226
+ - "**Using flowise tools**, build me an agent that can search the web and query a database"
227
+
228
+ The key is to include phrases like:
229
+ - "use the flowise tools"
230
+ - "using the flowise MCP"
231
+ - "with the flowise MCP"
232
+ - "use flowise search"
233
+
234
+ ## What's Included
235
+
236
+ - **311 Flowise nodes** with full schemas
237
+ - **1,915 input parameters** documented
238
+ - **26 node categories** (Chat Models, Vector Stores, Tools, etc.)
239
+ - **64 marketplace templates** as examples
240
+ - **SQLite database** for fast queries
241
+
242
+ ## Updating the Node Database
243
+
244
+ To update with the latest Flowise nodes:
245
+
246
+ ```bash
247
+ git clone https://github.com/dtsoden/DS-MCP-FLOWISE.git
248
+ cd DS-MCP-FLOWISE
249
+ npm install
250
+
251
+ # This clones Flowise and extracts all node definitions
252
+ npm run extract
253
+
254
+ # This rebuilds the SQLite database
255
+ npm run prepare-db
256
+
257
+ npm run build
258
+ ```
259
+
260
+ ## Credits
261
+
262
+ - [Flowise](https://github.com/FlowiseAI/Flowise) - The no-code LLM orchestration platform
263
+ - Inspired by [n8n-mcp](https://github.com/czlonkowski/n8n-mcp) architecture
264
+
265
+ ## License
266
+
267
+ MIT
268
+
269
+ ---
270
+ *Auto-published to npm via GitHub Actions*
package/dist/index.js CHANGED
@@ -386,10 +386,10 @@ const TOOLS = [
386
386
  ];
387
387
  // === TOOL IMPLEMENTATIONS ===
388
388
  function listCategories() {
389
- const categories = query(`
390
- SELECT name, node_count
391
- FROM categories
392
- ORDER BY name
389
+ const categories = query(`
390
+ SELECT name, node_count
391
+ FROM categories
392
+ ORDER BY name
393
393
  `);
394
394
  return JSON.stringify(categories, null, 2);
395
395
  }
@@ -418,11 +418,11 @@ function getNodeSchema(name) {
418
418
  if (!node) {
419
419
  return JSON.stringify({ error: `Node "${name}" not found` });
420
420
  }
421
- const inputs = query(`
422
- SELECT input_name, input_label, input_type, description, optional, default_value, options, additional_params
423
- FROM node_inputs
424
- WHERE node_name = ?
425
- ORDER BY additional_params, input_label
421
+ const inputs = query(`
422
+ SELECT input_name, input_label, input_type, description, optional, default_value, options, additional_params
423
+ FROM node_inputs
424
+ WHERE node_name = ?
425
+ ORDER BY additional_params, input_label
426
426
  `, [name]);
427
427
  const schema = {
428
428
  ...node,
@@ -443,11 +443,11 @@ function getNodeSchema(name) {
443
443
  }
444
444
  function searchNodes(searchQuery, limit = 10) {
445
445
  const searchTerm = `%${searchQuery}%`;
446
- const results = query(`
447
- SELECT name, label, category, description
448
- FROM nodes
449
- WHERE name LIKE ? OR label LIKE ? OR description LIKE ? OR category LIKE ?
450
- LIMIT ?
446
+ const results = query(`
447
+ SELECT name, label, category, description
448
+ FROM nodes
449
+ WHERE name LIKE ? OR label LIKE ? OR description LIKE ? OR category LIKE ?
450
+ LIMIT ?
451
451
  `, [searchTerm, searchTerm, searchTerm, searchTerm, limit]);
452
452
  return JSON.stringify(results, null, 2);
453
453
  }
@@ -507,10 +507,10 @@ function findCompatibleNodes(nodeName, direction = 'inputs') {
507
507
  return JSON.stringify({ compatible_inputs: compatible }, null, 2);
508
508
  }
509
509
  else {
510
- const allInputs = query(`
511
- SELECT DISTINCT n.name, n.label, n.category, ni.input_type
512
- FROM nodes n
513
- JOIN node_inputs ni ON n.name = ni.node_name
510
+ const allInputs = query(`
511
+ SELECT DISTINCT n.name, n.label, n.category, ni.input_type
512
+ FROM nodes n
513
+ JOIN node_inputs ni ON n.name = ni.node_name
514
514
  `);
515
515
  const compatible = allInputs.filter((i) => baseClasses.includes(i.input_type)).map((i) => ({
516
516
  name: i.name,
@@ -881,13 +881,13 @@ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
881
881
  role: 'user',
882
882
  content: {
883
883
  type: 'text',
884
- text: `Help me build a Flowise chatflow that: ${args?.description}
885
-
886
- First, use list_categories to see available node types.
887
- Then, use search_nodes or list_nodes to find relevant components.
888
- Use get_node_schema to understand how to configure each node.
889
- Check list_templates for similar examples.
890
- Use validate_flow to verify the flow is valid.
884
+ text: `Help me build a Flowise chatflow that: ${args?.description}
885
+
886
+ First, use list_categories to see available node types.
887
+ Then, use search_nodes or list_nodes to find relevant components.
888
+ Use get_node_schema to understand how to configure each node.
889
+ Check list_templates for similar examples.
890
+ Use validate_flow to verify the flow is valid.
891
891
  Finally, use flowise_create_chatflow to push it directly to Flowise!`,
892
892
  },
893
893
  },
@@ -901,13 +901,13 @@ Finally, use flowise_create_chatflow to push it directly to Flowise!`,
901
901
  role: 'user',
902
902
  content: {
903
903
  type: 'text',
904
- text: `Help me build a Flowise agent flow that: ${args?.description}
905
-
906
- Agent flows use nodes from the "Agent Flows" category.
907
- Use list_nodes with category="Agent Flows" to see available nodes.
908
- Use list_templates with type="agentflowv2" for examples.
909
- Key nodes include: startAgentflow, agentAgentflow, llmAgentflow, toolAgentflow, conditionAgentflow.
910
- Use get_node_schema to understand each node's configuration.
904
+ text: `Help me build a Flowise agent flow that: ${args?.description}
905
+
906
+ Agent flows use nodes from the "Agent Flows" category.
907
+ Use list_nodes with category="Agent Flows" to see available nodes.
908
+ Use list_templates with type="agentflowv2" for examples.
909
+ Key nodes include: startAgentflow, agentAgentflow, llmAgentflow, toolAgentflow, conditionAgentflow.
910
+ Use get_node_schema to understand each node's configuration.
911
911
  Finally, use flowise_create_chatflow to push it directly to Flowise!`,
912
912
  },
913
913
  },