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.
Files changed (3) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +138 -116
  3. 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, Comet, and Cursor.
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 Comet Browser
35
-
36
- Use the Remote MCP URL: `https://flowzap.xyz/mcp/api/sse`
37
-
38
- ## Available Tools
39
-
40
- ### `flowzap_validate`
41
- Validate FlowZap Code syntax before creating a diagram.
42
-
43
- ### `flowzap_create_playground`
44
- Create a shareable playground URL with your diagram.
45
-
46
- ### `flowzap_get_syntax`
47
- Get FlowZap Code syntax documentation and examples.
48
-
49
- ## Usage Examples
50
-
51
- Ask your AI assistant:
52
-
53
- - "Create a workflow diagram for an order processing system"
54
- - "Make a flowchart showing user registration flow"
55
- - "Diagram a CI/CD pipeline with build, test, and deploy stages"
56
-
57
- The assistant will:
58
- 1. Generate FlowZap Code based on your description
59
- 2. Validate the code
60
- 3. Create a playground URL you can view and share
61
-
62
- ## FlowZap Code Example
63
-
64
- ```
65
- sales {
66
- # Sales Team
67
- start: circle label:"Order Received"
68
- validate: rect label:"Validate Order"
69
- check: diamond label:"Valid?"
70
- start -> validate -> check
71
- }
72
-
73
- fulfillment {
74
- # Fulfillment
75
- process: rect label:"Process Order"
76
- ship: rect label:"Ship Items"
77
- end: circle label:"Complete"
78
- process -> ship -> end
79
- }
80
- ```
81
-
82
- ## Security
83
-
84
- This MCP server implements comprehensive security measures:
85
-
86
- ### What It Does
87
- - **Only calls official FlowZap APIs** - Hardcoded to `https://flowzap.xyz` only
88
- - **No authentication required** - Uses only public, anonymous endpoints
89
- - **No user data access** - Cannot read your diagrams, account, or any private data
90
- - **Runs locally** - The server runs on your machine, not exposed to the internet
91
-
92
- ### Security Features
93
- - **SSRF Protection** - URL whitelist prevents requests to unauthorized hosts
94
- - **Input Validation** - Code size limits (50KB max), sanitization of control characters
95
- - **Rate Limiting** - Client-side rate limiting (30 requests/minute)
96
- - **Request Timeout** - 30-second timeout prevents hanging connections
97
- - **Response Sanitization** - Only expected fields are returned from API responses
98
- - **Error Handling** - Internal errors are logged but not exposed to clients
99
- - **Tool Whitelisting** - Only explicitly defined tools can be called
100
-
101
- ### What It Cannot Do
102
- - Access your FlowZap account or saved diagrams
103
- - Modify any existing data
104
- - Make requests to any domain other than flowzap.xyz
105
- - Store any credentials or tokens
106
-
107
- ## Links
108
-
109
- - [FlowZap Website](https://flowzap.xyz)
110
- - [FlowZap Code Documentation](https://flowzap.xyz/flowzap-code)
111
- - [API Documentation](https://flowzap.xyz/docs/agent-api)
112
- - [Security Policy](https://flowzap.xyz/terms/agents)
113
-
114
- ## License
115
-
116
- MIT
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.1",
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": {