flowzap-mcp 1.0.1 → 1.0.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/LICENSE +21 -0
- package/README.md +138 -116
- package/package.json +3 -2
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 MCP Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,116 +1,138 @@
|
|
|
1
|
-
# FlowZap MCP Server
|
|
2
|
-
|
|
3
|
-
Create workflow diagrams using AI assistants like Claude,
|
|
4
|
-
|
|
5
|
-
## What is FlowZap?
|
|
6
|
-
|
|
7
|
-
[FlowZap](https://flowzap.xyz) is a visual workflow diagramming tool with a text-based DSL called **FlowZap Code**. This MCP server lets AI assistants create diagrams for you.
|
|
8
|
-
|
|
9
|
-
## Installation
|
|
10
|
-
|
|
11
|
-
### For Claude Desktop
|
|
12
|
-
|
|
13
|
-
Add to your `claude_desktop_config.json`:
|
|
14
|
-
|
|
15
|
-
```json
|
|
16
|
-
{
|
|
17
|
-
"mcpServers": {
|
|
18
|
-
"flowzap": {
|
|
19
|
-
"command": "npx",
|
|
20
|
-
"args": ["-y", "flowzap-mcp"]
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Config file locations:
|
|
27
|
-
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
28
|
-
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
29
|
-
|
|
30
|
-
### For Cursor
|
|
31
|
-
|
|
32
|
-
Add to your Cursor MCP settings with the same configuration.
|
|
33
|
-
|
|
34
|
-
### For
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
##
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
- **
|
|
98
|
-
- **
|
|
99
|
-
- **
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
1
|
+
# FlowZap MCP Server
|
|
2
|
+
|
|
3
|
+
Create workflow diagrams using AI assistants like Claude, Cursor, and Windsurf.
|
|
4
|
+
|
|
5
|
+
## What is FlowZap?
|
|
6
|
+
|
|
7
|
+
[FlowZap](https://flowzap.xyz) is a visual workflow diagramming tool with a text-based DSL called **FlowZap Code**. This MCP server lets AI assistants create diagrams for you.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
### For Claude Desktop
|
|
12
|
+
|
|
13
|
+
Add to your `claude_desktop_config.json`:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"mcpServers": {
|
|
18
|
+
"flowzap": {
|
|
19
|
+
"command": "npx",
|
|
20
|
+
"args": ["-y", "flowzap-mcp"]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Config file locations:
|
|
27
|
+
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
28
|
+
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
29
|
+
|
|
30
|
+
### For Cursor
|
|
31
|
+
|
|
32
|
+
Add to your Cursor MCP settings with the same configuration.
|
|
33
|
+
|
|
34
|
+
### For Windsurf IDE
|
|
35
|
+
|
|
36
|
+
Add to your `~/.codeium/windsurf/mcp_config.json`:
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"mcpServers": {
|
|
41
|
+
"flowzap": {
|
|
42
|
+
"command": "npx",
|
|
43
|
+
"args": ["-y", "flowzap-mcp"]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Available Tools
|
|
50
|
+
|
|
51
|
+
### `flowzap_validate`
|
|
52
|
+
Validate FlowZap Code syntax before creating a diagram.
|
|
53
|
+
|
|
54
|
+
### `flowzap_create_playground`
|
|
55
|
+
Create a shareable playground URL with your diagram.
|
|
56
|
+
|
|
57
|
+
### `flowzap_get_syntax`
|
|
58
|
+
Get FlowZap Code syntax documentation and examples.
|
|
59
|
+
|
|
60
|
+
## Usage Examples
|
|
61
|
+
|
|
62
|
+
Ask your AI assistant:
|
|
63
|
+
|
|
64
|
+
- "Create a workflow diagram for an order processing system"
|
|
65
|
+
- "Make a flowchart showing user registration flow"
|
|
66
|
+
- "Diagram a CI/CD pipeline with build, test, and deploy stages"
|
|
67
|
+
|
|
68
|
+
The assistant will:
|
|
69
|
+
1. Generate FlowZap Code based on your description
|
|
70
|
+
2. Validate the code
|
|
71
|
+
3. Create a playground URL you can view and share
|
|
72
|
+
|
|
73
|
+
## FlowZap Code Example
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
sales {
|
|
77
|
+
# Sales Team
|
|
78
|
+
n1: circle label:"Order Received"
|
|
79
|
+
n2: rectangle label:"Validate Order"
|
|
80
|
+
n3: diamond label:"Valid?"
|
|
81
|
+
n1.handle(right) -> n2.handle(left)
|
|
82
|
+
n2.handle(right) -> n3.handle(left)
|
|
83
|
+
n3.handle(right) -> fulfillment.n4.handle(left) [label="Yes"]
|
|
84
|
+
n3.handle(bottom) -> n6.handle(top) [label="No"]
|
|
85
|
+
n6: rectangle label:"Reject Order"
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
fulfillment {
|
|
89
|
+
# Fulfillment
|
|
90
|
+
n4: rectangle label:"Process Order"
|
|
91
|
+
n5: circle label:"Complete"
|
|
92
|
+
n4.handle(right) -> n5.handle(left)
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Key syntax rules:**
|
|
97
|
+
- **Node IDs**: Must be `n1`, `n2`, `n3`... (globally unique, sequential)
|
|
98
|
+
- **Shapes**: Only `circle`, `rectangle`, `diamond`, `taskbox`
|
|
99
|
+
- **Node attributes**: Use colon → `label:"Text"`
|
|
100
|
+
- **Edge labels**: Use equals in brackets → `[label="Yes"]`
|
|
101
|
+
- **Edges**: Must use handles → `n1.handle(right) -> n2.handle(left)`
|
|
102
|
+
- **Cross-lane**: Prefix with lane name → `fulfillment.n4.handle(left)`
|
|
103
|
+
|
|
104
|
+
## Security
|
|
105
|
+
|
|
106
|
+
This MCP server implements comprehensive security measures:
|
|
107
|
+
|
|
108
|
+
### What It Does
|
|
109
|
+
- **Only calls official FlowZap APIs** - Hardcoded to `https://flowzap.xyz` only
|
|
110
|
+
- **No authentication required** - Uses only public, anonymous endpoints
|
|
111
|
+
- **No user data access** - Cannot read your diagrams, account, or any private data
|
|
112
|
+
- **Runs locally** - The server runs on your machine, not exposed to the internet
|
|
113
|
+
|
|
114
|
+
### Security Features
|
|
115
|
+
- **SSRF Protection** - URL whitelist prevents requests to unauthorized hosts
|
|
116
|
+
- **Input Validation** - Code size limits (50KB max), sanitization of control characters
|
|
117
|
+
- **Rate Limiting** - Client-side rate limiting (30 requests/minute)
|
|
118
|
+
- **Request Timeout** - 30-second timeout prevents hanging connections
|
|
119
|
+
- **Response Sanitization** - Only expected fields are returned from API responses
|
|
120
|
+
- **Error Handling** - Internal errors are logged but not exposed to clients
|
|
121
|
+
- **Tool Whitelisting** - Only explicitly defined tools can be called
|
|
122
|
+
|
|
123
|
+
### What It Cannot Do
|
|
124
|
+
- Access your FlowZap account or saved diagrams
|
|
125
|
+
- Modify any existing data
|
|
126
|
+
- Make requests to any domain other than flowzap.xyz
|
|
127
|
+
- Store any credentials or tokens
|
|
128
|
+
|
|
129
|
+
## Links
|
|
130
|
+
|
|
131
|
+
- [FlowZap Website](https://flowzap.xyz)
|
|
132
|
+
- [FlowZap Code Documentation](https://flowzap.xyz/flowzap-code)
|
|
133
|
+
- [npm Package](https://www.npmjs.com/package/flowzap-mcp)
|
|
134
|
+
- [MCP Registry](https://registry.modelcontextprotocol.io)
|
|
135
|
+
|
|
136
|
+
## License
|
|
137
|
+
|
|
138
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowzap-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
|
+
"mcpName": "io.github.flowzap-xyz/flowzap",
|
|
4
5
|
"description": "MCP server for FlowZap - Create workflow diagrams via AI assistants",
|
|
5
6
|
"main": "dist/index.js",
|
|
6
7
|
"bin": {
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
"license": "MIT",
|
|
26
27
|
"repository": {
|
|
27
28
|
"type": "git",
|
|
28
|
-
"url": "https://github.com/flowzap-xyz/flowzap-mcp"
|
|
29
|
+
"url": "git+https://github.com/flowzap-xyz/flowzap-mcp.git"
|
|
29
30
|
},
|
|
30
31
|
"homepage": "https://flowzap.xyz",
|
|
31
32
|
"dependencies": {
|