workflow-generator
Scans a project to generate workflow diagrams and capacity/bottleneck analysis.
generate_workflow: scans a project directory and writesWORKFLOW.html, with optional output path, project directory, and browser opening.analyze_workflow: scans a project and returns structured JSON analysis without writing a file.Detects API frameworks, gateways, LLM providers, vector stores, databases, queues, rate limits, async primitives, and worker counts.
Reports concurrency model, request capacity estimates, component communication paths, and ranked bottlenecks.
Identifies Caddy gateway configuration, including rate limits and worker connections.
Detects Celery queue usage for background job analysis.
Identifies Django framework usage and its role in the API layer.
Identifies Express.js framework usage and its role in the API layer.
Identifies FastAPI framework usage, including worker count and concurrency.
Identifies Flask framework usage and its role in the API layer.
Identifies Gin framework usage and its role in the API layer.
Detects GitHub as an external source integration in the project.
Identifies Gunicorn worker configuration and its impact on concurrency.
Detects Jira as an external source integration in the project.
Detects Milvus vector store usage for storage analysis.
Detects MongoDB database usage and its role in storage.
Detects MySQL database usage and its role in storage.
Identifies nginx gateway configuration, including rate limits and worker_connections.
Detects OpenAI LLM usage and provides latency analysis as a potential bottleneck.
Identifies PM2 worker configuration for concurrency analysis.
Detects PostgreSQL database usage and its role in storage.
Detects RabbitMQ queue usage for background job analysis.
Detects Redis database usage and its role in storage.
Detects Salesforce as an external source integration in the project.
Detects Slack as an external source integration in the project.
Detects SQLite database usage and its role in storage.
Detects Stripe as an external source integration in the project.
Detects Twilio as an external source integration in the project.
workflow-generator
Scan any project and generate WORKFLOW.html — a dark-mode visual system diagram showing every component, how they talk to each other, and where your throughput ceiling actually is.
Works with Python, Node.js, Go, Java, Rust, Ruby, and mixed projects. No external dependencies for the core scanner.
Vendored and generated directories (node_modules, venv, site-packages, dist, …) are never scanned,
and capacity figures are clearly labeled as static-analysis estimates.
Live demo → — generated from fastapi/full-stack-fastapi-template, unmodified.

