streamable-httpupdated 3mo ago
k8s-manifest-audit — static audit of Kubernetes manifests via MCP. Powered by kube-linter. Part of the Unbearable Labs audit shop.
Was kannst du mit Kubernetes Manifest Audit machen?
k8s-manifest-audit
k8s-manifest-audit — static audit of Kubernetes manifests via MCP. Powered by kube-linter. Part of the Unbearable Labs audit shop.
Built by Unbearable Labs. Pay-per-event pricing — only billed when a tool is actually called.
What it does
Point 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:
- Severity — high / medium / low / info
- Check ID — kube-linter check name (e.g.
privileged-container,unset-cpu-requirements) - Category — security / resources / availability / network / rbac / images / config
- Message — what kube-linter found and where
- Remediation hint — what to do about it
- Object location — kind, name, namespace of the offending resource
63 checks total (31 enabled by default). Covers Deployment, Service, Ingress, ConfigMap, Secret, StatefulSet, DaemonSet, Job, CronJob, NetworkPolicy, RBAC, HPA, PDB, and more.
Tools
| Tool | Pricing | Purpose |
|---|---|---|
audit_manifest(yaml_content) |
$0.02 | Audit a single YAML string (may contain multi-doc ---) |
audit_directory(files) |
$0.02 | Audit multiple files — cross-file checks work correctly |
list_checks(enabled_only=False) |
$0.005 | Browse the full 63-check catalog with severity + category |
explain_check(check_id) |
$0.005 | Get description + remediation for one specific check |
Quick start
{
"mcpServers": {
"k8s-manifest-audit": {
"url": "https://unbearable-dev--k8s-manifest-audit.apify.actor/mcp",
"headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
}
}
}
Check catalog (sample — 63 checks total)
| Check ID | Category | Severity (mapped) |
|---|---|---|
privileged-container |
security | high |
privilege-escalation-container |
security | high |
run-as-non-root |
security | high |
env-var-secret |
security | high |
host-pid / host-ipc / host-network |
security | high |
wildcard-in-rules |
rbac | high |
cluster-admin-role-binding |
rbac | high |
unset-cpu-requirements |
resources | medium |
unset-memory-requirements |
resources | medium |
no-liveness-probe / no-readiness-probe |
availability | medium |
latest-tag |
images | medium |
minimum-three-replicas |
availability | medium |
no-rolling-update-strategy |
availability | medium |
dangling-service / dangling-ingress |
config | low |
use-namespace |
config | low |
Use list_checks to get the full, up-to-date catalog.
Pricing
| Event | USD |
|---|---|
audit_manifest or audit_directory call |
$0.02 |
list_checks or explain_check call |
$0.005 |
Powered by kube-linter (MIT, StackRox/Red Hat).
Built by Noel @ Unbearable Labs — more like this in the weekly newsletter.
Installation
Kubernetes Manifest Audit zu deinem Client hinzufügen. Wähl den, den du nutzt.
claude mcp add --transport http kubernetes-manifest-audit https://unbearable-dev--k8s-manifest-audit.apify.actor/mcpcodex mcp add kubernetes-manifest-audit --url https://unbearable-dev--k8s-manifest-audit.apify.actor/mcp{
"mcpServers": {
"kubernetes-manifest-audit": {
"url": "https://unbearable-dev--k8s-manifest-audit.apify.actor/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"kubernetes-manifest-audit": {
"type": "http",
"url": "https://unbearable-dev--k8s-manifest-audit.apify.actor/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"kubernetes-manifest-audit": {
"url": "https://unbearable-dev--k8s-manifest-audit.apify.actor/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"kubernetes-manifest-audit": {
"serverUrl": "https://unbearable-dev--k8s-manifest-audit.apify.actor/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Unvollständig
- Dokumentation22/25
- Pflege13/25
- Vertrauen6/20
- Funktionsumfang0/15
- Installation12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 92 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Versionsverlauf
| Versionen | Veröffentlicht |
|---|---|
| 1.0.0Aktuell | 2. Juni 2026 |