VOOZH about

URL: https://mcp.so/server/void-stack/Mague

⇱ Void Stack MCP Server


Void Stack

@Mague

DSM for developers β€” start, stop, audit, and analyze your entire dev stack with one command. MCP server with 27 tools for Claude Desktop & Claude Code. Supports Windows, WSL, macOS, Linux, and Docker. Built in Rust.
Overview

πŸ‘ Void Stack

Void Stack

πŸ‘ CI
πŸ‘ Release
πŸ‘ Version
πŸ‘ License
πŸ‘ Rust

Got 10 projects with backends, frontends, workers, and databases β€” and you can't remember how to start any of them?

Void Stack fixes that. One command to start your entire dev stack β€” backend, frontend, database, workers β€” on Windows, WSL, or Docker. No memorizing ports, no opening 5 terminals, no reading outdated READMEs.

void add my-app F:\projects\my-app # Auto-detects services
void start my-app # Starts everything

That's it. Void Stack scans your project, detects which frameworks you're using (FastAPI, Vite, Express, Django...), generates the right commands, and runs them. If there's a Python venv, it finds it. If node_modules is missing, it tells you.

High Performance β€” Built with Rust. Zero runtime overhead, instant startup, minimal memory footprint.

Agentic Workflow β€” MCP server with 20+ tools lets Claude Desktop / Claude Code manage your services, analyze code, and audit security autonomously.

Cloud-Native Roadmap β€” Deploy to Vercel, DigitalOcean, and more from the same config (coming soon).

Leer en espaΓ±ol | void-stack.dev


Dogfooding: Void Stack analyzes itself

Void Stack's own analysis and audit tools are used to maintain the quality of its codebase. Here's what running void analyze void-stack --compare and void audit void-stack on the project itself revealed β€” and how we used those findings to improve the code:

Security audit

void audit void-stack
# Risk Score: 2/100
# 2 low findings (innerHTML usage β€” already mitigated with DOMPurify)

The initial audit found 6 issues (risk score 25/100), but 4 were false positives β€” regex patterns and templates in the detection code flagged as "secrets". This led us to add smart false-positive filtering (self-referencing file allowlist, regex metacharacter detection, template line filtering), dropping the false positive rate from 83% to 0%.

Code analysis

void analyze void-stack --compare --label v0.17.0
# Pattern: Clean / Hexagonal (85% confidence)
# 115 modules, 20,735 LOC, 30 external deps
# Max complexity: 42 (analyze_best_practices) β€” now refactored to ~15
# Anti-patterns: 23 β†’ reduced High severity from 7 to 3

Findings that drove refactoring:

FindingAction taken
God Class: cli/main.rs (1202 LOC, 25 fn)Split into 6 command modules (~250 LOC main)
God Class: mcp/server.rs (1197 LOC, 35 fn)Split into 10 tool modules (~340 LOC server)
God Class: manager.rs (30 fn)Split into 4 submodules (process, state, logs, url)
God Class + Fat Controller: vuln_patterns.rs (789 LOC)Split into 5 category modules (injection, xss, network, crypto, config)
God Class: db_models.rs (1065 LOC)Split into 7 submodules by DB format (python, sequelize, gorm, drift, proto, prisma)
God Class: generate_dockerfile.rs (821 LOC)Split into 6 submodules by language (python, node, rust, go, flutter)
God Class: api_routes.rs (747 LOC)Split into 5 submodules by protocol (python, node, grpc, swagger)
God Class: architecture.rs (788 LOC)Split into 4 submodules (externals, crates, infra)
God Class: classifier.rs (759 LOC, 44 fn)Split into 3 submodules (logic, signals/data tables, tests)
Fat Controller: cli/analysis.rs (580 LOC)Split into 4 submodules (analyze, diagram, audit, suggest)
CC=42: analyze_best_practicesTable-driven linter registry (CC ~15)
CC=41: cmd_analyzeExtracted 11 helper functions (CC ~10)