(real CLI output, unscripted — static screenshot if you'd rather not autoplay)
What it produces
Every generated page contains:
Section | What you get |
Stat row | Workers · Concurrent I/O ceiling · Semaphore limit · Rate limit · Practical throughput |
Architecture diagram | Layered flow: external sources → gateway → API → queues → AI → storage |
Data flow cards | Write path, read/query path, background jobs — inferred from what's detected |
Concurrency table | Every layer: model · ceiling · limiting factor |
Bottleneck analysis | Ranked CRITICAL → LOW with mitigation notes |
Codebase dependency graph | Force-directed module/import graph — click a node to isolate its neighbors, hover for file details. Import-direction edges are clearly distinguished from real observed traffic (see below) |
Guided tour | Spotlight walkthrough of every section, shown automatically the first time a report is opened; replay anytime with the |
Codebase dependency graph
Every source file (Python, JS/TS, Go, Java, Rust, Ruby) becomes a node; every real import becomes
an edge — resolved with a language-appropriate parser (Python's ast module, regex for JS/TS/Go/
Java/Rust/Ruby), not guessed. Files that match an already-detected component (an LLM call, a
database client, a queue) get an edge to that component too, so you can see exactly which files
talk to Redis, OpenAI, etc. Large repos (350+ files) are automatically aggregated into
directory-level nodes so the graph stays readable; override with --graph-detail files or
--graph-detail dirs.
Test files (tests/, test_*.py, conftest.py, *.spec.ts, *_test.go, …) get their own
Test Graph section below the main one, showing which modules and services each test reaches.
Fixtures and test doubles name every service they exercise, so keeping them in the main graph
buries the real dependency structure under service edges.
Both sections have a Flow | Graph toggle over the same nodes and edges. Flow (the default up to 80 nodes) is a left-to-right layered diagram: columns are dependency depth from the sources (HTTP entry and files nothing imports), every detected service is its own node in the last column, and import cycles are drawn dashed. Graph is the force-directed view. Moving dots show data going both ways: a filled dot is the call/request, a hollow dot the return/response. On graphs with more than 60 edges, only the paths of the clicked or hovered node animate. Search, "hide isolated" and the selected node are shared between the two views.
The older layered Full System Architecture diagram is collapsed by default, since the Architecture Map covers the same ground.
By default the graph only shows what the code says (import direction, static "this file calls
Redis"), which is honest but not the same as real traffic. Pass --access-log /path/to/access.log
(any combined/common log format) to overlay real observed request counts onto the HTTP-entry
edges — and the generated report includes a ready-to-run k6 load-test script
covering up to 5 detected routes, so the "Practical throughput" number can be checked against a
real measurement instead of only a static-analysis estimate.
Related MCP server: composer-mcp
What it detects
Category | Examples |
API frameworks | FastAPI, Flask, Django, Express, Nest.js, Gin |
Gateways | nginx, Caddy, Traefik (with rate limits + worker_connections) |
LLM providers | OpenAI, Anthropic Claude, Cohere, AWS Bedrock |
Vector stores | Qdrant, Pinecone, Weaviate, ChromaDB, pgvector, FAISS, Milvus |
Databases | PostgreSQL, MySQL, MongoDB, SQLite, Redis |
Queues | Celery, BullMQ, Kafka, RabbitMQ, RQ, AWS SQS |
Async primitives |
|
Workers |
|
External sources | Jira, Azure DevOps, Slack, GitHub, Stripe, Salesforce, Twilio |
Evaluation | TruLens, RAGAS, LangSmith |
Install
pip (CLI + MCP server)
pip install workflow-generator-mcp
workflow-generator . WORKFLOW.html # CLI: scan and write the report
workflow-generator-mcp # stdio MCP serverWith pip installed, any MCP host config reduces to:
{
"mcpServers": {
"workflow-generator": { "command": "workflow-generator-mcp" }
}
}Claude Code (skill)
mkdir -p ~/.claude/skills
git clone https://github.com/askuma/workflow-generator.git ~/.claude/skills/workflow-generatorThen in any Claude Code session:
/workflow-generator
/workflow-generator /path/to/projectMCP server (Claude Desktop, VS Code, Cursor, Zed, Windsurf, Continue)
1. Install the dependency:
pip install mcp2. Add to your MCP host config (replace ~ with your actual home path):
~/Library/Application Support/Claude/claude_desktop_config.json (Mac)%APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"workflow-generator": {
"command": "python3",
"args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
}
}
}.vscode/mcp.json
{
"servers": {
"workflow-generator": {
"type": "stdio",
"command": "python3",
"args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
}
}
}~/.cursor/mcp.json
{
"mcpServers": {
"workflow-generator": {
"command": "python3",
"args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
}
}
}.zed/settings.json
{
"context_servers": {
"workflow-generator": {
"command": {
"path": "python3",
"args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
}
}
}
}~/.windsurf/mcp_config.json
{
"mcpServers": {
"workflow-generator": {
"command": "python3",
"args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
}
}
}3. Restart your tool, then ask:
generate a workflow diagram for this project
how many concurrent requests can this handle?
show me the system architectureMCP tools exposed:
generate_workflow— scans project, writesWORKFLOW.html, optionally opens in browseranalyze_workflow— returns structured JSON summary (no file written)
Command line (standalone)
No install needed beyond Python 3.8+:
python3 ~/.claude/skills/workflow-generator/scripts/analyze.py . ~/WORKFLOW.html
# then open ~/WORKFLOW.htmlOptional flags:
--access-log /path/to/access.log # overlay real request counts onto the dependency graph
--graph-detail auto|files|dirs # force file-level or directory-level graph nodes (default: auto)Example output (terminal)
Written: /your/project/WORKFLOW.html
Framework: FastAPI · Workers: 8 · Concurrent I/O: ~800
Practical throughput: ~50–200 req/min
Bottleneck: OpenAI (LLM latency 3–30s per call)
Gateway: nginx · 2 rate limit zone(s)
LLM: OpenAI · eval: TruLens RAG Triad
Storage: Qdrant, Redis
External sources: Jira, Azure DevOps, SlackRepo layout
workflow-generator/
├── SKILL.md ← Claude Code skill definition
├── INSTALL.md ← detailed per-platform install guide
├── workflow_generator_mcp/
│ ├── analyze.py ← core scanner + HTML renderer (stdlib only)
│ └── server.py ← MCP stdio server (package form)
├── scripts/
│ └── analyze.py ← thin compatibility shim -> workflow_generator_mcp/analyze.py
├── tests/ ← pytest suite for the scanner
├── mcp/
│ ├── server.py ← MCP stdio server
│ └── requirements.txt ← pip install mcp
└── copilot/
├── index.js ← GitHub Copilot Extension (Express)
├── package.json
└── openai_function.jsonLicense
MIT
Available Tools
2 toolsanalyze_workflowA
Scan a project and return the workflow analysis as structured JSON (no file written). Returns: framework, workers, capacity estimates, detected components (LLM, storage, queues, external sources), concurrency primitives (semaphores, rate limits), and bottleneck ranking.
Inputs: project_dir.
generate_workflowA
Scan a project directory and generate WORKFLOW.html — a visual system workflow showing all components, their communication paths, concurrency model, concurrent request capacity, and bottleneck analysis. Works with Python (FastAPI, Flask, Django), Node.js (Express, Nest.js), Go, and mixed projects. Detects: API frameworks, gateways, LLM providers, vector stores, databases, queues, rate limits, async primitives, and worker counts.
Inputs: output_file, project_dir, open_browser.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
Both tools deal with workflow analysis, but they produce different outputs: analyze_workflow returns JSON, generate_workflow creates an HTML file. The descriptions make the distinction clear, though some conceptual overlap remains.
Both tool names follow a consistent verb_noun pattern with snake_case, making them predictable and easy to understand.
Only two tools for a 'workflow generator' server feels thin. The domain likely requires more operations (e.g., update, delete, validate) to be useful.
The server provides analysis and generation but lacks update, delete, or customization tools. Basic lifecycle coverage is missing, limiting agent workflows.
Maintenance
Related MCP Connectors
Draw your app's architecture on a live canvas and flag the bottlenecks and security gaps.
Architecture diagrams, explanations and Mermaid source for public GitHub repositories.
AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Related MCP Servers
- AlicenseAqualityDmaintenanceAnalyzes codebases to generate dependency graphs and architectural insights across multiple programming languages, helping developers understand code structure and validate against architectural rules.649 npm20MIT
- AlicenseNot gradedqualityDmaintenanceVisual architecture canvas that updates in real-time. Agents can build, read, and modify system design diagrams — services, databases, queues, APIs, entities — all linked to actual code paths in your repo.55 npm4MIT
- AlicenseNot gradedqualityDmaintenanceAnalyzes GitHub and local repositories to automatically generate visual architectural diagrams such as dependency graphs, class diagrams, and data flow diagrams.2MIT
- AlicenseAqualityCmaintenanceExtracts deterministic architecture maps from codebases for AI agents, enabling queries about blast radius, routes, security findings, and production readiness without sending code anywhere.627 PyPIMIT