flowzap-mcp 1.0.4 → 1.0.6
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 +32 -48
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,9 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Create workflow diagrams using AI assistants like Claude, Cursor, and Windsurf.
|
|
4
4
|
|
|
5
|
+
[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.
|
|
6
|
+
|
|
5
7
|
## What is FlowZap?
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
FlowZap turns text prompts into dual-view diagrams (Flowchart & Sequence diagrams) using FlowZap Code DSL. It is NOT Mermaid, NOT PlantUML - it is a unique domain-specific language designed for simplicity and AI generation.
|
|
10
|
+
|
|
11
|
+
**Key Facts:**
|
|
12
|
+
- Only 4 shapes: `circle`, `rectangle`, `diamond`, `taskbox`
|
|
13
|
+
- Node attributes use colon: `label:"Text"`
|
|
14
|
+
- Edge labels use equals: `[label="Text"]`
|
|
15
|
+
- Handles required: `n1.handle(right) -> n2.handle(left)`
|
|
8
16
|
|
|
9
17
|
## Installation
|
|
10
18
|
|
|
@@ -29,11 +37,11 @@ Config file locations:
|
|
|
29
37
|
|
|
30
38
|
### For Cursor
|
|
31
39
|
|
|
32
|
-
Add to your Cursor MCP settings
|
|
40
|
+
Add the same configuration to your Cursor MCP settings.
|
|
33
41
|
|
|
34
42
|
### For Windsurf IDE
|
|
35
43
|
|
|
36
|
-
Add to
|
|
44
|
+
Add to `~/.codeium/windsurf/mcp_config.json`:
|
|
37
45
|
|
|
38
46
|
```json
|
|
39
47
|
{
|
|
@@ -46,16 +54,18 @@ Add to your `~/.codeium/windsurf/mcp_config.json`:
|
|
|
46
54
|
}
|
|
47
55
|
```
|
|
48
56
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
57
|
+
> **Windows Users:** If tools don't appear, use the absolute path:
|
|
58
|
+
> ```json
|
|
59
|
+
> "command": "C:\\Program Files\\nodejs\\npx.cmd"
|
|
60
|
+
> ```
|
|
53
61
|
|
|
54
|
-
|
|
55
|
-
Create a shareable playground URL with your diagram.
|
|
62
|
+
## Available Tools
|
|
56
63
|
|
|
57
|
-
|
|
58
|
-
|
|
64
|
+
| Tool | Description |
|
|
65
|
+
|------|-------------|
|
|
66
|
+
| `flowzap_validate` | Validate FlowZap Code syntax |
|
|
67
|
+
| `flowzap_create_playground` | Create a shareable diagram URL |
|
|
68
|
+
| `flowzap_get_syntax` | Get FlowZap Code syntax documentation |
|
|
59
69
|
|
|
60
70
|
## Usage Examples
|
|
61
71
|
|
|
@@ -73,65 +83,39 @@ The assistant will:
|
|
|
73
83
|
## FlowZap Code Example
|
|
74
84
|
|
|
75
85
|
```
|
|
76
|
-
sales {
|
|
77
|
-
# Sales Team
|
|
86
|
+
sales { # Sales Team
|
|
78
87
|
n1: circle label:"Order Received"
|
|
79
88
|
n2: rectangle label:"Validate Order"
|
|
80
89
|
n3: diamond label:"Valid?"
|
|
81
90
|
n1.handle(right) -> n2.handle(left)
|
|
82
91
|
n2.handle(right) -> n3.handle(left)
|
|
83
92
|
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
93
|
}
|
|
87
94
|
|
|
88
|
-
fulfillment {
|
|
89
|
-
# Fulfillment
|
|
95
|
+
fulfillment { # Fulfillment
|
|
90
96
|
n4: rectangle label:"Process Order"
|
|
91
97
|
n5: circle label:"Complete"
|
|
92
98
|
n4.handle(right) -> n5.handle(left)
|
|
93
99
|
}
|
|
94
100
|
```
|
|
95
101
|
|
|
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
102
|
## Security
|
|
105
103
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
- **
|
|
110
|
-
- **
|
|
111
|
-
- **
|
|
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
|
|
104
|
+
- **No authentication required** - Uses only public FlowZap APIs
|
|
105
|
+
- **No user data access** - Cannot read your diagrams or account
|
|
106
|
+
- **Runs locally** - The MCP server runs on your machine
|
|
107
|
+
- **SSRF protected** - Only connects to flowzap.xyz
|
|
108
|
+
- **Rate limited** - 30 requests/minute client-side
|
|
109
|
+
- **Input validation** - 50KB max code size
|
|
128
110
|
|
|
129
111
|
## Links
|
|
130
112
|
|
|
131
113
|
- [FlowZap Website](https://flowzap.xyz)
|
|
132
114
|
- [FlowZap Code Documentation](https://flowzap.xyz/flowzap-code)
|
|
115
|
+
- [LLM Context](https://flowzap.xyz/llms.txt)
|
|
116
|
+
- [Templates Library](https://flowzap.xyz/templates)
|
|
133
117
|
- [npm Package](https://www.npmjs.com/package/flowzap-mcp)
|
|
134
|
-
- [
|
|
118
|
+
- [GitHub Repository](https://github.com/flowzap-xyz/flowzap-mcp)
|
|
135
119
|
|
|
136
120
|
## License
|
|
137
121
|
|