Technical debt tracking

void analyze void-stack --compare --label v0.22.0
# Pattern: Clean / Hexagonal (85% confidence)
# Coverage: 80.5% (26268/32609 lines) [lcov]
# Explicit debt: 15 markers (TODO: 8, FIXME: 4, HACK: 2, OPTIMIZE: 1)
# 669 tests passing

New in v0.22.0: explicit debt markers (TODO/FIXME/HACK/XXX/OPTIMIZE/BUG/TEMP/WORKAROUND) are now scanned from source comments and shown in CLI output, markdown reports, and the desktop Debt tab. Complex functions (CCβ‰₯10) are cross-referenced with coverage data β€” uncovered critical functions get [!] warnings in CLI and πŸ”΄ indicators in markdown.


Interfaces

Void Stack has 4 interfaces β€” use whichever you prefer:

InterfaceDescription
CLI (void)Fast commands from terminal
TUI (void-stack-tui)Interactive terminal dashboard: services, analysis, security audit, debt, space
Desktop (void-stack-desktop)Desktop app with GUI (Tauri + React) β€” Windows (.msi), macOS (.dmg), Linux (.deb)
MCP Server (void-stack-mcp)Integration with Claude Desktop / Claude Code

End-to-end example: FastAPI + React in 30 seconds

Say you have a project with a FastAPI backend and a React frontend:

my-app/
β”œβ”€β”€ backend/ # FastAPI with venv
β”‚ β”œβ”€β”€ main.py # from fastapi import FastAPI
β”‚ └── .venv/
β”œβ”€β”€ frontend/ # React with Vite
β”‚ β”œβ”€β”€ package.json
β”‚ └── src/
└── .env
# 1. Register the project (scans and detects services)
void add my-app F:\projects\my-app
# Void Stack detects:
# βœ“ backend β†’ uvicorn main:app --host 0.0.0.0 --port 8000
# βœ“ frontend β†’ npm run dev
# βœ“ .venv β†’ auto-resolves python to virtualenv
# 2. Check dependencies
void check my-app
# βœ… Python 3.11 (venv detected)
# βœ… Node 20.x (node_modules up to date)
# βœ… .env complete vs .env.example
# 3. Start everything
void start my-app
# [backend] β†’ http://localhost:8000
# [frontend] β†’ http://localhost:5173
# 4. Or open the interactive dashboard
void-tui my-app

Installation

Binaries (recommended)

Download pre-built binaries from the Releases page β€” no Rust required.

PlatformFile
Windows.msi / .exe (NSIS)
macOS.dmg
Linux.deb / .AppImage

macOS note: If you get "cannot be opened because the developer cannot be verified", run:

xattr -cr /Applications/Void\ Stack.app

From source (Cargo)

# Core CLI (the main tool)
cargo install --git https://github.com/mague/void-stack void-stack-cli
# TUI Dashboard
cargo install --git https://github.com/mague/void-stack void-stack-tui
# MCP Server (for AI integration with Claude Desktop / Claude Code)
cargo install --git https://github.com/mague/void-stack void-stack-mcp
# gRPC Daemon (optional, for persistent management)
cargo install --git https://github.com/mague/void-stack void-stack-daemon

Prerequisites: Rust + Protobuf compiler (winget install Google.Protobuf on Windows)

Build from source

git clone https://github.com/mague/void-stack.git
cd void-stack
cargo build --release
# Binaries in target/release/
# void β€” CLI
# void-stack-tui β€” Terminal dashboard
# void-stack-daemon β€” gRPC daemon
# void-stack-mcp β€” MCP server for AI

Desktop app (Tauri)

cd crates/void-stack-desktop
cargo tauri build
# Generates installer in target/release/bundle/

Excluding files from analysis

Create .voidignore in your project root to exclude paths from void analyze:

