Show HN: OpsCat – A single-binary software catalog with MCP for AI agents OpsCat, a single-binary software catalog with native MCP support for AI agents, launches as an open-source alternative to heavy developer portals like Backstage. Written in Go with an embedded React/Vite Web UI, it consumes under 30MB RAM and requires zero configuration, auto-discovering microservices, tech stacks, containers, infrastructure, and APIs from a codebase. The tool provides an interactive 2D dependency graph, automated compliance scorecards, and a Model Context Protocol server that lets AI coding agents query service architecture, owners, and health metrics directly. The Zero-Config, Single-Binary Software Catalog & MCP Platform Engine Auto-discover microservices, visualize software architecture graphs, enforce compliance scorecards, and expose your catalog natively to AI coding agents. Legacy developer portals like Backstage are notoriously heavy, requiring weeks of boilerplate TypeScript setup, complex yarn monorepos, and high memory footprints 1GB RAM . OpsCat reimagines platform engineering for 2026: - ⚑ Single Binary < 30MB RAM : Written in Go with embedded React/Vite Web UI. Zero external runtime dependencies. - πŸ” Zero-Config Auto-Discovery : Crawls your codebase to automatically infer tech stacks Go, Node, Python, Rust, Java , containers Dockerfile , infrastructure K8s , Helm , Terraform , and APIs OpenAPI , GraphQL , Proto . - πŸ•ΈοΈ Interactive 2D Dependency Graph : Visualizes software relationships, systems, and resource dependencies in real time. - πŸ€– Native MCP Model Context Protocol Server : Gives AI coding agents Claude, Cursor, Antigravity, Devin direct context to query service architecture, owners, and health metrics. - πŸ›‘οΈ Automated Compliance Scorecards : Automatically calculates service health scores 0-100% based on documentation, ownership, containerization, and API specs. Build directly from source: git clone https://github.com/opscat/opscat.git cd opscat go build -o bin/opscat ./cmd/opscat Scan your current workspace to auto-discover services and save to SQLite: ./bin/opscat scan . Run a single command to serve the Glassmorphic Web UI , REST API , and MCP Server : ./bin/opscat serve --http :8080 Open http://localhost:8080 in your browser OpsCat provides an intuitive command-line interface: | Command | Description | |---|---| opscat scan path | Auto-discover microservices and catalog entities in target directory | opscat serve --http :8080 | Start combined Web UI, REST API, and MCP Server | opscat serve --stdio | Run MCP Server over stdio for IDEs / Cursor / Claude Desktop | opscat query name | Lookup catalog entities by ID, owner, or search term | opscat export -o json|yaml|table | Export catalog graph in JSON, YAML, or ASCII table format | OpsCat implements the Model Context Protocol MCP specification, allowing AI agents to understand your platform topology. Add to your MCP server configuration mcpServers section : { "mcpServers": { "opscat": { "command": "/usr/local/bin/opscat", "args": "serve", "--stdio" } } } catalog list services : List microservices with filtering by owner, tech stack, or minimum score. catalog get service : Retrieve detailed metadata, scorecards, and infrastructure specs. catalog scan workspace : Dynamically trigger workspace discovery. catalog get dependencies : Query upstream and downstream service dependencies. OpsCat works out of the box with zero configuration . Optionally add a catalog.yaml to any repository root to override or enrich metadata: kind: service name: payment-service title: Global Payment Gateway Service description: Core PCI-compliant payment processing engine. owner: team-fintech system: checkout-pipeline domain: e-commerce tags: - payments - fintech - pci-dss links: - title: GitHub Repository url: https://github.com/org/payment-service type: github - title: Grafana Dashboard url: https://grafana.internal/d/payments type: dashboard relations: - type: dependsOn target: auth-service - type: consumesApi target: stripe-gateway β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ OpsCat Single Binary β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Auto-Discovery β”‚ β”‚ Embedded Web UI Vite + React β”‚ β”‚ β”‚ β”‚ - Go, Node, Py, Rust β”‚ β”‚ - Glassmorphic Dashboard β”‚ β”‚ β”‚ β”‚ - Docker, K8s, Helm β”‚ β”‚ - Interactive 2D Vis.js Graph β”‚ β”‚ β”‚ β”‚ - Terraform, OpenAPI β”‚ β”‚ - Scorecard & Entity Drawer β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β–Ό β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Unified Catalog Store β”‚ β”‚ β”‚ β”‚ Thread-Safe In-Memory Graph + SQLite Engine β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Native MCP JSON-RPC Server β”‚ β”‚ β”‚ β”‚ Stdio & HTTP SSE Transports β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ Run unit tests across all core packages: go test ./... -v Distributed under the Apache 2.0 License. See LICENSE for more information.