{
  "name": "Hungry Nova MCP Pack Catalog",
  "version": "0.1.0",
  "homepage": "https://novamcp.cc",
  "catalog_url": "https://novamcp.cc/catalog.json",
  "idea": "Opinionated sysadmin toolpacks, not a junk drawer of every API. Operator-only — never wire these to customer chat keys.",
  "risk_labels": {
    "read": "Observe only",
    "write": "Changes state",
    "exec": "Runs commands",
    "danger": "Can break prod / wipe data / widen access — always needs human approve"
  },
  "max_tools_per_pack": 15,
  "profiles": ["homelab", "msp", "prod-readonly", "incident"],
  "packs": [
    {
      "id": "hn-host",
      "name": "Hungry Nova Host",
      "version": "0.1.0",
      "status": "mvp",
      "description": "One Linux/Mac host over SSH or local — facts, logs, ports, plan-then-run",
      "risk": ["read", "write", "exec", "danger"],
      "profiles": ["homelab", "msp", "prod-readonly", "incident"],
      "requires": ["hosts.json"],
      "tools_count": 12,
      "install": {
        "command": "node",
        "args": ["packs/hn-host/server.mjs"],
        "env": ["HN_MCP_PROFILE", "HN_MCP_HOSTS"]
      }
    },
    {
      "id": "hn-net",
      "name": "Hungry Nova Net",
      "version": "0.1.0",
      "status": "mvp",
      "description": "Network truth without a full NMS — DNS, HTTP, TLS, TCP, ping, path, whois, report",
      "risk": ["read"],
      "profiles": ["homelab", "msp", "prod-readonly", "incident"],
      "requires": [],
      "tools_count": 8,
      "install": {
        "command": "node",
        "args": ["packs/hn-net/server.mjs"],
        "env": ["HN_MCP_PROFILE"]
      }
    },
    {
      "id": "hn-containers",
      "name": "Hungry Nova Containers",
      "version": "0.1.0",
      "status": "mvp",
      "description": "Docker first. Read status/logs/stats, then plan → approve → restart",
      "risk": ["read", "write", "exec", "danger"],
      "profiles": ["homelab", "msp", "prod-readonly", "incident"],
      "requires": ["docker"],
      "tools_count": 8,
      "install": {
        "command": "node",
        "args": ["packs/hn-containers/server.mjs"],
        "env": ["HN_MCP_PROFILE", "HN_MCP_HOSTS"]
      }
    },
    {
      "id": "hn-incident",
      "name": "Hungry Nova Incident",
      "version": "0.1.0",
      "status": "mvp",
      "description": "Triage workflow: open, gather evidence, hypotheses, runbook, checklist, close",
      "risk": ["read", "write", "danger"],
      "profiles": ["homelab", "msp", "incident"],
      "requires": ["hn-host", "hn-net", "hn-containers"],
      "tools_count": 8,
      "install": {
        "command": "node",
        "args": ["packs/hn-incident/server.mjs"],
        "env": ["HN_MCP_PROFILE", "HN_MCP_HOSTS"]
      }
    },
    {
      "id": "hn-iac",
      "name": "Hungry Nova IaC",
      "version": "0.0.0",
      "status": "later",
      "description": "Terraform/Ansible plan-first. Do not start here.",
      "risk": ["read", "write", "danger"],
      "profiles": ["homelab"],
      "requires": ["terraform", "ansible"],
      "tools_count": 4
    },
    {
      "id": "hn-k8s-read",
      "name": "Hungry Nova Kubernetes (read)",
      "version": "0.0.0",
      "status": "later",
      "description": "K8s observe-only server so prod-readonly never discovers delete tools",
      "risk": ["read"],
      "profiles": ["homelab", "msp", "prod-readonly", "incident"],
      "requires": ["kubeconfig"],
      "tools_count": 0
    },
    {
      "id": "hn-k8s-write",
      "name": "Hungry Nova Kubernetes (write)",
      "version": "0.0.0",
      "status": "later",
      "description": "Separate write server: rollout restart, scale — never bundled with read",
      "risk": ["write", "danger"],
      "profiles": ["homelab"],
      "requires": ["kubeconfig", "hn-k8s-read"],
      "tools_count": 0
    }
  ]
}
