Skip to main content

Generate a visual system architecture diagram (WORKFLOW.html) with concurrency capacity estimates and bottleneck analysis from any codebase — CLI + MCP server, stdlib-only scanner.

Project description

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.

WORKFLOW.html generated for full-stack-fastapi-template

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 · code reference
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):

Claude Desktop

~/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"]
    }
  }
}
VS Code

.vscode/mcp.json

{
  "servers": {
    "workflow-generator": {
      "type": "stdio",
      "command": "python3",
      "args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
    }
  }
}
Cursor

~/.cursor/mcp.json

{
  "mcpServers": {
    "workflow-generator": {
      "command": "python3",
      "args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
    }
  }
}
Zed

.zed/settings.json

{
  "context_servers": {
    "workflow-generator": {
      "command": {
        "path": "python3",
        "args": ["~/.claude/skills/workflow-generator/mcp/server.py"]
      }
    }
  }
}
Windsurf

~/.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 architecture

MCP tools exposed:

  • generate_workflow — scans project, writes WORKFLOW.html, optionally opens in browser
  • analyze_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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

workflow_generator_mcp-0.2.0.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

workflow_generator_mcp-0.2.0-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file workflow_generator_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: workflow_generator_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for workflow_generator_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6b7a3bf073cbecc1eadfa951d2ae71cb9bedab68070c033d1bb156d382224d4f
MD5 19403e87949db3cf754bcac577968873
BLAKE2b-256 93d875495a8e5257f8d876c1ba1a45aa1d5cab03a77ff8ee4ca2d2d32307fc0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for workflow_generator_mcp-0.2.0.tar.gz:

Publisher: publish.yml on askuma/workflow-generator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file workflow_generator_mcp-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for workflow_generator_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 93df8bd6e023bd701b5c6afc321fa51b39a12a6dfb42b82d0a670134e2d24c7b
MD5 e21f433d64186aafd89384e5a339f307
BLAKE2b-256 5e1f6e624c2b8092ec64233057983409f41b53bbd8fc12f771819bc35765f9d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for workflow_generator_mcp-0.2.0-py3-none-any.whl:

Publisher: publish.yml on askuma/workflow-generator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page