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.
π Why OpsCat?
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). - π§ Semantic Natural Language Search: Query your platform architecture in plain English ("Find services handling Stripe payments") via CLI, Web UI, or MCP tools.
- πΈοΈ 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.
π Quickstart
1. Installation
Build directly from source:
git clone https://github.com/opscat/opscat.git
cd opscat
go build -o bin/opscat ./cmd/opscat2. Scan a Workspace Directory
Scan your current workspace to auto-discover services and save to SQLite:
3. Launch the Web Portal & MCP Server
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!
π» CLI Commands
OpsCat provides an intuitive command-line interface:
| Command | Description |
|---|---|
opscat scan [path] |
Auto-discover microservices and catalog entities in target directory |
opscat search <query> |
Perform natural language semantic architecture search |
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 |
π€ AI Agent Integration (MCP)
OpsCat implements the Model Context Protocol (MCP) specification, allowing AI agents to understand your platform topology.
Configure with Cursor / Claude Desktop
Add to your MCP server configuration (mcpServers section):
{
"mcpServers": {
"opscat": {
"command": "/usr/local/bin/opscat",
"args": ["serve", "--stdio"]
}
}
}Available MCP Tools for AI Agents
catalog_semantic_search: Perform natural language semantic search across platform architecture, tech stacks, and APIs.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.
π Manifest Spec (catalog.yaml)
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
ποΈ Architecture Overview
flowchart TD
subgraph Consumers[" π» Clients & Interfaces "]
UI["π Glassmorphic Web UI<br/>(Embedded React + Vite)"]
CLI["π» Terminal CLI<br/>(opscat scan / query / serve)"]
MCP["π€ AI Coding Agents<br/>(Cursor / Claude / Antigravity via MCP)"]
end
subgraph Engine[" β‘ OpsCat Core Engine (Single Go Binary < 30MB) "]
subgraph Ingestion[" π Auto-Discovery Engine "]
LangDetector["Languages & Frameworks<br/>(Go, Node, Python, Rust, Java)"]
InfraDetector["Container & Infrastructure<br/>(Docker, K8s, Helm, Terraform)"]
APIDetector["API Specifications<br/>(OpenAPI, GraphQL, gRPC)"]
end
GraphStore[("πΎ Unified Entity Graph Store<br/>(In-Memory + SQLite)")]
ScorecardEngine["π‘οΈ Compliance Scorecard Engine<br/>(Automated 0-100% Health Scores)"]
RESTServer["π‘ REST API Router<br/>(/api/v1/entities, /api/v1/graph)"]
MCPServer["π Native MCP Server<br/>(Stdio & HTTP SSE Transports)"]
end
Ingestion --> GraphStore
GraphStore --> ScorecardEngine
ScorecardEngine --> RESTServer
ScorecardEngine --> MCPServer
RESTServer --> UI
RESTServer --> CLI
MCPServer --> MCP
π§ͺ Testing
Run unit tests across all core packages:
π License
Distributed under the Apache 2.0 License. See LICENSE for more information.
