MCP server for Eureka Flow — manage visual workflows from any MCP-compatible AI client.
Build, execute, and monitor data processing pipelines through natural language.
Works with Claude Desktop, Cursor, Windsurf, VS Code (Continue/Cline), Claude Code, and any MCP-compatible client.
Just ask in natural language:
| What you want | Say this to Claude |
|---|---|
| List workflows | "Show my flows" |
| Create a workflow | "Create a flow: text input → buffer → preview" |
| Run a workflow | "Run flow 1004897" |
| Check results | "Show the preview node output" |
| Visualize | "Show graph for 1004897" |
| Rename a node | "Rename node 1009369 to EurekaFlow" |
| Add a node | "Add a text input block to this flow" |
| Connect nodes | "Connect the input node to the buffer" |
| Clean up | "Delete disconnected nodes" |
No code required. No tool names to remember. Just ask in natural language.
npm install -g @lemoncloud/flow-mcpGet your API key from Eureka Codes Console.
Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"flow-mcp": {
"command": "npx",
"args": ["-y", "@lemoncloud/flow-mcp"],
"env": {
"FLOW_API_KEY": "your-api-key"
}
}
}
}Cursor / Windsurf — add the same mcpServers config to your IDE's MCP settings.
Restart your client and say "Show my flows".
Note: Only
FLOW_API_KEYis required. API URL has a sensible default.
| Variable | Required | Default | Description |
|---|---|---|---|
FLOW_API_KEY |
Yes | — | API authentication key |
FLOW_API_URL |
https://api.eureka.codes/flw-v1 |
API server URL | |
FLOW_API_TIMEOUT |
30000 |
Request timeout (ms) | |
FLOW_WS_URL |
— | WebSocket URL for real-time execution monitoring |
Tip: Set
FLOW_WS_URLto enable live progress tracking duringflow_runandnode_run.
"Show available blocks"
→ Lists input / process / output block types
"Create a flow with text input, 3s buffer, and preview connected together"
→ Creates 3 nodes + 2 edges automatically
"Run the flow"
→ Shows real-time progress → returns results
"Load flow 1004897"
→ Shows nodes, edges, port data
"Change the input text to Hello Eureka"
→ Updates config.text
"Add another output block and connect it"
→ Creates node + edge
"Show graph"
→ Mermaid diagram
"Run the whole flow"
→ Per-node progress + completion status
"What's the preview node output?"
→ Port data (value, type, timestamp)
Claude automatically selects the right tool based on your request.
| Tool | What it does |
|---|---|
profile_get |
Check API key configuration status |
block_list |
List available block types |
flow_list |
List your workflows |
flow_load |
Load full flow state (nodes, edges, ports) |
flow_graph |
Mermaid diagram visualization |
flow_create |
Create new flow (nodes + edges at once) |
flow_update |
Update flow name / description |
flow_save |
Full rebuild (caution: reassigns node IDs) |
flow_run |
Execute flow + real-time monitoring |
flow_delete |
Delete a flow |
node_create |
Add node to existing flow |
node_run |
Execute single node |
node_get_port |
Inspect node input/output data |
node_update |
Update node config / label / position |
node_delete |
Delete a node |
edge_create |
Connect two nodes |
edge_delete |
Remove a connection |
Developer Guide
git clone https://github.com/lemoncloud-io/flow-mcp.git
cd flow-mcp
npm install
npm run build| Command | Description |
|---|---|
npm run build |
TypeScript compilation |
npm run dev |
Watch mode |
npm run lint |
ESLint |
npm run lint:type |
Type check (tsc --noEmit) |
npm run format |
Prettier format |
npm start |
Run MCP server (stdio) |
npm test |
Run tests |
{
"mcpServers": {
"flow-mcp": {
"command": "node",
"args": ["/absolute/path/to/flow-mcp/dist/stdio.js"],
"env": {
"FLOW_API_KEY": "your-api-key",
"FLOW_WS_URL": "wss://wss.eureka.codes/wss-v1"
}
}
}
}stdio.ts (console suppression + JSON-RPC filter)
-> server.ts (McpServer + 16 tools)
-> tools/*.ts (tool handlers)
-> api-client.ts (Axios -> flows-api REST)
-> ws-client.ts (WebSocket -> real-time execution events)
-> config.ts (Zod v4 env validation)
1. Connect WS (info= param -> connectionId)
2. Trigger run (POST /nodes/:id/run?connection=<connId>)
3. Monitor events (node status + port updates)
4. Settle on completion (all terminal) or quiet period (1.5s)
5. Return result with full event log
npm run build
npm publish --access public- Eureka Flow — Visual workflow editor (frontend)
Apache-2.0 -- LemonCloud
