workflow-generator
Architecture diagram with concurrency capacity and bottleneck estimates from any codebase.
README
workflow-generator
<!-- mcp-name: io.github.askuma/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, 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.

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 |
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 | asyncio.Semaphore, run_in_executor, asyncio.gather, asyncio.Lock |
| Workers | --workers N (uvicorn/gunicorn), replicas: (docker-compose), PM2 instances |
| 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 server
With 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-generator
Then in any Claude Code session:
/workflow-generator
/workflow-generator /path/to/project
MCP server (Claude Desktop, VS Code, Cursor, Zed, Windsurf, Continue)
1. Install the dependency:
pip install mcp
2. Add to your MCP host config (replace ~ with your actual home path):
<details> <summary>Claude Desktop</summary>
~/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"]
}
}
}
</details>
<details> <summary>VS Code</summary>
.vscode/mcp.json
{
"servers": {
"workflow-generator": {
"type": "stdio",
"command": "python3",
"args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
}
}
}
</details>
<details> <summary>Cursor</summary>
~/.cursor/mcp.json
{
"mcpServers": {
"workflow-generator": {
"command": "python3",
"args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
}
}
}
</details>
<details> <summary>Zed</summary>
.zed/settings.json
{
"context_servers": {
"workflow-generator": {
"command": {
"path": "python3",
"args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
}
}
}
}
</details>
<details> <summary>Windsurf</summary>
~/.windsurf/mcp_config.json
{
"mcpServers": {
"workflow-generator": {
"command": "python3",
"args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
}
}
}
</details>
3. Restart your tool, then ask:
generate a workflow diagram for this project
how many concurrent requests can this handle?
show me the system architecture
MCP 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.html
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, Slack
Repo layout
workflow-generator/
├── SKILL.md ← Claude Code skill definition
├── INSTALL.md ← detailed per-platform install guide
├── scripts/
│ └── analyze.py ← core scanner + HTML renderer (stdlib only)
├── mcp/
│ ├── server.py ← MCP stdio server
│ └── requirements.txt ← pip install mcp
└── copilot/
├── index.js ← GitHub Copilot Extension (Express)
├── package.json
└── openai_function.json
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.