# Generated code
internal/pb/
vendor/
**/*.pb.go
**/*.pb.gw.go
# Mocks
**/mocks/
**/*_mock.go

Same syntax as .gitignore (simplified). Supports prefix paths, **/ glob suffixes, and directory names.

Features

  • Multi-service β€” Start/stop all services together or individually
  • Cross-platform β€” Windows (cmd), macOS, WSL (bash), Docker containers, SSH (future)
  • Auto-detection β€” Scans directories and identifies Python, Node, Rust, Go, Flutter, Docker
  • Smart commands β€” Detects FastAPI, Flask, Django, Vite, Next.js, Express, Air (Go hot-reload) and generates the right command
  • Pre-launch hooks β€” Automatically creates venvs, installs deps (pip install, npm install, go mod download) per service before starting. Works out of the box with no configuration
  • Dependency checking β€” Verifies Python, Node, CUDA, Ollama, Docker, Rust, .env
  • Live logs β€” Stdout/stderr from all services with automatic URL detection
  • Diagrams β€” Generates Mermaid and Draw.io from project structure using unified scanners (architecture, API routes with Swagger/OpenAPI enrichment, internal/external API separation, gRPC/Protobuf services, DB models with FK-proximity layout β€” Prisma, Sequelize, GORM, Django, SQLAlchemy, Drift)
  • Code analysis β€” Dependency graphs, anti-patterns, cyclomatic complexity, coverage
  • Best practices β€” Native linters (react-doctor, ruff, clippy, golangci-lint, dart analyze) with unified scoring
  • Technical debt β€” Metric snapshots with trend comparison
  • AI integration β€” MCP server with 20+ tools for Claude Desktop / Claude Code; AI-powered refactoring suggestions via Ollama (local LLM) with graceful fallback
  • Disk space scanner β€” Scan and clean project deps (node_modules, venv, target) and global caches (npm, pip, Cargo, Ollama, HuggingFace, LM Studio)
  • Desktop GUI β€” Tauri app with cyberpunk mission-control aesthetic, visual hierarchy (KPI cards, glow effects, severity gradients), services, logs, dependencies, diagrams, analysis, docs, security, debt, and disk space
  • Daemon β€” Optional gRPC daemon for persistent management
  • Security audit β€” Dependency vulnerabilities, hardcoded secrets, insecure configs, code vulnerability patterns (SQL injection, command injection, path traversal, XSS, SSRF, and more) with smart false-positive filtering (skips self-referencing detection patterns, regex definitions, templates, JSX elements, and git history refactor commits)
  • Docker Runner β€” Services with target = "docker" run inside Docker containers. Four modes: raw docker commands, image references (postgres:16 β†’ auto docker run), Compose auto-detect, and Dockerfile builds. Compose imports as a single docker compose up service that launches all containers together. docker: prefix separates Docker services from local ones. Per-service config for ports, volumes, and extra args. Process exit watcher detects failures and updates status automatically
  • Docker Intelligence β€” Parse Dockerfiles and docker-compose.yml, auto-generate Dockerfiles per framework (Python, Node, Rust, Go, Flutter), generate docker-compose.yml with auto-detected infrastructure (PostgreSQL, Redis, MongoDB, etc.)
  • Infrastructure Intelligence β€” Detect Terraform resources (AWS RDS, ElastiCache, S3, Lambda, SQS, GCP Cloud SQL, Azure PostgreSQL), Kubernetes manifests (Deployments, Services, Ingress, StatefulSets), and Helm charts with dependencies β€” all integrated into architecture diagrams
  • Security β€” Never reads .env values; centralized sensitive file protection

CLI

