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
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.1.tar.gz (25.8 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.1-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: workflow_generator_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 25.8 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.1.tar.gz
Algorithm Hash digest
SHA256 ca331163efec87729dc56b3bf92bcbde18fea8f781aaf3cc51860147d3bb0455
MD5 886f4e562d254b626899c9b1b0ba8ae3
BLAKE2b-256 4a539e4ba3d463445c02dc3e8820c7c761a3c0f38a4b367c36abfa28a9260f68

See more details on using hashes here.

Provenance

The following attestation bundles were made for workflow_generator_mcp-0.2.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for workflow_generator_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 90bdb45468a965dbc66020e7b714001f45952499670186888c7436ce8f220c64
MD5 2c436099568c4edc4150d30636c9e55a
BLAKE2b-256 9b01edb89efb09e1f36325c5ab32e90cddde754803a0dbaae8a69c7667c8f76d

See more details on using hashes here.

Provenance

The following attestation bundles were made for workflow_generator_mcp-0.2.1-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