{
  "markdown": "# k8s-manifest-audit\n\n> **k8s-manifest-audit** — static audit of Kubernetes manifests via MCP. Powered by kube-linter. Part of the Unbearable Labs audit shop.\n\n**Built by [Unbearable Labs](https://github.com/UnbearableDev).** Pay-per-event pricing — only billed when a tool is actually called.\n\n---\n\n## What it does\n\nPoint any MCP-capable client (Claude Desktop, Cursor, n8n, Make, Zapier, custom agents) at this server, hand it a Kubernetes manifest or directory of manifests, get back a structured report:\n\n- **Severity** — high / medium / low / info\n- **Check ID** — kube-linter check name (e.g. `privileged-container`, `unset-cpu-requirements`)\n- **Category** — security / resources / availability / network / rbac / images / config\n- **Message** — what kube-linter found and where\n- **Remediation hint** — what to do about it\n- **Object location** — kind, name, namespace of the offending resource\n\n63 checks total (31 enabled by default). Covers Deployment, Service, Ingress, ConfigMap, Secret, StatefulSet, DaemonSet, Job, CronJob, NetworkPolicy, RBAC, HPA, PDB, and more.\n\n## Tools\n\n| Tool | Pricing | Purpose |\n|------|---------|---------|\n| `audit_manifest(yaml_content)` | $0.02 | Audit a single YAML string (may contain multi-doc `---`) |\n| `audit_directory(files)` | $0.02 | Audit multiple files — cross-file checks work correctly |\n| `list_checks(enabled_only=False)` | $0.005 | Browse the full 63-check catalog with severity + category |\n| `explain_check(check_id)` | $0.005 | Get description + remediation for one specific check |\n\n## Quick start\n\n```json\n{\n  \"mcpServers\": {\n    \"k8s-manifest-audit\": {\n      \"url\": \"https://unbearable-dev--k8s-manifest-audit.apify.actor/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer <YOUR_APIFY_TOKEN>\" }\n    }\n  }\n}\n```\n\n## Check catalog (sample — 63 checks total)\n\n| Check ID | Category | Severity (mapped) |\n|----------|----------|-------------------|\n| `privileged-container` | security | high |\n| `privilege-escalation-container` | security | high |\n| `run-as-non-root` | security | high |\n| `env-var-secret` | security | high |\n| `host-pid` / `host-ipc` / `host-network` | security | high |\n| `wildcard-in-rules` | rbac | high |\n| `cluster-admin-role-binding` | rbac | high |\n| `unset-cpu-requirements` | resources | medium |\n| `unset-memory-requirements` | resources | medium |\n| `no-liveness-probe` / `no-readiness-probe` | availability | medium |\n| `latest-tag` | images | medium |\n| `minimum-three-replicas` | availability | medium |\n| `no-rolling-update-strategy` | availability | medium |\n| `dangling-service` / `dangling-ingress` | config | low |\n| `use-namespace` | config | low |\n\nUse `list_checks` to get the full, up-to-date catalog.\n\n## Pricing\n\n| Event | USD |\n|-------|-----|\n| `audit_manifest` or `audit_directory` call | $0.02 |\n| `list_checks` or `explain_check` call | $0.005 |\n\nPowered by [kube-linter](https://github.com/stackrox/kube-linter) (MIT, StackRox/Red Hat).\n\n---\n\nBuilt by Noel @ Unbearable Labs — more like this in the [weekly newsletter](https://unbearabletechtips.beehiiv.com).\n",
  "bytes": 3073,
  "sha": "003ca618e031ef9f570492dc7dfcbde252cd519a9a6e1c7bac150f1beb3d9bb9",
  "repo_slug": "unbearabledev/k8s-manifest-audit",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_unbearabledev_k8s_manifest_aud_2eca474b/readme"
}