CommandDescription
void add <n> <path>Register project (auto-detects services)
void add-service <project> <n> <cmd> -d <dir>Add service manually
void remove <n>Unregister project
void listList projects and services
void scan <path>Preview detection without registering
void start <project> [-s service]Start all or one service
void stop <project> [-s service]Stop all or one service
void status <project>Live status: PIDs, URLs, uptime
void check <project>Verify dependencies
void diagram <project> [-f mermaid|drawio] [--print-content]Generate diagrams
void audit <project> [-o file]Security audit
void analyze <project> [--compare] [--cross-project] [--best-practices]Code analysis
void docker <project> [--generate-dockerfile] [--generate-compose] [--save]Docker intelligence
void suggest <project> [--model <m>] [--service <s>] [--raw]AI refactoring suggestions (Ollama)
void read-file <project> <path>Read any project file (blocks .env, credentials)

Flags: --wsl (WSL paths), --daemon (connect to daemon), --compare (compare snapshots), --cross-project (inter-project deps), --label <tag> (tag snapshot)

TUI Dashboard

void-tui # All projects
void-tui my-project # Specific project
void-tui --daemon # Via daemon
KeyAction
aStart all services
sStart selected service
kStop selected service
KStop all
1-5Switch tab (Services/Analysis/Security/Debt/Space)
RRun action (analyze, audit, scan) on current tab
j/↓Navigate down
lToggle log panel
TabSwitch panel
rRefresh status
LToggle language (ES/EN)
?Help
qQuit (stops services)

i18n: Spanish (default) and English. Press L to toggle.

Tabs: Services (manage/monitor), Analysis (architecture pattern, layers, anti-patterns, complexity + coverage cross-ref), Security (risk score, vulnerability findings), Debt (TODO/FIXME/HACK markers), Space (project + global disk usage)

Desktop (Tauri)

Desktop app with dark GUI:

  • Services: Cards with status (running/stopped/failed), PID, uptime, URL (opens in browser), start/stop controls, per-technology icons with brand-colored glow on running services, OS-specific target badges (Windows/macOS/Linux/Docker) with automatic platform detection, two-step service removal
  • Logs: Live log viewer with service selector and auto-scroll
  • Dependencies: Check table with status, version, fix suggestions
  • Diagrams: Mermaid rendering + native Draw.io XML rendering (custom SVG renderer with DOMPurify) for architecture, API routes, DB models
  • Analysis: Architecture patterns, anti-patterns, cyclomatic complexity, coverage visualization
  • Docs: Render project README and documentation files with markdown styling
  • Disk Space: Scan project + global caches, view sizes, delete to free space
  • Security: Risk score, vulnerability findings, secrets detection, config audit
  • Technical Debt: Metric snapshots with trend comparison, expandable details (god classes, complex functions, anti-patterns, circular deps)
  • Docker: Parse and analyze existing Docker artifacts, generate Dockerfiles and docker-compose.yml, save to project, detect Terraform/Kubernetes/Helm infrastructure
  • Sidebar: Project navigation, add/remove projects, WSL distro browser
  • UX: Copy buttons on results, educational tooltips, diagram zoom controls, Material Design 3 typography

MCP Server (AI Integration)

Lets Claude Desktop or Claude Code manage your projects directly.

Windows β€” Add to %APPDATA%\Claude\claude_desktop_config.json:

{
 "mcpServers": {
 "void-stack": {
 "command": "void-stack-mcp.exe"
 }
 }
}

macOS / Linux β€” Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or ~/.config/Claude/claude_desktop_config.json (Linux):

{
 "mcpServers": {
 "void-stack": {
 "command": "void-stack-mcp"
 }
 }
}

Available tools: list_projects, project_status, start_project, stop_project, start_service, stop_service, get_logs, add_project, remove_project, check_dependencies, read_project_docs, read_all_docs, generate_diagram, analyze_project, audit_project, scan_directory, add_service, save_debt_snapshot, list_debt_snapshots, compare_debt, analyze_cross_project, scan_project_space, scan_global_space, docker_analyze, docker_generate, suggest_refactoring

Dependency Detection

