Generate Tech Stack
This server scans a project directory to detect its tech stack and can either generate a visual HTML report or return the findings as structured JSON.
Generate a visual HTML report (
generate_tech_stack): Produces a self-containedTECH_STACK.htmlfile featuring a stat row (total tools, categories, AI backends, data stores), a layered architecture diagram, a horizontal bar chart, and colour-coded tool cards. Optionally auto-opens in your default browser. Output path and project directory are configurable.Return a structured JSON summary (
list_tech_stack): Scans the project and returns the tech stack as structured JSON without writing any file — ideal for programmatic or downstream use.Detects a wide range of technologies: Languages (Python, Go, Rust, TypeScript, Java, PHP...), frameworks (FastAPI, Django, Express, Next.js...), databases (PostgreSQL, Redis, MongoDB, SQLite...), AI/ML SDKs, testing, observability, security, and infrastructure (Docker, Kubernetes, CI/CD, GitHub Actions, GitLab CI).
Zero configuration required: All inputs are optional and default to the current working directory. Works with Claude Desktop, VS Code, Cursor, Zed, and Continue.
Provides a GitHub Copilot Extension that allows users to generate tech stack reports by invoking /generate-tech-stack in Copilot Chat.
generate-tech-stack
Scan any project and generate a visual TECH_STACK.html page — dark-mode, auto-adapting, zero config.
Works as a Claude Code skill, MCP server, or GitHub Copilot Extension.
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 | Description |
Stat row | Total tools · Categories · AI Backends · Data Stores |
Architecture diagram | Layered flow diagram (Consumer → API → AI/NLP → Data/Obs/Frontend) |
Bar chart | Horizontal bars per category, colour-matched |
Tool cards | One card per category; each tool shows a dot, name, description, and badge |
Badge legend | Explains |
Footer | Project name · tool count · generation date |
Related MCP server: sourcebook
Repository layout
~/.claude/skills/generate-tech-stack/
├── SKILL.md ← Claude Code skill definition
├── INSTALL.md ← detailed per-platform installation guide
├── README.md ← this file
├── scripts/
│ └── analyze.py ← core scanner + HTML renderer (no dependencies)
├── mcp/
│ ├── server.py ← MCP stdio server (pip install mcp)
│ └── requirements.txt
└── copilot/
├── index.js ← GitHub Copilot Extension (Express)
├── package.json
└── openai_function.json ← OpenAI / Antigravity function definitionUsage
pip (CLI + MCP server)
pip install generate-tech-stack-mcp
generate-tech-stack . TECH_STACK.html # CLI: scan and write the report
generate-tech-stack-mcp # stdio MCP serverWith pip installed, any MCP host config reduces to:
{
"mcpServers": {
"generate-tech-stack": { "command": "generate-tech-stack-mcp" }
}
}Claude Code
/generate-tech-stackRun it from any project directory. The skill calls scripts/analyze.py and opens the result in your browser.
MCP (Claude Desktop, VS Code, Cursor, Zed, Windsurf, Continue)
pip install mcpAdd to your host's MCP config (replace the path with your actual home directory):
{
"mcpServers": {
"generate-tech-stack": {
"command": "python3",
"args": ["/home/<you>/.claude/skills/generate-tech-stack/mcp/server.py"]
}
}
}Then ask: generate my tech stack or /generate-tech-stack.
MCP tools exposed:
generate_tech_stack— scans a project, writesTECH_STACK.html, opens in browserlist_tech_stack— returns a JSON summary, no file written
GitHub Copilot Extension
cd copilot
npm install
npm start # listens on port 3000
ngrok http 3000 # expose for GitHub to reachRegister a GitHub App with Copilot Extension enabled, set the Agent URL to https://your-url/agent, and install it on your account. Then in Copilot Chat:
@generate-tech-stack /generate-tech-stack
@generate-tech-stack /generate-tech-stack /path/to/projectCommand line (standalone)
python3 ~/.claude/skills/generate-tech-stack/scripts/analyze.py /path/to/project
# output: /path/to/project/TECH_STACK.html
# custom output path:
python3 scripts/analyze.py . ~/Desktop/TECH_STACK.htmlanalyze.py has no third-party dependencies — just Python 3.8+.
What gets detected
Source file | Detected tools |
| Python packages (web, DB, AI, testing, observability, security…) |
| Node / npm packages (frameworks, frontend, DB drivers, tooling) |
| Go language |
| Rust language |
| Java / Kotlin |
| Ruby |
| PHP |
| Optional/dynamic SDKs via |
| PostgreSQL, Redis, MongoDB, SQLite connection strings |
| Docker |
| Docker Compose |
| GitHub Actions |
| GitLab CI |
| Alembic migrations |
| Reverse proxy |
| TypeScript |
Detected categories
Category | Colour | Examples |
Language & Runtime | Green | Python, Go, Rust, TypeScript |
Web / API Framework | Purple | FastAPI, Express, Django, Next.js |
Database / Storage | Green | SQLAlchemy, Prisma, Redis, ChromaDB |
AI Guardrail SDKs | Blue | GuardrailsAI, NVIDIA NeMo, Presidio, Lakera |
NLP / ML | Teal | spaCy, Transformers, Sentence Transformers |
Observability | Teal | Prometheus, OpenTelemetry, Sentry, Loguru |
Testing | Yellow | pytest, Jest, Cypress, Playwright |
Security / Auth | Rose | PyJWT, bcrypt, Authlib, Helmet |
Infrastructure / Deploy | Orange | Docker, Kubernetes, Celery, Boto3 |
Frontend / Dashboard | Gray | React, Vue, Tailwind, Recharts |
Messaging / Comms | Blue | Kafka, RabbitMQ, Socket.io |
Dev Tools | Gray | ESLint, Prettier, Vite, TypeScript |
Design
Dark-mode only. Fonts: IBM Plex Sans (body) + JetBrains Mono (code/badges), loaded from Google Fonts. No JavaScript — pure HTML + CSS. Self-contained single file, opens in any browser offline.
See also
INSTALL.md — per-platform setup instructions
SKILL.md — Claude Code skill specification
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/askuma/generate-tech-stack'
If you have feedback or need assistance with the MCP directory API, please join our Discord server