DetectorChecks
PythonBinary, version, venv, pip check
NodeBinary, node_modules freshness
CUDAnvidia-smi, driver, GPU, VRAM, PyTorch
OllamaBinary, API health, downloaded models
DockerBinary, daemon status, compose
Rustrustc and cargo versions
Gogo version, go.mod presence
Flutterflutter --version, dart --version, pubspec.yaml
.envCompares .env vs .env.example

Code Analysis

void analyze my-app -o analysis.md
void analyze my-app --compare --label v2.0
void analyze my-app --cross-project
void analyze my-app --best-practices
void analyze my-app --bp-only # Only linters, skip architecture
  • Patterns β€” MVC, Layered, Clean/Hexagonal with confidence
  • Anti-patterns β€” God Class, Circular Dependencies, Fat Controllers, Excessive Coupling
  • Cyclomatic complexity β€” Per-function (Python, JS/TS, Go, Dart, Rust)
  • Coverage β€” LCOV, Cobertura, Istanbul, Go cover profiles
  • Graphs β€” Mermaid diagrams of module relationships
  • Trends β€” Historical snapshots with comparison

Diagrams

void diagram my-app # Draw.io (default)
void diagram my-app -f mermaid # Mermaid markdown

Detects: service architecture, external services (by URL extraction from source code and .env), internal service-to-service calls (localhost cross-referencing by port), API routes with Swagger/OpenAPI enrichment (FastAPI, Flask, Express, gRPC/Protobuf), internal vs public API separation, DB models (SQLAlchemy, Django, Prisma, Sequelize, GORM, Drift, Protobuf messages), Rust crate relationships.

Architecture

void-stack/
β”œβ”€β”€ crates/
β”‚ β”œβ”€β”€ void-stack-core/ # Core library: models, config, runners, detectors, analyzers
β”‚ β”œβ”€β”€ void-stack-proto/ # Protobuf definitions + gRPC client
β”‚ β”œβ”€β”€ void-stack-daemon/ # Daemon with gRPC server (tonic)
β”‚ β”œβ”€β”€ void-stack-tui/ # Terminal dashboard (ratatui)
β”‚ β”œβ”€β”€ void-stack-mcp/ # MCP server for AI assistants
β”‚ β”œβ”€β”€ void-stack-desktop/ # Tauri v2 app (React + TypeScript)
β”‚ └── void-stack-cli/ # CLI interface (clap)
β”œβ”€β”€ example-void-stack.toml
└── CHANGELOG.md

Configuration

void-stack.toml (per project)

name = "my-fullstack-app"
description = "Full stack app"
project_type = "node"
[hooks]
install_deps = true
[[services]]
name = "backend-api"
command = "npm run dev"
target = "wsl"
working_dir = "./backend"
[[services]]
name = "web-frontend"
command = "npm run dev"
target = "windows"
working_dir = "./frontend"
[[services]]
name = "database"
command = "docker compose up postgres redis"
target = "docker"
[[services]]
name = "cache"
command = "redis:7-alpine"
target = "docker"
[services.docker]
ports = ["6379:6379"]

Global config

All projects are stored in a platform-specific location:

  • Windows: %LOCALAPPDATA%\void-stack\config.toml
  • macOS: ~/Library/Application Support/void-stack/config.toml
  • Linux: ~/.config/void-stack/config.toml

Each service has an absolute working_dir, supporting monorepos and distributed layouts.

Security

  • .env is read for variable names only β€” values are never stored or displayed
  • Sensitive files (.env, credentials.json, private keys, secrets.*) blocked from analysis and MCP
  • Centralized deny-list in security.rs covers all file-reading paths

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Server Config

{
 "mcpServers": {
 "void-stack": {
 "command": "cargo",
 "args": [
 "install",
 "--git",
 "https://github.com/mague/void-stack",
 "void-stack-mcp"
 ]
 }
 }
}
Β© 2025 MCP.so. All rights reserved.

Build with ShipAny.